Tests for module 'unistr/u8-strcmp'.
[gnulib.git] / ChangeLog
1 2010-01-10  Bruno Haible  <bruno@clisp.org>
2
3         Tests for module 'unistr/u8-strcmp'.
4         * modules/unistr/u8-strcmp-tests: New file.
5         * tests/unistr/test-u8-strcmp.c: New file.
6         * tests/unistr/test-u8-strcmp.h: New file.
7         * tests/unistr/test-strcmp.h: New file.
8
9         Tests for module 'unistr/u32-strncat'.
10         * modules/unistr/u32-strncat-tests: New file.
11         * tests/unistr/test-u32-strncat.c: New file.
12
13         Tests for module 'unistr/u16-strncat'.
14         * modules/unistr/u16-strncat-tests: New file.
15         * tests/unistr/test-u16-strncat.c: New file.
16
17         Tests for module 'unistr/u8-strncat'.
18         * modules/unistr/u8-strncat-tests: New file.
19         * tests/unistr/test-u8-strncat.c: New file.
20         * tests/unistr/test-strncat.h: New file.
21
22         Tests for module 'unistr/u32-strcat'.
23         * modules/unistr/u32-strcat-tests: New file.
24         * tests/unistr/test-u32-strcat.c: New file.
25
26         Tests for module 'unistr/u16-strcat'.
27         * modules/unistr/u16-strcat-tests: New file.
28         * tests/unistr/test-u16-strcat.c: New file.
29
30         Tests for module 'unistr/u8-strcat'.
31         * modules/unistr/u8-strcat-tests: New file.
32         * tests/unistr/test-u8-strcat.c: New file.
33         * tests/unistr/test-strcat.h: New file.
34
35         Tests for module 'unistr/u32-stpncpy'.
36         * modules/unistr/u32-stpncpy-tests: New file.
37         * tests/unistr/test-u32-stpncpy.c: New file.
38
39         Tests for module 'unistr/u16-stpncpy'.
40         * modules/unistr/u16-stpncpy-tests: New file.
41         * tests/unistr/test-u16-stpncpy.c: New file.
42
43         Tests for module 'unistr/u8-stpncpy'.
44         * modules/unistr/u8-stpncpy-tests: New file.
45         * tests/unistr/test-u8-stpncpy.c: New file.
46         * tests/unistr/test-stpncpy.h: New file.
47
48         Tests for module 'unistr/u32-strncpy'.
49         * modules/unistr/u32-strncpy-tests: New file.
50         * tests/unistr/test-u32-strncpy.c: New file.
51
52         Tests for module 'unistr/u16-strncpy'.
53         * modules/unistr/u16-strncpy-tests: New file.
54         * tests/unistr/test-u16-strncpy.c: New file.
55
56         Tests for module 'unistr/u8-strncpy'.
57         * modules/unistr/u8-strncpy-tests: New file.
58         * tests/unistr/test-u8-strncpy.c: New file.
59         * tests/unistr/test-strncpy.h: New file.
60
61         Tests for module 'unistr/u32-stpcpy'.
62         * modules/unistr/u32-stpcpy-tests: New file.
63         * tests/unistr/test-u32-stpcpy.c: New file.
64
65         Tests for module 'unistr/u16-stpcpy'.
66         * modules/unistr/u16-stpcpy-tests: New file.
67         * tests/unistr/test-u16-stpcpy.c: New file.
68
69         Tests for module 'unistr/u8-stpcpy'.
70         * modules/unistr/u8-stpcpy-tests: New file.
71         * tests/unistr/test-u8-stpcpy.c: New file.
72         * tests/unistr/test-stpcpy.h: New file.
73
74         Tests for module 'unistr/u32-strcpy'.
75         * modules/unistr/u32-strcpy-tests: New file.
76         * tests/unistr/test-u32-strcpy.c: New file.
77
78         Tests for module 'unistr/u16-strcpy'.
79         * modules/unistr/u16-strcpy-tests: New file.
80         * tests/unistr/test-u16-strcpy.c: New file.
81
82         Tests for module 'unistr/u8-strcpy'.
83         * modules/unistr/u8-strcpy-tests: New file.
84         * tests/unistr/test-u8-strcpy.c: New file.
85         * tests/unistr/test-strcpy.h: New file.
86
87         Tests for module 'unistr/u32-strnlen'.
88         * modules/unistr/u32-strnlen-tests: New file.
89         * tests/unistr/test-u32-strnlen.c: New file.
90
91         Tests for module 'unistr/u16-strnlen'.
92         * modules/unistr/u16-strnlen-tests: New file.
93         * tests/unistr/test-u16-strnlen.c: New file.
94
95         Tests for module 'unistr/u8-strnlen'.
96         * modules/unistr/u8-strnlen-tests: New file.
97         * tests/unistr/test-u8-strnlen.c: New file.
98         * tests/unistr/test-strnlen.h: New file.
99
100         Tests for module 'unistr/u32-strlen'.
101         * modules/unistr/u32-strlen-tests: New file.
102         * tests/unistr/test-u32-strlen.c: New file.
103
104         Tests for module 'unistr/u16-strlen'.
105         * modules/unistr/u16-strlen-tests: New file.
106         * tests/unistr/test-u16-strlen.c: New file.
107
108         Tests for module 'unistr/u8-strlen'.
109         * modules/unistr/u8-strlen-tests: New file.
110         * tests/unistr/test-u8-strlen.c: New file.
111
112         Tests for module 'unistr/u32-prev'.
113         * modules/unistr/u32-prev-tests: New file.
114         * tests/unistr/test-u32-prev.c: New file.
115
116         Tests for module 'unistr/u16-prev'.
117         * modules/unistr/u16-prev-tests: New file.
118         * tests/unistr/test-u16-prev.c: New file.
119
120         Tests for module 'unistr/u8-prev'.
121         * modules/unistr/u8-prev-tests: New file.
122         * tests/unistr/test-u8-prev.c: New file.
123
124         Tests for module 'unistr/u32-next'.
125         * modules/unistr/u32-next-tests: New file.
126         * tests/unistr/test-u32-next.c: New file.
127
128         Tests for module 'unistr/u16-next'.
129         * modules/unistr/u16-next-tests: New file.
130         * tests/unistr/test-u16-next.c: New file.
131
132         Tests for module 'unistr/u8-next'.
133         * modules/unistr/u8-next-tests: New file.
134         * tests/unistr/test-u8-next.c: New file.
135
136         Tests for module 'unistr/u32-strmbtouc'.
137         * modules/unistr/u32-strmbtouc-tests: New file.
138         * tests/unistr/test-u32-strmbtouc.c: New file.
139
140         Tests for module 'unistr/u16-strmbtouc'.
141         * modules/unistr/u16-strmbtouc-tests: New file.
142         * tests/unistr/test-u16-strmbtouc.c: New file.
143
144         Tests for module 'unistr/u8-strmbtouc'.
145         * modules/unistr/u8-strmbtouc-tests: New file.
146         * tests/unistr/test-u8-strmbtouc.c: New file.
147
148         Tests for module 'unistr/u32-strmblen'.
149         * modules/unistr/u32-strmblen-tests: New file.
150         * tests/unistr/test-u32-strmblen.c: New file.
151
152         Tests for module 'unistr/u16-strmblen'.
153         * modules/unistr/u16-strmblen-tests: New file.
154         * tests/unistr/test-u16-strmblen.c: New file.
155
156         Tests for module 'unistr/u8-strmblen'.
157         * modules/unistr/u8-strmblen-tests: New file.
158         * tests/unistr/test-u8-strmblen.c: New file.
159
160         Tests for module 'unistr/u32-cpy-alloc'.
161         * modules/unistr/u32-cpy-alloc-tests: New file.
162         * tests/unistr/test-u32-cpy-alloc.c: New file.
163
164         Tests for module 'unistr/u16-cpy-alloc'.
165         * modules/unistr/u16-cpy-alloc-tests: New file.
166         * tests/unistr/test-u16-cpy-alloc.c: New file.
167
168         Tests for module 'unistr/u8-cpy-alloc'.
169         * modules/unistr/u8-cpy-alloc-tests: New file.
170         * tests/unistr/test-u8-cpy-alloc.c: New file.
171         * tests/unistr/test-cpy-alloc.h: New file.
172
173         Tests for module 'unistr/u32-mbsnlen'.
174         * modules/unistr/u32-mbsnlen-tests: New file.
175         * tests/unistr/test-u32-mbsnlen.c: New file.
176
177         Tests for module 'unistr/u16-mbsnlen'.
178         * modules/unistr/u16-mbsnlen-tests: New file.
179         * tests/unistr/test-u16-mbsnlen.c: New file.
180
181         Tests for module 'unistr/u8-mbsnlen'.
182         * modules/unistr/u8-mbsnlen-tests: New file.
183         * tests/unistr/test-u8-mbsnlen.c: New file.
184
185         Tests for module 'unistr/u32-chr'.
186         * modules/unistr/u32-chr-tests: New file.
187         * tests/unistr/test-u32-chr.c: New file.
188
189         Tests for module 'unistr/u16-chr'.
190         * modules/unistr/u16-chr-tests: New file.
191         * tests/unistr/test-u16-chr.c: New file.
192
193         Tests for module 'unistr/u8-chr'.
194         * modules/unistr/u8-chr-tests: New file.
195         * tests/unistr/test-u8-chr.c: New file.
196         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
197
198         Tests for module 'unistr/u32-cmp2'.
199         * modules/unistr/u32-cmp2-tests: New file.
200         * tests/unistr/test-u32-cmp2.c: New file.
201
202         Tests for module 'unistr/u16-cmp2'.
203         * modules/unistr/u16-cmp2-tests: New file.
204         * tests/unistr/test-u16-cmp2.c: New file.
205
206         Tests for module 'unistr/u8-cmp2'.
207         * modules/unistr/u8-cmp2-tests: New file.
208         * tests/unistr/test-u8-cmp2.c: New file.
209         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
210
211         Tests for module 'unistr/u32-cmp'.
212         * modules/unistr/u32-cmp-tests: New file.
213         * tests/unistr/test-u32-cmp.c: New file.
214
215         Tests for module 'unistr/u16-cmp'.
216         * modules/unistr/u16-cmp-tests: New file.
217         * tests/unistr/test-u16-cmp.c: New file.
218
219         Tests for module 'unistr/u8-cmp'.
220         * modules/unistr/u8-cmp-tests: New file.
221         * tests/unistr/test-u8-cmp.c: New file.
222         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
223
224         Tests for module 'unistr/u32-set'.
225         * modules/unistr/u32-set-tests: New file.
226         * tests/unistr/test-u32-set.c: New file.
227
228         Tests for module 'unistr/u16-set'.
229         * modules/unistr/u16-set-tests: New file.
230         * tests/unistr/test-u16-set.c: New file.
231
232         Tests for module 'unistr/u8-set'.
233         * modules/unistr/u8-set-tests: New file.
234         * tests/unistr/test-u8-set.c: New file.
235         * tests/unistr/test-set.h: New file.
236
237         Tests for module 'unistr/u32-move'.
238         * modules/unistr/u32-move-tests: New file.
239         * tests/unistr/test-u32-move.c: New file.
240
241         Tests for module 'unistr/u16-move'.
242         * modules/unistr/u16-move-tests: New file.
243         * tests/unistr/test-u16-move.c: New file.
244
245         Tests for module 'unistr/u8-move'.
246         * modules/unistr/u8-move-tests: New file.
247         * tests/unistr/test-u8-move.c: New file.
248         * tests/unistr/test-move.h: New file.
249
250         Tests for module 'unistr/u32-cpy'.
251         * modules/unistr/u32-cpy-tests: New file.
252         * tests/unistr/test-u32-cpy.c: New file.
253
254         Tests for module 'unistr/u16-cpy'.
255         * modules/unistr/u16-cpy-tests: New file.
256         * tests/unistr/test-u16-cpy.c: New file.
257
258         Tests for module 'unistr/u8-cpy'.
259         * modules/unistr/u8-cpy-tests: New file.
260         * tests/unistr/test-u8-cpy.c: New file.
261         * tests/unistr/test-cpy.h: New file.
262
263 2010-01-09  Bruno Haible  <bruno@clisp.org>
264
265         Tests for module 'unistr/u32-uctomb'.
266         * modules/unistr/u32-uctomb-tests: New file.
267         * tests/unistr/test-u32-uctomb.c: New file.
268
269         Tests for module 'unistr/u16-uctomb'.
270         * modules/unistr/u16-uctomb-tests: New file.
271         * tests/unistr/test-u16-uctomb.c: New file.
272
273         Tests for module 'unistr/u8-uctomb'.
274         * modules/unistr/u8-uctomb-tests: New file.
275         * tests/unistr/test-u8-uctomb.c: New file.
276
277         Tests for module 'unistr/u32-mbtoucr'.
278         * modules/unistr/u32-mbtoucr-tests: New file.
279         * tests/unistr/test-u32-mbtoucr.c: New file.
280
281         Tests for module 'unistr/u16-mbtoucr'.
282         * modules/unistr/u16-mbtoucr-tests: New file.
283         * tests/unistr/test-u16-mbtoucr.c: New file.
284
285         Tests for module 'unistr/u8-mbtoucr'.
286         * modules/unistr/u8-mbtoucr-tests: New file.
287         * tests/unistr/test-u8-mbtoucr.c: New file.
288
289         Tests for module 'unistr/u32-mbtouc'.
290         * modules/unistr/u32-mbtouc-tests: New file.
291         * tests/unistr/test-u32-mbtouc.c: New file.
292
293         Tests for module 'unistr/u16-mbtouc'.
294         * modules/unistr/u16-mbtouc-tests: New file.
295         * tests/unistr/test-u16-mbtouc.c: New file.
296
297         Tests for module 'unistr/u8-mbtouc'.
298         * modules/unistr/u8-mbtouc-tests: New file.
299         * tests/unistr/test-u8-mbtouc.c: New file.
300
301         Tests for module 'unistr/u32-mbtouc-unsafe'.
302         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
303         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
304         * tests/unistr/test-u32-mbtouc.h: New file.
305
306         Tests for module 'unistr/u16-mbtouc-unsafe'.
307         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
308         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
309         * tests/unistr/test-u16-mbtouc.h: New file.
310
311         Tests for module 'unistr/u8-mbtouc-unsafe'.
312         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
313         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
314         * tests/unistr/test-u8-mbtouc.h: New file.
315
316         Tests for module 'unistr/u32-mblen'.
317         * modules/unistr/u32-mblen-tests: New file.
318         * tests/unistr/test-u32-mblen.c: New file.
319
320         Tests for module 'unistr/u16-mblen'.
321         * modules/unistr/u16-mblen-tests: New file.
322         * tests/unistr/test-u16-mblen.c: New file.
323
324         Tests for module 'unistr/u8-mblen'.
325         * modules/unistr/u8-mblen-tests: New file.
326         * tests/unistr/test-u8-mblen.c: New file.
327
328         Tests for module 'unistr/u32-to-u16'.
329         * modules/unistr/u32-to-u16-tests: New file.
330         * tests/unistr/test-u32-to-u16.c: New file.
331
332         Tests for module 'unistr/u32-to-u8'.
333         * modules/unistr/u32-to-u8-tests: New file.
334         * tests/unistr/test-u32-to-u8.c: New file.
335
336         Tests for module 'unistr/u16-to-u32'.
337         * modules/unistr/u16-to-u32-tests: New file.
338         * tests/unistr/test-u16-to-u32.c: New file.
339
340         Tests for module 'unistr/u16-to-u8'.
341         * modules/unistr/u16-to-u8-tests: New file.
342         * tests/unistr/test-u16-to-u8.c: New file.
343
344         Tests for module 'unistr/u8-to-u32'.
345         * modules/unistr/u8-to-u32-tests: New file.
346         * tests/unistr/test-u8-to-u32.c: New file.
347
348         Tests for module 'unistr/u8-to-u16'.
349         * modules/unistr/u8-to-u16-tests: New file.
350         * tests/unistr/test-u8-to-u16.c: New file.
351
352         Tests for module 'unistr/u32-check'.
353         * modules/unistr/u32-check-tests: New file.
354         * tests/unistr/test-u32-check.c: New file.
355
356         Tests for module 'unistr/u16-check'.
357         * modules/unistr/u16-check-tests: New file.
358         * tests/unistr/test-u16-check.c: New file.
359
360         Tests for module 'unistr/u8-check'.
361         * modules/unistr/u8-check-tests: New file.
362         * tests/unistr/test-u8-check.c: New file.
363
364         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
365         (category_equals): New function.
366         (main): Add more tests.
367         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
368
369         * tests/unictype/test-bidi_byname.c (main): Add more tests.
370
371 2010-01-10  Bruno Haible  <bruno@clisp.org>
372
373         unistr/u*-strcoll: Try harder to distinguish different strings.
374         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
375         compare s1 and s2 to see if they are different.
376
377 2010-01-10  Bruno Haible  <bruno@clisp.org>
378
379         unistr/u*-stpncpy: Fix the return value.
380         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
381         description of the return value consistent with stpncpy in glibc.
382         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
383         written non-NUL unit.
384
385 2010-01-10  Bruno Haible  <bruno@clisp.org>
386
387         unistr/u*-next: Add missing dependencies.
388         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
389         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
390         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
391
392 2010-01-10  Bruno Haible  <bruno@clisp.org>
393
394         unistr/u8-mbsnlen: Fix return value for incomplete character.
395         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
396         u8_mblen.
397         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
398         Remove unistr/u8-mblen.
399         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
400         u16_mblen.
401         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
402         Remove unistr/u16-mblen.
403
404 2010-01-10  Bruno Haible  <bruno@clisp.org>
405
406         wchar: Fix compilation error when <wchar.h> is used from coreutils.
407         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
408         Reported by Brian Gough <bjg@gnu.org> and
409         Chris Clayton <chris2553@googlemail.com> via
410         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
411
412 2010-01-09  Bruno Haible  <bruno@clisp.org>
413
414         unistr/u16-to-u32: Reject invalid input.
415         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
416         u16_mbtouc.
417         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
418         Remove unistr/u16-mbtouc.
419
420         unistr/u16-to-u8: Reject invalid input.
421         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
422         u16_mbtouc.
423         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
424         Remove unistr/u16-mbtouc.
425
426         unistr/u8-to-u32: Reject invalid input.
427         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
428         u8_mbtouc.
429         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
430         Remove unistr/u8-mbtouc.
431
432         unistr/u8-to-u16: Reject invalid input.
433         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
434         u8_mbtouc.
435         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
436         Remove unistr/u8-mbtouc.
437
438 2010-01-09  Bruno Haible  <bruno@clisp.org>
439
440         Tests for module 'getlogin'.
441         * modules/getlogin-tests: New file.
442         * tests/test-getlogin.c: New file.
443
444         New module 'getlogin'.
445         * lib/unistd.in.h (getlogin): New declaration.
446         * lib/getlogin.c: New file.
447         * m4/getlogin.m4: New file.
448         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
449         HAVE_GETLOGIN.
450         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
451         HAVE_GETLOGIN.
452         * modules/getlogin: New file.
453         * doc/posix-functions/getlogin.texi: Mention the new module.
454         Reported by John W. Eaton <jwe@gnu.org>.
455
456 2010-01-09  Bruno Haible  <bruno@clisp.org>
457
458         getlogin_r: Support for native Windows.
459         * lib/getlogin_r.c: Include <windows.h>
460         (getlogin_r): Implement for native Windows.
461         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
462         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
463         via John W. Eaton <jwe@gnu.org>.
464
465 2010-01-09  Bruno Haible  <bruno@clisp.org>
466
467         getlogin_r: Small fixes.
468         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
469         succeeds.
470         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
471         before testing whether getlogin_r is declared. No need to set
472         HAVE_DECL_GETLOGIN_R to 1.
473         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
474
475 2010-01-09  Bruno Haible  <bruno@clisp.org>
476
477         * lib/unistd.in.h (getlogin_r): Add comment.
478
479 2010-01-09  Bruno Haible  <bruno@clisp.org>
480
481         Tests for module 'getlogin_r'.
482         * modules/getlogin_r-tests: New file.
483         * tests/test-getlogin_r.c: New file.
484
485 2010-01-09  Jim Meyering  <meyering@redhat.com>
486
487         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
488         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
489         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
490
491 2010-01-08  Simon Josefsson  <simon@josefsson.org>
492
493         * lib/dup2.c (rpl_dup2): Improve comment.
494
495 2010-01-08  Eric Blake  <ebb9@byu.net>
496
497         maint.mk: allow packages to add makefile @@ exceptions
498         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
499         (sc_makefile_check): Rename...
500         (sc_makefile_at_at_check): ...to this, and use hook.
501
502         dup2: work around mingw bug
503         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
504         Reported by Simon Josefsson.
505
506 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
507
508         glob: Fix C++ compilation.
509         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
510         C++.
511
512 2010-01-07  Bruno Haible  <bruno@clisp.org>
513
514         Fix indentation of wctype.in.h, broken since 2007-01-06.
515         * lib/wctype.in.h: Fix indentation of preprocessor directives.
516
517 2010-01-07  Bruno Haible  <bruno@clisp.org>
518
519         mbslen: Avoid collision with system function.
520         * lib/string.in.h [MirBSD]: Include <wchar.h>.
521         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
522         * m4/mbslen.m4: New file.
523         * modules/mbslen (Files): Add it.
524         (configure.ac): Invoke gl_MBSLEN.
525         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
526         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
527         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
528         via Ian Beckwith <ianb@erislabs.net>.
529
530 2010-01-07  Bruno Haible  <bruno@clisp.org>
531
532         dirent: Document the last fix.
533         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
534
535 2010-01-07  Bruno Haible  <bruno@clisp.org>
536
537         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
538         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
539         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
540         va_list are defined.
541         * doc/posix-headers/stdio.texi: Document the bug of missing types.
542         Reported by Eric Blake.
543
544 2010-01-07  Bruno Haible  <bruno@clisp.org>
545
546         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
547         * modules/xlist (Depends-on): Add 'list',
548         * modules/xoset (Depends-on): Add 'oset'.
549         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
550
551 2010-01-07  Bruno Haible  <bruno@clisp.org>
552
553         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
554         * doc/posix-functions/strncasecmp.texi: Likewise.
555
556 2010-01-07  Bruno Haible  <bruno@clisp.org>
557
558         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
559
560 2010-01-07  John W. Eaton  <jwe@octave.org>
561
562         wctype: allow C++ use
563         * lib/wctype.in.h: Add extern "C" block for C++.
564
565 2010-01-06  Eric Blake  <ebb9@byu.net>
566
567         maint.mk: detect incorrect GFDL usage
568         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
569
570 2010-01-06  Jim Meyering  <meyering@redhat.com>
571         and Eric Blake  <ebb9@byu.net>
572
573         maint.mk: ignore multi-line copyright in NEWS
574         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
575
576 2010-01-06  Eric Blake  <ebb9@byu.net>
577
578         select: add missing dependency
579         * modules/select-tests (Depends-on): Move sockets dependency...
580         * modules/select (Depends-on): ...here.
581         Reported by Ian Beckwith.
582
583         doc: regenerate INSTALL
584         * doc/INSTALL: Reflect recent autoconf update.
585         * doc/INSTALL.ISO: Likewise.
586         * doc/INSTALL.UTF-8: Likewise.
587
588         pread: fix compilation on glibc
589         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
590         Reported by Ralf Wildenhues.
591
592         dirent: fix test failure
593         * lib/dirent.in.h (includes): Guarantee ino_t.
594         Reported by Ralf Wildenhues.
595
596 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
597
598         linkat, renameat: avoid bad free
599         * lib/at-func2.c (at_func2): Fix typo.
600         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
601
602 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
603
604         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
605         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
606         to avoid failure of symlink test later.
607
608 2010-01-06  Eric Blake  <ebb9@byu.net>
609
610         stdio, unistd: guarantee ssize_t
611         * lib/unistd.in.h (includes): Ensure that types required by POSIX
612         2008 are exposed when needed.
613         * lib/stdio.in.h (includes): Likewise.
614         Reported by Ralf Wildenhues.
615
616 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
617
618         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
619         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
620         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
621
622 2010-01-06  Jim Meyering  <meyering@redhat.com>
623
624         readtokens: this module *does* require xalloc.h
625         It uses only functions that were omitted by the old syntax-check rule.
626         * lib/readtokens.c: Include "xalloc.h" once again.
627         * modules/readtokens (Depends-on): Add xalloc.
628         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
629
630 2010-01-05  Eric Blake  <ebb9@byu.net>
631
632         maint: support 'make announcement' from a VPATH build
633         * top/maint.mk (announcement): Look for correct NEWS file.
634
635 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
636
637         utimens (fdutimens): ignore a negative FD, per contract
638         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
639         when we have a valid file descriptor.  Otherwise, using a brand
640         new glibc (with just-patched futimens that now fails with EBADF)
641         would cause this function to fail with ENOSYS.
642         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
643         See also http://bugzilla.redhat.com/552320.
644
645 2010-01-05  Eric Blake  <ebb9@byu.net>
646
647         strcase: document what it provides
648         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
649         gnulib module.
650         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
651         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
652
653 2010-01-05  Jim Meyering  <meyering@redhat.com>
654
655         maint: remove useless inclusions of "xalloc.h"
656         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
657         * lib/readtokens.c: Likewise.
658         * lib/same.c: Likewise.
659         * modules/getloadavg (Depends-on): Remove xalloc.
660         * modules/readtokens: Likewise.
661         * modules/same: Likewise.
662
663         maint.mk: include 4 more function names in alloca.h-checking regexp
664         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
665         regexp.  Before, we would give a false-positive (saying alloca.h
666         is included unnecessarily) when the only uses involved omitted symbols.
667
668         xalloc.h: use consistent formatting
669         * lib/xalloc.h: Move declarations to start in the first column.
670
671 2010-01-05  Eric Blake  <ebb9@byu.net>
672
673         mkdir: avoid xalloc
674         * lib/mkdir.c (includes): Drop unused header.
675         Reported by John W. Eaton.
676
677 2010-01-04  Jim Meyering  <meyering@redhat.com>
678
679         nl_langinfo: avoid configure-time syntax error
680         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
681         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
682         the empty string.  Don't let that provoke a shell syntax error.
683
684         regcomp, regexec, fnmatch: avoid array bounds read error
685         * lib/regcomp.c (build_equiv_class): From glibc:
686         Use only the low 24 bits of a findidx return value as an index
687         into the weights array.  Patch by Ulrich Drepper:
688         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
689         * lib/regexec.c (check_node_accept_bytes): Likewise.
690         * lib/fnmatch_loop.c (FCT): Likewise.
691
692         regcomp: skip collseq lookup when there are no rules
693         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
694         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
695
696         regcomp: recognize ill-formed { } expressions
697         * lib/regcomp.c (parse_dup_op): From glibc:
698         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
699
700         regcomp: fix typo in comment
701         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
702         s/satisfy/satisfies/.
703
704         regcomp: sync from glibc: remove dead store
705         * lib/regcomp.c (duplicate_node_closure): Remove useless
706         search_duplicated_node call and dead store.
707
708         regcomp: sync from glibc; always use nl_langinfo
709         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
710         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
711         * modules/regex (Depends-on): Add nl_langinfo.
712
713 2010-01-04  Eric Blake  <ebb9@byu.net>
714
715         fdopendir: fix configure test
716         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
717
718 2010-01-01  Bruno Haible  <bruno@clisp.org>
719
720         wchar: Remove unused configure check.
721         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
722
723 2010-01-01  Eric Blake  <ebb9@byu.net>
724
725         headers: make check of system header explicit
726         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
727         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
728         ourselves.
729         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
730         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
731         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
732         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
733         internals.
734         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
735         missing.
736         Suggested by Bruno Haible.
737
738 2010-01-01  Jim Meyering  <meyering@redhat.com>
739
740         ChangeLog: tweak to eliminate unnecessary copyright line
741         * ChangeLog: Remove a copyright line that was mistakenly updated
742         by today's update-copyright run.  Reported by Eric Blake.
743
744         test-update-copyright: don't let envvar setting cause test failure
745         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
746
747 2010-01-01  Bruno Haible  <bruno@clisp.org>
748
749         localename: Avoid gcc warning.
750         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
751         function if it is not used.
752
753 2010-01-01  Jim Meyering  <meyering@redhat.com>
754
755         update nearly all FSF copyright year lists to include 2010
756         Use the same procedure as for 2009, outlined in
757         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
758
759         version-etc: set COPYRIGHT_YEAR to 2010
760         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
761
762 2009-12-31  Eric Blake  <ebb9@byu.net>
763
764         doc: correct availability of cygwin 1.5.x getopt
765         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
766         variables.
767         * doc/posix-functions/opterr.texi (opterr): Likewise.
768         * doc/posix-functions/optind.texi (optind): Likewise.
769         * doc/posix-functions/optopt.texi (optopt): Likewise.
770         * doc/posix-functions/tzname.texi (tzname): Likewise.
771
772         openat: update maintainer
773         * modules/openat (Maintainer): Add myself.
774
775         utimens: avoid shadowing warning
776         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
777         buffers into one, to avoid shadowing, as well as avoiding a
778         redundant stat.
779         Reported by Jim Meyering.
780
781         test-dup2: avoid compiler warning
782         * tests/test-dup2.c (is_inheritable): Only define if used.
783
784 2010-01-01  Bruno Haible  <bruno@clisp.org>
785
786         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
787         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
788         defined, use wctomb instead of wcrtomb.
789
790 2010-01-01  Bruno Haible  <bruno@clisp.org>
791
792         iconv: Reject native Solaris iconv.
793         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
794         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
795
796 2009-12-31  Bruno Haible  <bruno@clisp.org>
797
798         * tests/test-signal.c (main): Remove test of 'SIG'.
799
800 2009-12-31  Bruno Haible  <bruno@clisp.org>
801
802         spawn: Fix incomplete fix.
803         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
804         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
805         warnings for GNULIB_POSIXCHECK again.
806         Reported by Eric Blake.
807
808 2009-12-31  Bruno Haible  <bruno@clisp.org>
809
810         Avoid namespace pollution on glibc systems.
811         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
812         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
813         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
814         glibc systems.
815
816 2009-12-31  Bruno Haible  <bruno@clisp.org>
817
818         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
819         (gl_REPLACE_WCHAR_H): Turn into a no-op.
820         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
821         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
822         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
823         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
824         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
825
826 2009-12-31  Bruno Haible  <bruno@clisp.org>
827
828         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
829         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
830         afterwards.
831
832 2009-12-31  Bruno Haible  <bruno@clisp.org>
833
834         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
835         SYS_UTSNAME_H.
836
837 2009-12-31  Bruno Haible  <bruno@clisp.org>
838
839         spawn: Fix misapplied patch.
840         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
841         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
842         warnings for GNULIB_POSIXCHECK.
843
844 2009-12-31  Bruno Haible  <bruno@clisp.org>
845
846         times: Update after sys_times changed.
847         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
848         * modules/times (Files): Add it.
849         (configure.ac): Invoke gl_FUNC_TIMES.
850
851 2009-12-31  Bruno Haible  <bruno@clisp.org>
852
853         Use AC_C_INLINE where necessary.
854         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
855         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
856         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
857         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
858         * m4/mbfile.m4 (gl_MBFILE): Likewise.
859         * m4/mbiter.m4 (gl_MBITER): Likewise.
860         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
861         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
862         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
863         * modules/u64 (configure.ac): Likewise.
864
865 2009-12-31  Bruno Haible  <bruno@clisp.org>
866
867         Use AC_C_INLINE instead of module 'inline' where possible.
868         * modules/inline (Description): Clarify purpose.
869         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
870         * modules/count-one-bits (Depends-on): Remove inline.
871         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
872         * modules/openat (Depends-on): Remove inline.
873         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
874         instead of depending on module 'inline'.
875         * modules/filevercmp (Depends-on, configure.ac): Likewise.
876         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
877         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
878         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
879         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
880         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
881         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
882         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
883         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
884         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
885         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
886         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
887         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
888         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
889         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
890         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
891         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
892         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
893         Likewise.
894         * modules/unictype/property-ascii-hex-digit (Depends-on,
895         configure.ac): Likewise.
896         * modules/unictype/property-bidi-arabic-digit (Depends-on,
897         configure.ac): Likewise.
898         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
899         configure.ac): Likewise.
900         * modules/unictype/property-bidi-block-separator (Depends-on,
901         configure.ac): Likewise.
902         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
903         configure.ac): Likewise.
904         * modules/unictype/property-bidi-common-separator (Depends-on,
905         configure.ac): Likewise.
906         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
907         Likewise.
908         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
909         configure.ac): Likewise.
910         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
911         configure.ac): Likewise.
912         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
913         configure.ac): Likewise.
914         * modules/unictype/property-bidi-european-digit (Depends-on,
915         configure.ac): Likewise.
916         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
917         configure.ac): Likewise.
918         * modules/unictype/property-bidi-left-to-right (Depends-on,
919         configure.ac): Likewise.
920         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
921         configure.ac): Likewise.
922         * modules/unictype/property-bidi-other-neutral (Depends-on,
923         configure.ac): Likewise.
924         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
925         Likewise.
926         * modules/unictype/property-bidi-segment-separator (Depends-on,
927         configure.ac): Likewise.
928         * modules/unictype/property-bidi-whitespace (Depends-on,
929         configure.ac): Likewise.
930         * modules/unictype/property-combining (Depends-on, configure.ac):
931         Likewise.
932         * modules/unictype/property-composite (Depends-on, configure.ac):
933         Likewise.
934         * modules/unictype/property-currency-symbol (Depends-on,
935         configure.ac): Likewise.
936         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
937         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
938         Likewise.
939         * modules/unictype/property-default-ignorable-code-point (Depends-on,
940         configure.ac): Likewise.
941         * modules/unictype/property-deprecated (Depends-on, configure.ac):
942         Likewise.
943         * modules/unictype/property-diacritic (Depends-on, configure.ac):
944         Likewise.
945         * modules/unictype/property-extender (Depends-on, configure.ac):
946         Likewise.
947         * modules/unictype/property-format-control (Depends-on, configure.ac):
948         Likewise.
949         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
950         Likewise.
951         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
952         Likewise.
953         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
954         Likewise.
955         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
956         Likewise.
957         * modules/unictype/property-hyphen (Depends-on, configure.ac):
958         Likewise.
959         * modules/unictype/property-id-continue (Depends-on, configure.ac):
960         Likewise.
961         * modules/unictype/property-id-start (Depends-on, configure.ac):
962         Likewise.
963         * modules/unictype/property-ideographic (Depends-on, configure.ac):
964         Likewise.
965         * modules/unictype/property-ids-binary-operator (Depends-on,
966         configure.ac): Likewise.
967         * modules/unictype/property-ids-trinary-operator (Depends-on,
968         configure.ac): Likewise.
969         * modules/unictype/property-ignorable-control (Depends-on,
970         configure.ac): Likewise.
971         * modules/unictype/property-iso-control (Depends-on, configure.ac):
972         Likewise.
973         * modules/unictype/property-join-control (Depends-on, configure.ac):
974         Likewise.
975         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
976         Likewise.
977         * modules/unictype/property-line-separator (Depends-on, configure.ac):
978         Likewise.
979         * modules/unictype/property-logical-order-exception (Depends-on,
980         configure.ac): Likewise.
981         * modules/unictype/property-lowercase (Depends-on, configure.ac):
982         Likewise.
983         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
984         * modules/unictype/property-non-break (Depends-on, configure.ac):
985         Likewise.
986         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
987         Likewise.
988         * modules/unictype/property-numeric (Depends-on, configure.ac):
989         Likewise.
990         * modules/unictype/property-other-alphabetic (Depends-on,
991         configure.ac): Likewise.
992         * modules/unictype/property-other-default-ignorable-code-point
993         (Depends-on, configure.ac): Likewise.
994         * modules/unictype/property-other-grapheme-extend (Depends-on,
995         configure.ac): Likewise.
996         * modules/unictype/property-other-id-continue (Depends-on,
997         configure.ac): Likewise.
998         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
999         Likewise.
1000         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
1001         Likewise.
1002         * modules/unictype/property-other-math (Depends-on, configure.ac):
1003         Likewise.
1004         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
1005         Likewise.
1006         * modules/unictype/property-paired-punctuation (Depends-on,
1007         configure.ac): Likewise.
1008         * modules/unictype/property-paragraph-separator (Depends-on,
1009         configure.ac): Likewise.
1010         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
1011         Likewise.
1012         * modules/unictype/property-pattern-white-space (Depends-on,
1013         configure.ac): Likewise.
1014         * modules/unictype/property-private-use (Depends-on, configure.ac):
1015         Likewise.
1016         * modules/unictype/property-punctuation (Depends-on, configure.ac):
1017         Likewise.
1018         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
1019         Likewise.
1020         * modules/unictype/property-radical (Depends-on, configure.ac):
1021         Likewise.
1022         * modules/unictype/property-sentence-terminal (Depends-on,
1023         configure.ac): Likewise.
1024         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
1025         Likewise.
1026         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
1027         * modules/unictype/property-terminal-punctuation (Depends-on,
1028         configure.ac): Likewise.
1029         * modules/unictype/property-titlecase (Depends-on, configure.ac):
1030         Likewise.
1031         * modules/unictype/property-unassigned-code-value (Depends-on,
1032         configure.ac): Likewise.
1033         * modules/unictype/property-unified-ideograph (Depends-on,
1034         configure.ac): Likewise.
1035         * modules/unictype/property-uppercase (Depends-on, configure.ac):
1036         Likewise.
1037         * modules/unictype/property-variation-selector (Depends-on,
1038         configure.ac): Likewise.
1039         * modules/unictype/property-white-space (Depends-on, configure.ac):
1040         Likewise.
1041         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
1042         Likewise.
1043         * modules/unictype/property-xid-start (Depends-on, configure.ac):
1044         Likewise.
1045         * modules/unictype/property-zero-width (Depends-on, configure.ac):
1046         Likewise.
1047         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
1048         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
1049         Likewise.
1050
1051 2009-12-31  Bruno Haible  <bruno@clisp.org>
1052
1053         Remove unnecessary AC_C_INLINE invocation.
1054         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
1055         since 2009-08-21.
1056
1057 2009-12-31  Jim Meyering  <meyering@redhat.com>
1058
1059         maint.mk: don't require explicit gpg_key_ID in cfg.mk
1060         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
1061         With this change, we can all remove the gpg_key_ID = ... definition
1062         from our respective cfg.mk files.
1063
1064         maint.mk: create announcement template in ~/, not in /tmp
1065         * top/maint.mk (emit_upload_commands): Adjust.
1066         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
1067         Remove temporary file, .ci-msg.
1068
1069 2009-12-31  Eric Blake  <ebb9@byu.net>
1070
1071         link-warning: always build headers with link warnings
1072         * modules/arpa_inet (Makefile.am): Always build replacement
1073         header.
1074         * modules/ctype (Makefile.am): Likewise.
1075         * modules/dirent (Makefile.am): Likewise.
1076         * modules/inttypes (Makefile.am): Likewise.
1077         * modules/langinfo (Makefile.am): Likewise.
1078         * modules/locale (Makefile.am): Likewise.
1079         * modules/spawn (Makefile.am): Likewise.
1080         * modules/sys_file (Makefile.am): Likewise.
1081         * modules/sys_ioctl (Makefile.am): Likewise.
1082         * modules/sys_select (Makefile.am): Likewise.
1083         * modules/sys_socket (Makefile.am): Likewise.
1084         * modules/sys_times (Makefile.am): Likewise.
1085         * modules/sys_utsname (Makefile.am): Likewise.
1086         * modules/sys_wait (Makefile.am): Likewise.
1087         * modules/wchar (Makefile.am): Likewise.
1088         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
1089         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
1090         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
1091         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
1092         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
1093         Likewise.
1094         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
1095         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
1096         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
1097         Likewise.
1098         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
1099         Likewise.
1100         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
1101         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
1102         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
1103         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
1104         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
1105         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
1106         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
1107         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
1108         (gl_WCHAR_H_DEFAULTS): Likewise.
1109
1110 2009-12-31  Eric Blake  <ebb9@byu.net>
1111
1112         signal, spawn: use link warnings
1113         * lib/signal.in.h (sigset_t): Make unconditional.
1114         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
1115         (sigpending, sigprocmask, sigaction): Add link warnings.
1116         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
1117         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
1118         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
1119         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
1120         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
1121         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
1122         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
1123         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
1124         (posix_spawn_file_actions_destroy)
1125         (posix_spawn_file_actions_addopen)
1126         (posix_spawn_file_actions_addclose)
1127         (posix_spawwn_file_actions_adddup2): Likewise.
1128         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
1129         * tests/test-signal.c (main): Enhance test.
1130
1131         spawn: improve wrapper support
1132         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
1133         (gl_SPAWN_H_DEFAULTS): New defaults.
1134         * modules/spawn (Makefile.am): Substitute them.
1135         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
1136         Only declare if missing or broken.
1137
1138         sys_times, sys_utsname: use include_next
1139         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
1140         header.
1141         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
1142         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
1143         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
1144         * modules/sys_times (Depends-on): Add include_next.
1145         (Makefile.am): Substitute additional values.
1146         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
1147         * lib/sys_times.in.h (includes): Include native header, if
1148         available.
1149         * lib/sys_utsname.in.h (includes): Likewise.
1150         * tests/test-sys_times.c (main): Enhance test.
1151
1152         fdutimensat: revert prior patch
1153         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
1154         utimens.h.
1155         Reported by Bruno Haible.
1156
1157 2009-12-30  Eric Blake  <ebb9@byu.net>
1158
1159         sys_wait: drop link-warning dependency
1160         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
1161         link-warning efforts.
1162         * lib/sys_wait.in.h: Likewise.
1163
1164         fdutimensat: remove bogus dependency
1165         * modules/fdutimensat (Depends-on): Drop inline.
1166
1167         unistd: fix typo
1168         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
1169
1170 2009-12-30  Bruno Haible  <bruno@clisp.org>
1171
1172         Fix compilation error with Solaris cc.
1173         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
1174         * lib/unicase/u16-is-invariant.c: Likewise.
1175         * lib/unicase/u32-is-invariant.c: Likewise.
1176         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
1177
1178 2009-12-30  Bruno Haible  <bruno@clisp.org>
1179
1180         Fix test crash.
1181         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
1182         locales.
1183         Reported by Simon Josefsson <simon@josefsson.org>.
1184
1185 2009-12-30  Bruno Haible  <bruno@clisp.org>
1186
1187         Fix compilation error on most platforms.
1188         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
1189         Reported by Simon Josefsson <simon@josefsson.org>
1190         and Nelson H. F. Beebe <beebe@math.utah.edu>.
1191
1192 2009-12-30  Eric Blake  <ebb9@byu.net>
1193
1194         futimens, utimensat: work around ntfs-3g bug
1195         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
1196         a ctime bug is present, and expand workaround to cover ntfs-3g.
1197         * lib/utimens.c (fdutimens, lutimens): Likewise.
1198         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
1199         (validate_timespec): Adjust return value.
1200         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
1201         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
1202         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
1203
1204 2009-12-29  Eric Blake  <ebb9@byu.net>
1205
1206         link-warning: make usage consistent
1207         * modules/ctype (Depends-on): Add link-warning.
1208         (Makefile.am): Update rules accordingly.
1209         * modules/langinfo (Depends-on, Makefile.am): Likewise.
1210         * modules/locale (Depends-on, Makefile.am): Likewise.
1211         * modules/sys_file (Makefile.am): Likewise.
1212         * modules/getopt-posix (Makefile.am): Delete unused link warning
1213         efforts.
1214         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
1215         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
1216         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
1217         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
1218
1219         stdio: remove unused variables
1220         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
1221         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
1222         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
1223
1224         tests: test more substitute headers
1225         * modules/ctype-tests: New file.
1226         * modules/dirent-tests: Likewise.
1227         * modules/spawn-tests: Likewise.
1228         * modules/sys_file-tests: Likewise.
1229         * modules/sys_ioctl-tests: Likewise.
1230         * modules/sys_wait-tests: Likewise.
1231         * tests/test-ctype.c: Likewise.
1232         * tests/test-dirent.c: Likewise.
1233         * tests/test-spawn.c: Likewise.
1234         * tests/test-sys_file.c: Likewise.
1235         * tests/test-sys_ioctl.c: Likewise.
1236         * tests/test-sys_wait.c: Likewise.
1237         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
1238         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
1239         whether or not flock is in use.
1240
1241         tests: remove License section from module
1242         * modules/arpa_inet-tests: Remove unneeded section.
1243         * modules/byteswap-tests: Likewise.
1244         * modules/ceilf-tests: Likewise.
1245         * modules/ceill-tests: Likewise.
1246         * modules/crypto/des-tests: Likewise.
1247         * modules/crypto/gc-arcfour-tests: Likewise.
1248         * modules/crypto/gc-arctwo-tests: Likewise.
1249         * modules/crypto/gc-des-tests: Likewise.
1250         * modules/crypto/gc-hmac-md5-tests: Likewise.
1251         * modules/crypto/gc-hmac-sha1-tests: Likewise.
1252         * modules/crypto/gc-md2-tests: Likewise.
1253         * modules/crypto/gc-md4-tests: Likewise.
1254         * modules/crypto/gc-md5-tests: Likewise.
1255         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
1256         * modules/crypto/gc-rijndael-tests: Likewise.
1257         * modules/crypto/gc-sha1-tests: Likewise.
1258         * modules/crypto/gc-tests: Likewise.
1259         * modules/crypto/md2-tests: Likewise.
1260         * modules/crypto/md4-tests: Likewise.
1261         * modules/fcntl-h-tests: Likewise.
1262         * modules/floorf-tests: Likewise.
1263         * modules/floorl-tests: Likewise.
1264         * modules/frexp-nolibm-tests: Likewise.
1265         * modules/frexp-tests: Likewise.
1266         * modules/frexpl-nolibm-tests: Likewise.
1267         * modules/frexpl-tests: Likewise.
1268         * modules/getaddrinfo-tests: Likewise.
1269         * modules/inttypes-tests: Likewise.
1270         * modules/isfinite-tests: Likewise.
1271         * modules/isinf-tests: Likewise.
1272         * modules/ldexpl-tests: Likewise.
1273         * modules/locale-tests: Likewise.
1274         * modules/math-tests: Likewise.
1275         * modules/netdb-tests: Likewise.
1276         * modules/netinet_in-tests: Likewise.
1277         * modules/printf-frexp-tests: Likewise.
1278         * modules/printf-frexpl-tests: Likewise.
1279         * modules/priv-set-tests: Likewise.
1280         * modules/random_r-tests: Likewise.
1281         * modules/round-tests: Likewise.
1282         * modules/roundf-tests: Likewise.
1283         * modules/roundl-tests: Likewise.
1284         * modules/search-tests: Likewise.
1285         * modules/select-tests: Likewise.
1286         * modules/signal-tests: Likewise.
1287         * modules/stdbool-tests: Likewise.
1288         * modules/stddef-tests: Likewise.
1289         * modules/stdint-tests: Likewise.
1290         * modules/stdio-tests: Likewise.
1291         * modules/stdlib-tests: Likewise.
1292         * modules/string-tests: Likewise.
1293         * modules/strings-tests: Likewise.
1294         * modules/sys_select-tests: Likewise.
1295         * modules/sys_socket-tests: Likewise.
1296         * modules/sys_stat-tests: Likewise.
1297         * modules/sys_time-tests: Likewise.
1298         * modules/sys_utsname-tests: Likewise.
1299         * modules/sysexits-tests: Likewise.
1300         * modules/time-tests: Likewise.
1301         * modules/trunc-tests: Likewise.
1302         * modules/truncf-tests: Likewise.
1303         * modules/truncl-tests: Likewise.
1304         * modules/tsearch-tests: Likewise.
1305         * modules/unistd-tests: Likewise.
1306         * modules/wchar-tests: Likewise.
1307         * modules/wctype-tests: Likewise.
1308
1309         tests: fix license on several tests
1310         * tests/test-des.c: Update to GPLv3+.
1311         * tests/test-flock.c: Likewise.
1312         * tests/test-fsync.c: Likewise.
1313         * tests/test-futimens.h: Likewise.
1314         * tests/test-gc-arcfour.c: Likewise.
1315         * tests/test-gc-arctwo.c: Likewise.
1316         * tests/test-gc-des.c: Likewise.
1317         * tests/test-gc-hmac-md5.c: Likewise.
1318         * tests/test-gc-hmac-sha1.c: Likewise.
1319         * tests/test-gc-md2.c: Likewise.
1320         * tests/test-gc-md4.c: Likewise.
1321         * tests/test-gc-md5.c: Likewise.
1322         * tests/test-gc-pbkdf2-sha1.c: Likewise.
1323         * tests/test-gc-rijndael.c: Likewise.
1324         * tests/test-gc-sha1.c: Likewise.
1325         * tests/test-gc.c: Likewise.
1326         * tests/test-getcwd.c: Likewise.
1327         * tests/test-link.c: Likewise.
1328         * tests/test-link.h: Likewise.
1329         * tests/test-lutimens.h: Likewise.
1330         * tests/test-md2.c: Likewise.
1331         * tests/test-md4.c: Likewise.
1332         * tests/test-mkdir.h: Likewise.
1333         * tests/test-rename.c: Likewise.
1334         * tests/test-rename.h: Likewise.
1335         * tests/test-safe-alloc.c: Likewise.
1336         * tests/test-utimens-common.h: Likewise.
1337         * tests/test-utimens.h: Likewise.
1338
1339         maint: sync license texts
1340         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
1341         * doc/gpl-3.0.texi: Revert copyright year update.
1342         * doc/lgpl-3.0.texi: Likewise.
1343
1344 2009-12-29  Jim Meyering  <meyering@redhat.com>
1345
1346         update nearly all FSF copyright year lists to include 2009
1347         The files named by the following are exempted:
1348             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
1349               test -f "$dst" && { echo "$dst"; continue; }
1350               test -d "$dst" || continue
1351               echo "$dst"/$(basename "$src")
1352             done > exempt
1353             git ls-files tests/unictype >> exempt
1354         In the remaining files, convert to all-interval notation if
1355         - there is already at least one year interval like 2000-2003
1356         - the file is maintained by me
1357         - the file is in lib/uni*/, where that style already prevails
1358         Otherwise, use update-copyright's default.
1359
1360 2009-12-29  Simon Josefsson  <simon@josefsson.org>
1361         and Eric Blake  <ebb9@byu.net>
1362
1363         tests: don't require debug system() to pass
1364         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
1365         * tests/test-rmdir.h (test_rmdir_func): Likewise.
1366         * tests/test-unlink.h (test_unlink_func): Likewise.
1367         * tests/test-fstatat.c (main): ...into callers.
1368         * tests/test-lstat.c (main): Likewise.
1369         * tests/test-rmdir.c (main): Likewise.
1370         * tests/test-unlink.c (main): Likewise.
1371         * tests/test-unlinkat.c (main): Likewise.
1372         * tests/test-areadlink-with-size.c (main): Don't require a
1373         debug-only system call to pass, aiding cross-testing to mingw.
1374         * tests/test-areadlink.c (main): Likewise.
1375         * tests/test-areadlinkat-with-size.c (main): Likewise.
1376         * tests/test-areadlinkat.c (main): Likewise.
1377         * tests/test-canonicalize-lgpl.c (main): Likewise.
1378         * tests/test-canonicalize.c (main): Likewise.
1379         * tests/test-chown.c (main): Likewise.
1380         * tests/test-fchownat.c (main): Likewise.
1381         * tests/test-lchown.c (main): Likewise.
1382         * tests/test-fdutimensat.c (main): Likewise.
1383         * tests/test-futimens.c (main): Likewise.
1384         * tests/test-link.c (main): Likewise.
1385         * tests/test-linkat.c (main): Likewise.
1386         * tests/test-mkdir.c (main): Likewise.
1387         * tests/test-mkdirat.c (main): Likewise.
1388         * tests/test-mkfifo.c (main): Likewise.
1389         * tests/test-mkfifoat.c (main): Likewise.
1390         * tests/test-mknod.c (main): Likewise.
1391         * tests/test-readlink.c (main): Likewise.
1392         * tests/test-remove.c (main): Likewise.
1393         * tests/test-rename.c (main): Likewise.
1394         * tests/test-renameat.c (main): Likewise.
1395         * tests/test-symlink.c (main): Likewise.
1396         * tests/test-symlinkat.c (main): Likewise.
1397         * tests/test-utimens.c (main): Likewise.
1398         * tests/test-utimensat.c (main): Likewise.
1399
1400 2009-12-29  Simon Josefsson  <simon@josefsson.org>
1401
1402         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
1403         on $(UNUSED_PARAMETER_H) to avoid build failure.
1404
1405 2009-12-28  Jim Meyering  <meyering@redhat.com>
1406
1407         update-copyright: you may specify a max. line length other than 72
1408         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
1409
1410         maint: use consistent FSF copyright line syntax
1411         * lib/posixtm.c: Add missing comma in FSF copyright line.
1412         * lib/posixtm.h: Likewise.
1413         * lib/getugroups.c: Add missing ", Inc.".
1414
1415         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
1416         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
1417         FSF copyright line.  Remove trailing blanks.
1418
1419 2009-12-28  Eric Blake  <ebb9@byu.net>
1420
1421         test-dup2: reduce dependencies
1422         * modules/cloexec (Configure.ac): Set witness.
1423         * modules/dup2-tests (Depends-on): Drop cloexec.
1424         * tests/test-dup2.c (main): Skip portion of test if cloexec module
1425         not present.
1426         Suggested by Bruno Haible.
1427
1428 2009-12-26  Bruno Haible  <bruno@clisp.org>
1429
1430         Remove an unneeded dependency.
1431         * modules/fseterr (Depends-on): Remove dup2.
1432
1433 2009-12-26  Eric Blake  <ebb9@byu.net>
1434
1435         tests: use macros.h in more places
1436         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
1437         (ASSERT_STREAM): Provide default of stderr.
1438         * tests/test-dirent-safer.c: Include macros.h, using alternate
1439         stream for assertions.
1440         * tests/test-dup-safer.c: Likewise.
1441         * tests/test-freopen-safer.c: Likewise.
1442         * tests/test-getopt.c: Likewise.
1443         * tests/test-openat-safer.c: Likewise.
1444         * tests/test-pipe.c: Likewise.
1445         * tests/test-popen-safer.c: Likewise.
1446         * modules/dirent-safer-tests (Files): Include macros.h.
1447         * modules/unistd-safer-tests (Files): Likewise.
1448         * modules/freopen-safer-tests (Files): Likewise.
1449         * modules/getopt-posix-tests (Files): Likewise.
1450         * modules/openat-safer-tests (Files): Likewise.
1451         * modules/pipe-tests (Files): Likewise.
1452
1453 2009-12-26  Bruno Haible  <bruno@clisp.org>
1454
1455         javacomp: Portability fix.
1456         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
1457         that it also works on Solaris.
1458
1459 2009-12-26  Bruno Haible  <bruno@clisp.org>
1460
1461         localename: Fix storage allocation of gl_locale_name_thread's result.
1462         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
1463         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
1464         all platforms that have 'uselocale'.
1465         (gl_locale_name_thread_unsafe): New function, extracted from
1466         gl_locale_name_thread.
1467         (gl_locale_name_thread): Call struniq on all platforms that have
1468         'uselocale'.
1469         * tests/test-localename.c (test_locale_name_thread): Check that the
1470         resulting strings are permanently allocated.
1471         * modules/localename-tests (Depends-on): Add strdup.
1472
1473 2009-12-26  Bruno Haible  <bruno@clisp.org>
1474
1475         * tests/test-localename.c (categories): Fill in the strings.
1476
1477 2009-12-26  Jim Meyering  <meyering@redhat.com>
1478
1479         isdir: complete the removal of m4/isdir.m4
1480         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
1481
1482         isdir: clean up, since at least grep still uses it
1483         * lib/isdir.c: Include "isdir.h".
1484         (S_ISDIR): Remove now-unneeded definition.
1485         * modules/isdir (Files): Add lib/isdir.h.
1486         * lib/isdir.h: New file, with declaration.
1487         * m4/isdir.m4: Remove file -- unneeded.
1488
1489 2009-12-25  Bruno Haible  <bruno@clisp.org>
1490
1491         selinux-h: Make generated .h files standalone.
1492         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
1493         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
1494         * lib/se-selinux.in.h: Likewise.
1495         * modules/selinux-h (Depends-on): Add unused-parameter.
1496         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
1497         selinux/selinux.h and selinux/context.h.
1498         Suggested by Eric Blake.
1499
1500 2009-12-25  Bruno Haible  <bruno@clisp.org>
1501
1502         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
1503         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
1504         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
1505         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
1506         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
1507
1508 2009-12-24  Bruno Haible  <bruno@clisp.org>
1509
1510         openat: Fix warning.
1511         * lib/openat-proc.c: Include <unistd.h>.
1512
1513 2009-12-24  Bruno Haible  <bruno@clisp.org>
1514
1515         New module 'unused-parameter'.
1516         * build-aux/unused-parameter.h: New file, extracted from earlier
1517         gnulib-common.m4.
1518         * modules/unused-parameter: New file.
1519         * lib/unistr.h: Include unused-parameter.h.
1520         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
1521         _GL_UNUSED.
1522         * modules/unistr/base (Depends-on): Add unused-parameter.
1523
1524 2009-12-24  Bruno Haible  <bruno@clisp.org>
1525
1526         Add missing dependencies to 'extensions' module.
1527         * m4/extensions.m4: Add comment.
1528         * modules/accept4 (Depends-on): Add extensions.
1529         * modules/dup3 (Depends-on): Likewise.
1530         * modules/fcntl (Depends-on): Likewise.
1531         * modules/futimens (Depends-on): Likewise.
1532         * modules/mknod (Depends-on): Likewise.
1533         * modules/pipe2 (Depends-on): Likewise.
1534         * modules/stat-time (Depends-on): Likewise.
1535         * modules/strcasestr-simple (Depends-on): Likewise.
1536         * modules/strsignal (Depends-on): Likewise.
1537         * modules/utimensat (Depends-on): Likewise.
1538         * modules/localcharset (Depends-on): Likewise. Needed because of
1539         gl_FCNTL_O_FLAGS.
1540         * modules/wcrtomb (Depends-on): Likewise. Needed because of
1541         AC_TYPE_MBSTATE_T.
1542         * modules/wcsnrtombs (Depends-on): Likewise.
1543         * modules/wcsrtombs (Depends-on): Likewise.
1544
1545 2009-12-24  Bruno Haible  <bruno@clisp.org>
1546
1547         binary-io: Avoid gcc warning due to SET_BINARY.
1548         * lib/binary-io.h (SET_BINARY): Cast the result to void.
1549         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
1550
1551 2009-12-24  Bruno Haible  <bruno@clisp.org>
1552
1553         Avoid future namespace pollution on glibc systems.
1554         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
1555         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
1556         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
1557         glibc systems.
1558
1559 2009-12-24  Bruno Haible  <bruno@clisp.org>
1560
1561         Refactor common macros used in tests.
1562         * tests/macros.h: New file.
1563         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
1564         and/or <stdlib.h>, if appropriate.
1565         (ASSERT, SIZEOF): Remove macros.
1566         * tests/test-areadlink-with-size.c: Likewise.
1567         * tests/test-areadlinkat.c: Likewise.
1568         * tests/test-areadlinkat-with-size.c: Likewise.
1569         * tests/test-argmatch.c: Likewise.
1570         * tests/test-argv-iter.c: Likewise.
1571         * tests/test-array-mergesort.c: Likewise.
1572         * tests/test-array_list.c: Likewise.
1573         * tests/test-array_oset.c: Likewise.
1574         * tests/test-avltree_list.c: Likewise.
1575         * tests/test-avltree_oset.c: Likewise.
1576         * tests/test-avltreehash_list.c: Likewise.
1577         * tests/test-base64.c: Likewise.
1578         * tests/test-binary-io.c: Likewise.
1579         * tests/test-bitrotate.c: Likewise.
1580         * tests/test-btowc.c: Likewise.
1581         * tests/test-byteswap.c: Likewise.
1582         * tests/test-c-ctype.c: Likewise.
1583         * tests/test-c-stack.c: Likewise.
1584         * tests/test-c-strcasecmp.c: Likewise.
1585         * tests/test-c-strcasestr.c: Likewise.
1586         * tests/test-c-strncasecmp.c: Likewise.
1587         * tests/test-c-strstr.c: Likewise.
1588         * tests/test-canonicalize-lgpl.c: Likewise.
1589         * tests/test-canonicalize.c: Likewise.
1590         * tests/test-carray_list.c: Likewise.
1591         * tests/test-ceilf1.c: Likewise.
1592         * tests/test-ceilf2.c: Likewise.
1593         * tests/test-ceill.c: Likewise.
1594         * tests/test-chown.c: Likewise.
1595         * tests/test-cloexec.c: Likewise.
1596         * tests/test-copy-acl.c: Likewise.
1597         * tests/test-copy-file.c: Likewise.
1598         * tests/test-count-one-bits.c: Likewise.
1599         * tests/test-dprintf-posix.c: Likewise.
1600         * tests/test-dup2.c: Likewise.
1601         * tests/test-dup3.c: Likewise.
1602         * tests/test-duplocale.c: Likewise.
1603         * tests/test-fbufmode.c: Likewise.
1604         * tests/test-fchdir.c: Likewise.
1605         * tests/test-fchownat.c: Likewise.
1606         * tests/test-fcntl-safer.c: Likewise.
1607         * tests/test-fcntl.c: Likewise.
1608         * tests/test-fdopendir.c: Likewise.
1609         * tests/test-fdutimensat.c: Likewise.
1610         * tests/test-fflush2.c: Likewise.
1611         * tests/test-file-has-acl.c: Likewise.
1612         * tests/test-filevercmp.c: Likewise.
1613         * tests/test-flock.c: Likewise.
1614         * tests/test-floorf1.c: Likewise.
1615         * tests/test-floorf2.c: Likewise.
1616         * tests/test-floorl.c: Likewise.
1617         * tests/test-fnmatch.c: Likewise.
1618         * tests/test-fopen.h: Likewise.
1619         * tests/test-fpending.c: Likewise.
1620         * tests/test-fprintf-posix.c: Likewise.
1621         * tests/test-fpurge.c: Likewise.
1622         * tests/test-freadable.c: Likewise.
1623         * tests/test-freadahead.c: Likewise.
1624         * tests/test-freading.c: Likewise.
1625         * tests/test-freadptr.c: Likewise.
1626         * tests/test-freadptr2.c: Likewise.
1627         * tests/test-freadseek.c: Likewise.
1628         * tests/test-freopen.c: Likewise.
1629         * tests/test-frexp.c: Likewise.
1630         * tests/test-frexpl.c: Likewise.
1631         * tests/test-fseek.c: Likewise.
1632         * tests/test-fseeko.c: Likewise.
1633         * tests/test-fstatat.c: Likewise.
1634         * tests/test-fstrcmp.c: Likewise.
1635         * tests/test-fsync.c: Likewise.
1636         * tests/test-ftell.c: Likewise.
1637         * tests/test-ftello.c: Likewise.
1638         * tests/test-func.c: Likewise.
1639         * tests/test-futimens.c: Likewise.
1640         * tests/test-fwritable.c: Likewise.
1641         * tests/test-fwriting.c: Likewise.
1642         * tests/test-getcwd.c: Likewise.
1643         * tests/test-getdate.c: Likewise.
1644         * tests/test-getdelim.c: Likewise.
1645         * tests/test-getdtablesize.c: Likewise.
1646         * tests/test-getgroups.c: Likewise.
1647         * tests/test-getline.c: Likewise.
1648         * tests/test-getndelim2.c: Likewise.
1649         * tests/test-glob.c: Likewise.
1650         * tests/test-hash.c: Likewise.
1651         * tests/test-i-ring.c: Likewise.
1652         * tests/test-iconv-utf.c: Likewise.
1653         * tests/test-iconv.c: Likewise.
1654         * tests/test-idpriv-drop.c: Likewise.
1655         * tests/test-idpriv-droptemp.c: Likewise.
1656         * tests/test-inet_ntop.c: Likewise.
1657         * tests/test-inet_pton.c: Likewise.
1658         * tests/test-isblank.c: Likewise.
1659         * tests/test-isfinite.c: Likewise.
1660         * tests/test-isinf.c: Likewise.
1661         * tests/test-isnan.c: Likewise.
1662         * tests/test-isnand.h: Likewise.
1663         * tests/test-isnanf.h: Likewise.
1664         * tests/test-isnanl.h: Likewise.
1665         * tests/test-lchown.c: Likewise.
1666         * tests/test-ldexpl.c: Likewise.
1667         * tests/test-link.c: Likewise.
1668         * tests/test-linkat.c: Likewise.
1669         * tests/test-linked_list.c: Likewise.
1670         * tests/test-linkedhash_list.c: Likewise.
1671         * tests/test-localename.c: Likewise.
1672         * tests/test-lseek.c: Likewise.
1673         * tests/test-lstat.c: Likewise.
1674         * tests/test-mbmemcasecmp.c: Likewise.
1675         * tests/test-mbmemcasecoll.c: Likewise.
1676         * tests/test-mbrtowc.c: Likewise.
1677         * tests/test-mbscasecmp.c: Likewise.
1678         * tests/test-mbscasestr1.c: Likewise.
1679         * tests/test-mbscasestr2.c: Likewise.
1680         * tests/test-mbscasestr3.c: Likewise.
1681         * tests/test-mbscasestr4.c: Likewise.
1682         * tests/test-mbschr.c: Likewise.
1683         * tests/test-mbscspn.c: Likewise.
1684         * tests/test-mbsinit.c: Likewise.
1685         * tests/test-mbsncasecmp.c: Likewise.
1686         * tests/test-mbsnrtowcs.c: Likewise.
1687         * tests/test-mbspbrk.c: Likewise.
1688         * tests/test-mbspcasecmp.c: Likewise.
1689         * tests/test-mbsrchr.c: Likewise.
1690         * tests/test-mbsrtowcs.c: Likewise.
1691         * tests/test-mbsspn.c: Likewise.
1692         * tests/test-mbsstr1.c: Likewise.
1693         * tests/test-mbsstr2.c: Likewise.
1694         * tests/test-mbsstr3.c: Likewise.
1695         * tests/test-memchr.c: Likewise.
1696         * tests/test-memchr2.c: Likewise.
1697         * tests/test-memcmp.c: Likewise.
1698         * tests/test-memmem.c: Likewise.
1699         * tests/test-memrchr.c: Likewise.
1700         * tests/test-mkdir.c: Likewise.
1701         * tests/test-mkdirat.c: Likewise.
1702         * tests/test-mkfifo.c: Likewise.
1703         * tests/test-mkfifoat.c: Likewise.
1704         * tests/test-mknod.c: Likewise.
1705         * tests/test-nanosleep.c: Likewise.
1706         * tests/test-nl_langinfo.c: Likewise.
1707         * tests/test-obstack-printf.c: Likewise.
1708         * tests/test-open.c: Likewise.
1709         * tests/test-openat.c: Likewise.
1710         * tests/test-pipe-filter-gi1.c: Likewise.
1711         * tests/test-pipe-filter-gi2-main.c: Likewise.
1712         * tests/test-pipe-filter-ii1.c: Likewise.
1713         * tests/test-pipe-filter-ii2-main.c: Likewise.
1714         * tests/test-pipe2.c: Likewise.
1715         * tests/test-popen.h: Likewise.
1716         * tests/test-posixtm.c: Likewise.
1717         * tests/test-pread.c: Likewise.
1718         * tests/test-printf-frexp.c: Likewise.
1719         * tests/test-printf-frexpl.c: Likewise.
1720         * tests/test-printf-posix.c: Likewise.
1721         * tests/test-priv-set.c: Likewise.
1722         * tests/test-quotearg.c: Likewise.
1723         * tests/test-random_r.c: Likewise.
1724         * tests/test-rawmemchr.c: Likewise.
1725         * tests/test-rbtree_list.c: Likewise.
1726         * tests/test-rbtree_oset.c: Likewise.
1727         * tests/test-rbtreehash_list.c: Likewise.
1728         * tests/test-readlink.c: Likewise.
1729         * tests/test-remove.c: Likewise.
1730         * tests/test-rename.c: Likewise.
1731         * tests/test-renameat.c: Likewise.
1732         * tests/test-rmdir.c: Likewise.
1733         * tests/test-round1.c: Likewise.
1734         * tests/test-roundf1.c: Likewise.
1735         * tests/test-roundl.c: Likewise.
1736         * tests/test-safe-alloc.c: Likewise.
1737         * tests/test-sameacls.c: Likewise.
1738         * tests/test-set-mode-acl.c: Likewise.
1739         * tests/test-setenv.c: Likewise.
1740         * tests/test-sigaction.c: Likewise.
1741         * tests/test-signbit.c: Likewise.
1742         * tests/test-sleep.c: Likewise.
1743         * tests/test-snprintf-posix.c: Likewise.
1744         * tests/test-snprintf.c: Likewise.
1745         * tests/test-sprintf-posix.c: Likewise.
1746         * tests/test-stat-time.c: Likewise.
1747         * tests/test-stat.c: Likewise.
1748         * tests/test-strcasestr.c: Likewise.
1749         * tests/test-strchrnul.c: Likewise.
1750         * tests/test-strerror.c: Likewise.
1751         * tests/test-striconv.c: Likewise.
1752         * tests/test-striconveh.c: Likewise.
1753         * tests/test-striconveha.c: Likewise.
1754         * tests/test-strsignal.c: Likewise.
1755         * tests/test-strstr.c: Likewise.
1756         * tests/test-strtod.c: Likewise.
1757         * tests/test-strverscmp.c: Likewise.
1758         * tests/test-symlink.c: Likewise.
1759         * tests/test-symlinkat.c: Likewise.
1760         * tests/test-trunc1.c: Likewise.
1761         * tests/test-trunc2.c: Likewise.
1762         * tests/test-truncf1.c: Likewise.
1763         * tests/test-truncf2.c: Likewise.
1764         * tests/test-truncl.c: Likewise.
1765         * tests/test-uname.c: Likewise.
1766         * tests/test-unlink.c: Likewise.
1767         * tests/test-unlinkat.c: Likewise.
1768         * tests/test-unsetenv.c: Likewise.
1769         * tests/test-usleep.c: Likewise.
1770         * tests/test-utimens.c: Likewise.
1771         * tests/test-utimensat.c: Likewise.
1772         * tests/test-vasnprintf-posix.c: Likewise.
1773         * tests/test-vasnprintf-posix2.c: Likewise.
1774         * tests/test-vasnprintf.c: Likewise.
1775         * tests/test-vasprintf-posix.c: Likewise.
1776         * tests/test-vasprintf.c: Likewise.
1777         * tests/test-vdprintf-posix.c: Likewise.
1778         * tests/test-vfprintf-posix.c: Likewise.
1779         * tests/test-vprintf-posix.c: Likewise.
1780         * tests/test-vsnprintf-posix.c: Likewise.
1781         * tests/test-vsnprintf.c: Likewise.
1782         * tests/test-vsprintf-posix.c: Likewise.
1783         * tests/test-wcrtomb.c: Likewise.
1784         * tests/test-wcsnrtombs.c: Likewise.
1785         * tests/test-wcsrtombs.c: Likewise.
1786         * tests/test-wctype.c: Likewise.
1787         * tests/test-wcwidth.c: Likewise.
1788         * tests/test-xfprintf-posix.c: Likewise.
1789         * tests/test-xmemdup0.c: Likewise.
1790         * tests/test-xprintf-posix.c: Likewise.
1791         * tests/test-xvasprintf.c: Likewise.
1792         * tests/unicase/test-locale-language.c: Likewise.
1793         * tests/unicase/test-mapping-part1.h: Likewise.
1794         * tests/unicase/test-predicate-part1.h: Likewise.
1795         * tests/unicase/test-u8-casecmp.c: Likewise.
1796         * tests/unicase/test-u8-casecoll.c: Likewise.
1797         * tests/unicase/test-u8-casefold.c: Likewise.
1798         * tests/unicase/test-u8-is-cased.c: Likewise.
1799         * tests/unicase/test-u8-is-casefolded.c: Likewise.
1800         * tests/unicase/test-u8-is-lowercase.c: Likewise.
1801         * tests/unicase/test-u8-is-titlecase.c: Likewise.
1802         * tests/unicase/test-u8-is-uppercase.c: Likewise.
1803         * tests/unicase/test-u8-tolower.c: Likewise.
1804         * tests/unicase/test-u8-totitle.c: Likewise.
1805         * tests/unicase/test-u8-toupper.c: Likewise.
1806         * tests/unicase/test-u16-casecmp.c: Likewise.
1807         * tests/unicase/test-u16-casecoll.c: Likewise.
1808         * tests/unicase/test-u16-casefold.c: Likewise.
1809         * tests/unicase/test-u16-is-cased.c: Likewise.
1810         * tests/unicase/test-u16-is-casefolded.c: Likewise.
1811         * tests/unicase/test-u16-is-lowercase.c: Likewise.
1812         * tests/unicase/test-u16-is-titlecase.c: Likewise.
1813         * tests/unicase/test-u16-is-uppercase.c: Likewise.
1814         * tests/unicase/test-u16-tolower.c: Likewise.
1815         * tests/unicase/test-u16-totitle.c: Likewise.
1816         * tests/unicase/test-u16-toupper.c: Likewise.
1817         * tests/unicase/test-u32-casecmp.c: Likewise.
1818         * tests/unicase/test-u32-casecoll.c: Likewise.
1819         * tests/unicase/test-u32-casefold.c: Likewise.
1820         * tests/unicase/test-u32-is-cased.c: Likewise.
1821         * tests/unicase/test-u32-is-casefolded.c: Likewise.
1822         * tests/unicase/test-u32-is-lowercase.c: Likewise.
1823         * tests/unicase/test-u32-is-titlecase.c: Likewise.
1824         * tests/unicase/test-u32-is-uppercase.c: Likewise.
1825         * tests/unicase/test-u32-tolower.c: Likewise.
1826         * tests/unicase/test-u32-totitle.c: Likewise.
1827         * tests/unicase/test-u32-toupper.c: Likewise.
1828         * tests/unicase/test-ulc-casecmp.c: Likewise.
1829         * tests/unicase/test-ulc-casecoll.c: Likewise.
1830         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
1831         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
1832         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
1833         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
1834         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
1835         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
1836         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
1837         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
1838         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
1839         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
1840         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
1841         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
1842         * tests/unictype/test-bidi_byname.c: Likewise.
1843         * tests/unictype/test-bidi_name.c: Likewise.
1844         * tests/unictype/test-bidi_of.c: Likewise.
1845         * tests/unictype/test-bidi_test.c: Likewise.
1846         * tests/unictype/test-block_list.c: Likewise.
1847         * tests/unictype/test-block_of.c: Likewise.
1848         * tests/unictype/test-block_test.c: Likewise.
1849         * tests/unictype/test-categ_and.c: Likewise.
1850         * tests/unictype/test-categ_and_not.c: Likewise.
1851         * tests/unictype/test-categ_byname.c: Likewise.
1852         * tests/unictype/test-categ_name.c: Likewise.
1853         * tests/unictype/test-categ_none.c: Likewise.
1854         * tests/unictype/test-categ_of.c: Likewise.
1855         * tests/unictype/test-categ_or.c: Likewise.
1856         * tests/unictype/test-categ_test_withtable.c: Likewise.
1857         * tests/unictype/test-combining.c: Likewise.
1858         * tests/unictype/test-decdigit.c: Likewise.
1859         * tests/unictype/test-digit.c: Likewise.
1860         * tests/unictype/test-mirror.c: Likewise.
1861         * tests/unictype/test-numeric.c: Likewise.
1862         * tests/unictype/test-pr_byname.c: Likewise.
1863         * tests/unictype/test-pr_test.c: Likewise.
1864         * tests/unictype/test-predicate-part1.h: Likewise.
1865         * tests/unictype/test-scripts.c: Likewise.
1866         * tests/unictype/test-sy_c_ident.c: Likewise.
1867         * tests/unictype/test-sy_java_ident.c: Likewise.
1868         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
1869         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
1870         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
1871         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
1872         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
1873         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
1874         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
1875         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
1876         * tests/uninorm/test-canonical-decomposition.c: Likewise.
1877         * tests/uninorm/test-compat-decomposition.c: Likewise.
1878         * tests/uninorm/test-composition.c: Likewise.
1879         * tests/uninorm/test-decomposing-form.c: Likewise.
1880         * tests/uninorm/test-decomposition.c: Likewise.
1881         * tests/uninorm/test-u8-nfc.c: Likewise.
1882         * tests/uninorm/test-u8-nfd.c: Likewise.
1883         * tests/uninorm/test-u8-nfkc.c: Likewise.
1884         * tests/uninorm/test-u8-nfkd.c: Likewise.
1885         * tests/uninorm/test-u8-normcmp.c: Likewise.
1886         * tests/uninorm/test-u8-normcoll.c: Likewise.
1887         * tests/uninorm/test-u16-nfc.c: Likewise.
1888         * tests/uninorm/test-u16-nfd.c: Likewise.
1889         * tests/uninorm/test-u16-nfkc.c: Likewise.
1890         * tests/uninorm/test-u16-nfkd.c: Likewise.
1891         * tests/uninorm/test-u16-normcmp.c: Likewise.
1892         * tests/uninorm/test-u16-normcoll.c: Likewise.
1893         * tests/uninorm/test-u32-nfc.c: Likewise.
1894         * tests/uninorm/test-u32-nfd.c: Likewise.
1895         * tests/uninorm/test-u32-nfkc.c: Likewise.
1896         * tests/uninorm/test-u32-nfkd.c: Likewise.
1897         * tests/uninorm/test-u32-normalize-big.c: Likewise.
1898         * tests/uninorm/test-u32-normcmp.c: Likewise.
1899         * tests/uninorm/test-u32-normcoll.c: Likewise.
1900         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
1901         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
1902         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
1903         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
1904         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
1905         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
1906         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
1907         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
1908         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
1909         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
1910         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
1911         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
1912         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
1913         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
1914         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
1915         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
1916         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
1917         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
1918         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
1919         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
1920         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
1921         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
1922         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
1923         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
1924         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
1925         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
1926         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
1927         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
1928         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
1929         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
1930         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
1931         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
1932         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
1933         * tests/uniwidth/test-u8-strwidth.c: Likewise.
1934         * tests/uniwidth/test-u8-width.c: Likewise.
1935         * tests/uniwidth/test-u16-strwidth.c: Likewise.
1936         * tests/uniwidth/test-u16-width.c: Likewise.
1937         * tests/uniwidth/test-u32-strwidth.c: Likewise.
1938         * tests/uniwidth/test-u32-width.c: Likewise.
1939         * tests/uniwidth/test-uc_width.c: Likewise.
1940         * tests/uniwidth/test-uc_width2.c: Likewise.
1941         * modules/acl-tests (Files): Add tests/macros.h.
1942         * modules/areadlink-tests (Files): Likewise.
1943         * modules/areadlink-with-size-tests (Files): Likewise.
1944         * modules/areadlinkat-tests (Files): Likewise.
1945         * modules/areadlinkat-with-size-tests (Files): Likewise.
1946         * modules/argmatch-tests (Files): Likewise.
1947         * modules/argv-iter-tests (Files): Likewise.
1948         * modules/array-list-tests (Files): Likewise.
1949         * modules/array-mergesort-tests (Files): Likewise.
1950         * modules/array-oset-tests (Files): Likewise.
1951         * modules/avltree-list-tests (Files): Likewise.
1952         * modules/avltree-oset-tests (Files): Likewise.
1953         * modules/avltreehash-list-tests (Files): Likewise.
1954         * modules/base64-tests (Files): Likewise.
1955         * modules/binary-io-tests (Files): Likewise.
1956         * modules/bitrotate-tests (Files): Likewise.
1957         * modules/btowc-tests (Files): Likewise.
1958         * modules/byteswap-tests (Files): Likewise.
1959         * modules/c-ctype-tests (Files): Likewise.
1960         * modules/c-stack-tests (Files): Likewise.
1961         * modules/c-strcase-tests (Files): Likewise.
1962         * modules/c-strcasestr-tests (Files): Likewise.
1963         * modules/c-strstr-tests (Files): Likewise.
1964         * modules/canonicalize-lgpl-tests (Files): Likewise.
1965         * modules/canonicalize-tests (Files): Likewise.
1966         * modules/carray-list-tests (Files): Likewise.
1967         * modules/ceilf-tests (Files): Likewise.
1968         * modules/ceill-tests (Files): Likewise.
1969         * modules/chown-tests (Files): Likewise.
1970         * modules/cloexec-tests (Files): Likewise.
1971         * modules/copy-file-tests (Files): Likewise.
1972         * modules/count-one-bits-tests (Files): Likewise.
1973         * modules/dprintf-posix-tests (Files): Likewise.
1974         * modules/dup2-tests (Files): Likewise.
1975         * modules/dup3-tests (Files): Likewise.
1976         * modules/duplocale-tests (Files): Likewise.
1977         * modules/fbufmode-tests (Files): Likewise.
1978         * modules/fchdir-tests (Files): Likewise.
1979         * modules/fcntl-safer-tests (Files): Likewise.
1980         * modules/fcntl-tests (Files): Likewise.
1981         * modules/fdopendir-tests (Files): Likewise.
1982         * modules/fdutimensat-tests (Files): Likewise.
1983         * modules/fflush-tests (Files): Likewise.
1984         * modules/filevercmp-tests (Files): Likewise.
1985         * modules/flock-tests (Files): Likewise.
1986         * modules/floorf-tests (Files): Likewise.
1987         * modules/floorl-tests (Files): Likewise.
1988         * modules/fnmatch-tests (Files): Likewise.
1989         * modules/fopen-safer-tests (Files): Likewise.
1990         * modules/fopen-tests (Files): Likewise.
1991         * modules/fpending-tests (Files): Likewise.
1992         * modules/fprintf-posix-tests (Files): Likewise.
1993         * modules/fpurge-tests (Files): Likewise.
1994         * modules/freadable-tests (Files): Likewise.
1995         * modules/freadahead-tests (Files): Likewise.
1996         * modules/freading-tests (Files): Likewise.
1997         * modules/freadptr-tests (Files): Likewise.
1998         * modules/freadseek-tests (Files): Likewise.
1999         * modules/freopen-tests (Files): Likewise.
2000         * modules/frexp-nolibm-tests (Files): Likewise.
2001         * modules/frexp-tests (Files): Likewise.
2002         * modules/frexpl-nolibm-tests (Files): Likewise.
2003         * modules/frexpl-tests (Files): Likewise.
2004         * modules/fseek-tests (Files): Likewise.
2005         * modules/fseeko-tests (Files): Likewise.
2006         * modules/fstrcmp-tests (Files): Likewise.
2007         * modules/fsync-tests (Files): Likewise.
2008         * modules/ftell-tests (Files): Likewise.
2009         * modules/ftello-tests (Files): Likewise.
2010         * modules/func-tests (Files): Likewise.
2011         * modules/futimens-tests (Files): Likewise.
2012         * modules/fwritable-tests (Files): Likewise.
2013         * modules/fwriting-tests (Files): Likewise.
2014         * modules/getcwd-tests (Files): Likewise.
2015         * modules/getdate-tests (Files): Likewise.
2016         * modules/getdelim-tests (Files): Likewise.
2017         * modules/getdtablesize-tests (Files): Likewise.
2018         * modules/getgroups-tests (Files): Likewise.
2019         * modules/getline-tests (Files): Likewise.
2020         * modules/getndelim2-tests (Files): Likewise.
2021         * modules/glob-tests (Files): Likewise.
2022         * modules/hash-tests (Files): Likewise.
2023         * modules/i-ring-tests (Files): Likewise.
2024         * modules/iconv-tests (Files): Likewise.
2025         * modules/iconv_open-utf-tests (Files): Likewise.
2026         * modules/idpriv-drop-tests (Files): Likewise.
2027         * modules/idpriv-droptemp-tests (Files): Likewise.
2028         * modules/inet_ntop-tests (Files): Likewise.
2029         * modules/inet_pton-tests (Files): Likewise.
2030         * modules/isblank-tests (Files): Likewise.
2031         * modules/isfinite-tests (Files): Likewise.
2032         * modules/isinf-tests (Files): Likewise.
2033         * modules/isnan-tests (Files): Likewise.
2034         * modules/isnand-nolibm-tests (Files): Likewise.
2035         * modules/isnand-tests (Files): Likewise.
2036         * modules/isnanf-nolibm-tests (Files): Likewise.
2037         * modules/isnanf-tests (Files): Likewise.
2038         * modules/isnanl-nolibm-tests (Files): Likewise.
2039         * modules/isnanl-tests (Files): Likewise.
2040         * modules/lchown-tests (Files): Likewise.
2041         * modules/ldexpl-tests (Files): Likewise.
2042         * modules/link-tests (Files): Likewise.
2043         * modules/linkat-tests (Files): Likewise.
2044         * modules/linked-list-tests (Files): Likewise.
2045         * modules/linkedhash-list-tests (Files): Likewise.
2046         * modules/localename-tests (Files): Likewise.
2047         * modules/lseek-tests (Files): Likewise.
2048         * modules/lstat-tests (Files): Likewise.
2049         * modules/mbmemcasecmp-tests (Files): Likewise.
2050         * modules/mbmemcasecoll-tests (Files): Likewise.
2051         * modules/mbrtowc-tests (Files): Likewise.
2052         * modules/mbscasecmp-tests (Files): Likewise.
2053         * modules/mbscasestr-tests (Files): Likewise.
2054         * modules/mbschr-tests (Files): Likewise.
2055         * modules/mbscspn-tests (Files): Likewise.
2056         * modules/mbsinit-tests (Files): Likewise.
2057         * modules/mbsncasecmp-tests (Files): Likewise.
2058         * modules/mbsnrtowcs-tests (Files): Likewise.
2059         * modules/mbspbrk-tests (Files): Likewise.
2060         * modules/mbspcasecmp-tests (Files): Likewise.
2061         * modules/mbsrchr-tests (Files): Likewise.
2062         * modules/mbsrtowcs-tests (Files): Likewise.
2063         * modules/mbsspn-tests (Files): Likewise.
2064         * modules/mbsstr-tests (Files): Likewise.
2065         * modules/memchr-tests (Files): Likewise.
2066         * modules/memchr2-tests (Files): Likewise.
2067         * modules/memcmp-tests (Files): Likewise.
2068         * modules/memmem-tests (Files): Likewise.
2069         * modules/memrchr-tests (Files): Likewise.
2070         * modules/mkdir-tests (Files): Likewise.
2071         * modules/mkfifo-tests (Files): Likewise.
2072         * modules/mkfifoat-tests (Files): Likewise.
2073         * modules/mknod-tests (Files): Likewise.
2074         * modules/nanosleep-tests (Files): Likewise.
2075         * modules/nl_langinfo-tests (Files): Likewise.
2076         * modules/obstack-printf-tests (Files): Likewise.
2077         * modules/open-tests (Files): Likewise.
2078         * modules/openat-tests (Files): Likewise.
2079         * modules/pipe-filter-gi-tests (Files): Likewise.
2080         * modules/pipe-filter-ii-tests (Files): Likewise.
2081         * modules/pipe2-tests (Files): Likewise.
2082         * modules/popen-safer-tests (Files): Likewise.
2083         * modules/popen-tests (Files): Likewise.
2084         * modules/posixtm-tests (Files): Likewise.
2085         * modules/pread-tests (Files): Likewise.
2086         * modules/printf-frexp-tests (Files): Likewise.
2087         * modules/printf-frexpl-tests (Files): Likewise.
2088         * modules/printf-posix-tests (Files): Likewise.
2089         * modules/priv-set-tests (Files): Likewise.
2090         * modules/quotearg-tests (Files): Likewise.
2091         * modules/random_r-tests (Files): Likewise.
2092         * modules/rawmemchr-tests (Files): Likewise.
2093         * modules/rbtree-list-tests (Files): Likewise.
2094         * modules/rbtree-oset-tests (Files): Likewise.
2095         * modules/rbtreehash-list-tests (Files): Likewise.
2096         * modules/readlink-tests (Files): Likewise.
2097         * modules/remove-tests (Files): Likewise.
2098         * modules/rename-tests (Files): Likewise.
2099         * modules/renameat-tests (Files): Likewise.
2100         * modules/rmdir-tests (Files): Likewise.
2101         * modules/round-tests (Files): Likewise.
2102         * modules/roundf-tests (Files): Likewise.
2103         * modules/roundl-tests (Files): Likewise.
2104         * modules/safe-alloc-tests (Files): Likewise.
2105         * modules/setenv-tests (Files): Likewise.
2106         * modules/sigaction-tests (Files): Likewise.
2107         * modules/signbit-tests (Files): Likewise.
2108         * modules/sleep-tests (Files): Likewise.
2109         * modules/snprintf-posix-tests (Files): Likewise.
2110         * modules/snprintf-tests (Files): Likewise.
2111         * modules/sprintf-posix-tests (Files): Likewise.
2112         * modules/stat-tests (Files): Likewise.
2113         * modules/stat-time-tests (Files): Likewise.
2114         * modules/strcasestr-tests (Files): Likewise.
2115         * modules/strchrnul-tests (Files): Likewise.
2116         * modules/strerror-tests (Files): Likewise.
2117         * modules/striconv-tests (Files): Likewise.
2118         * modules/striconveh-tests (Files): Likewise.
2119         * modules/striconveha-tests (Files): Likewise.
2120         * modules/strsignal-tests (Files): Likewise.
2121         * modules/strstr-tests (Files): Likewise.
2122         * modules/strtod-tests (Files): Likewise.
2123         * modules/strverscmp-tests (Files): Likewise.
2124         * modules/symlink-tests (Files): Likewise.
2125         * modules/symlinkat-tests (Files): Likewise.
2126         * modules/trunc-tests (Files): Likewise.
2127         * modules/truncf-tests (Files): Likewise.
2128         * modules/truncl-tests (Files): Likewise.
2129         * modules/uname-tests (Files): Likewise.
2130         * modules/unicase/cased-tests (Files): Likewise.
2131         * modules/unicase/ignorable-tests (Files): Likewise.
2132         * modules/unicase/locale-language-tests (Files): Likewise.
2133         * modules/unicase/tolower-tests (Files): Likewise.
2134         * modules/unicase/totitle-tests (Files): Likewise.
2135         * modules/unicase/toupper-tests (Files): Likewise.
2136         * modules/unicase/u8-casecmp-tests (Files): Likewise.
2137         * modules/unicase/u8-casecoll-tests (Files): Likewise.
2138         * modules/unicase/u8-casefold-tests (Files): Likewise.
2139         * modules/unicase/u8-is-cased-tests (Files): Likewise.
2140         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
2141         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
2142         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
2143         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
2144         * modules/unicase/u8-tolower-tests (Files): Likewise.
2145         * modules/unicase/u8-totitle-tests (Files): Likewise.
2146         * modules/unicase/u8-toupper-tests (Files): Likewise.
2147         * modules/unicase/u16-casecmp-tests (Files): Likewise.
2148         * modules/unicase/u16-casecoll-tests (Files): Likewise.
2149         * modules/unicase/u16-casefold-tests (Files): Likewise.
2150         * modules/unicase/u16-is-cased-tests (Files): Likewise.
2151         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
2152         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
2153         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
2154         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
2155         * modules/unicase/u16-tolower-tests (Files): Likewise.
2156         * modules/unicase/u16-totitle-tests (Files): Likewise.
2157         * modules/unicase/u16-toupper-tests (Files): Likewise.
2158         * modules/unicase/u32-casecmp-tests (Files): Likewise.
2159         * modules/unicase/u32-casecoll-tests (Files): Likewise.
2160         * modules/unicase/u32-casefold-tests (Files): Likewise.
2161         * modules/unicase/u32-is-cased-tests (Files): Likewise.
2162         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
2163         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
2164         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
2165         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
2166         * modules/unicase/u32-tolower-tests (Files): Likewise.
2167         * modules/unicase/u32-totitle-tests (Files): Likewise.
2168         * modules/unicase/u32-toupper-tests (Files): Likewise.
2169         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
2170         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
2171         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
2172         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
2173         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
2174         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
2175         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
2176         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
2177         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
2178         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
2179         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
2180         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
2181         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
2182         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
2183         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
2184         * modules/unictype/bidicategory-name-tests (Files): Likewise.
2185         * modules/unictype/bidicategory-of-tests (Files): Likewise.
2186         * modules/unictype/bidicategory-test-tests (Files): Likewise.
2187         * modules/unictype/block-list-tests (Files): Likewise.
2188         * modules/unictype/block-of-tests (Files): Likewise.
2189         * modules/unictype/block-test-tests (Files): Likewise.
2190         * modules/unictype/category-C-tests (Files): Likewise.
2191         * modules/unictype/category-Cc-tests (Files): Likewise.
2192         * modules/unictype/category-Cf-tests (Files): Likewise.
2193         * modules/unictype/category-Cn-tests (Files): Likewise.
2194         * modules/unictype/category-Co-tests (Files): Likewise.
2195         * modules/unictype/category-Cs-tests (Files): Likewise.
2196         * modules/unictype/category-L-tests (Files): Likewise.
2197         * modules/unictype/category-Ll-tests (Files): Likewise.
2198         * modules/unictype/category-Lm-tests (Files): Likewise.
2199         * modules/unictype/category-Lo-tests (Files): Likewise.
2200         * modules/unictype/category-Lt-tests (Files): Likewise.
2201         * modules/unictype/category-Lu-tests (Files): Likewise.
2202         * modules/unictype/category-M-tests (Files): Likewise.
2203         * modules/unictype/category-Mc-tests (Files): Likewise.
2204         * modules/unictype/category-Me-tests (Files): Likewise.
2205         * modules/unictype/category-Mn-tests (Files): Likewise.
2206         * modules/unictype/category-N-tests (Files): Likewise.
2207         * modules/unictype/category-Nd-tests (Files): Likewise.
2208         * modules/unictype/category-Nl-tests (Files): Likewise.
2209         * modules/unictype/category-No-tests (Files): Likewise.
2210         * modules/unictype/category-P-tests (Files): Likewise.
2211         * modules/unictype/category-Pc-tests (Files): Likewise.
2212         * modules/unictype/category-Pd-tests (Files): Likewise.
2213         * modules/unictype/category-Pe-tests (Files): Likewise.
2214         * modules/unictype/category-Pf-tests (Files): Likewise.
2215         * modules/unictype/category-Pi-tests (Files): Likewise.
2216         * modules/unictype/category-Po-tests (Files): Likewise.
2217         * modules/unictype/category-Ps-tests (Files): Likewise.
2218         * modules/unictype/category-S-tests (Files): Likewise.
2219         * modules/unictype/category-Sc-tests (Files): Likewise.
2220         * modules/unictype/category-Sk-tests (Files): Likewise.
2221         * modules/unictype/category-Sm-tests (Files): Likewise.
2222         * modules/unictype/category-So-tests (Files): Likewise.
2223         * modules/unictype/category-Z-tests (Files): Likewise.
2224         * modules/unictype/category-Zl-tests (Files): Likewise.
2225         * modules/unictype/category-Zp-tests (Files): Likewise.
2226         * modules/unictype/category-Zs-tests (Files): Likewise.
2227         * modules/unictype/category-and-not-tests (Files): Likewise.
2228         * modules/unictype/category-and-tests (Files): Likewise.
2229         * modules/unictype/category-byname-tests (Files): Likewise.
2230         * modules/unictype/category-name-tests (Files): Likewise.
2231         * modules/unictype/category-none-tests (Files): Likewise.
2232         * modules/unictype/category-of-tests (Files): Likewise.
2233         * modules/unictype/category-or-tests (Files): Likewise.
2234         * modules/unictype/category-test-withtable-tests (Files): Likewise.
2235         * modules/unictype/combining-class-tests (Files): Likewise.
2236         * modules/unictype/ctype-alnum-tests (Files): Likewise.
2237         * modules/unictype/ctype-alpha-tests (Files): Likewise.
2238         * modules/unictype/ctype-blank-tests (Files): Likewise.
2239         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
2240         * modules/unictype/ctype-digit-tests (Files): Likewise.
2241         * modules/unictype/ctype-graph-tests (Files): Likewise.
2242         * modules/unictype/ctype-lower-tests (Files): Likewise.
2243         * modules/unictype/ctype-print-tests (Files): Likewise.
2244         * modules/unictype/ctype-punct-tests (Files): Likewise.
2245         * modules/unictype/ctype-space-tests (Files): Likewise.
2246         * modules/unictype/ctype-upper-tests (Files): Likewise.
2247         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
2248         * modules/unictype/decimal-digit-tests (Files): Likewise.
2249         * modules/unictype/digit-tests (Files): Likewise.
2250         * modules/unictype/mirror-tests (Files): Likewise.
2251         * modules/unictype/numeric-tests (Files): Likewise.
2252         * modules/unictype/property-alphabetic-tests (Files): Likewise.
2253         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
2254         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
2255         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
2256         Likewise.
2257         * modules/unictype/property-bidi-block-separator-tests (Files):
2258         Likewise.
2259         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
2260         Likewise.
2261         * modules/unictype/property-bidi-common-separator-tests (Files):
2262         Likewise.
2263         * modules/unictype/property-bidi-control-tests (Files): Likewise.
2264         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
2265         Likewise.
2266         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
2267         Likewise.
2268         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
2269         Likewise.
2270         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
2271         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
2272         Likewise.
2273         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
2274         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
2275         Likewise.
2276         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
2277         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
2278         * modules/unictype/property-bidi-segment-separator-tests (Files):
2279         Likewise.
2280         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
2281         * modules/unictype/property-byname-tests (Files): Likewise.
2282         * modules/unictype/property-combining-tests (Files): Likewise.
2283         * modules/unictype/property-composite-tests (Files): Likewise.
2284         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
2285         * modules/unictype/property-dash-tests (Files): Likewise.
2286         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
2287         * modules/unictype/property-default-ignorable-code-point-tests (Files):
2288         Likewise.
2289         * modules/unictype/property-deprecated-tests (Files): Likewise.
2290         * modules/unictype/property-diacritic-tests (Files): Likewise.
2291         * modules/unictype/property-extender-tests (Files): Likewise.
2292         * modules/unictype/property-format-control-tests (Files): Likewise.
2293         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
2294         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
2295         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
2296         * modules/unictype/property-hex-digit-tests (Files): Likewise.
2297         * modules/unictype/property-hyphen-tests (Files): Likewise.
2298         * modules/unictype/property-id-continue-tests (Files): Likewise.
2299         * modules/unictype/property-id-start-tests (Files): Likewise.
2300         * modules/unictype/property-ideographic-tests (Files): Likewise.
2301         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
2302         * modules/unictype/property-ids-trinary-operator-tests (Files):
2303         Likewise.
2304         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
2305         * modules/unictype/property-iso-control-tests (Files): Likewise.
2306         * modules/unictype/property-join-control-tests (Files): Likewise.
2307         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
2308         * modules/unictype/property-line-separator-tests (Files): Likewise.
2309         * modules/unictype/property-logical-order-exception-tests (Files):
2310         Likewise.
2311         * modules/unictype/property-lowercase-tests (Files): Likewise.
2312         * modules/unictype/property-math-tests (Files): Likewise.
2313         * modules/unictype/property-non-break-tests (Files): Likewise.
2314         * modules/unictype/property-not-a-character-tests (Files): Likewise.
2315         * modules/unictype/property-numeric-tests (Files): Likewise.
2316         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
2317         * modules/unictype/property-other-default-ignorable-code-point-tests
2318         (Files): Likewise.
2319         * modules/unictype/property-other-grapheme-extend-tests (Files):
2320         Likewise.
2321         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
2322         * modules/unictype/property-other-id-start-tests (Files): Likewise.
2323         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
2324         * modules/unictype/property-other-math-tests (Files): Likewise.
2325         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
2326         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
2327         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
2328         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
2329         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
2330         * modules/unictype/property-private-use-tests (Files): Likewise.
2331         * modules/unictype/property-punctuation-tests (Files): Likewise.
2332         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
2333         * modules/unictype/property-radical-tests (Files): Likewise.
2334         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
2335         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
2336         * modules/unictype/property-space-tests (Files): Likewise.
2337         * modules/unictype/property-terminal-punctuation-tests (Files):
2338         Likewise.
2339         * modules/unictype/property-test-tests (Files): Likewise.
2340         * modules/unictype/property-titlecase-tests (Files): Likewise.
2341         * modules/unictype/property-unassigned-code-value-tests (Files):
2342         Likewise.
2343         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
2344         * modules/unictype/property-uppercase-tests (Files): Likewise.
2345         * modules/unictype/property-variation-selector-tests (Files): Likewise.
2346         * modules/unictype/property-white-space-tests (Files): Likewise.
2347         * modules/unictype/property-xid-continue-tests (Files): Likewise.
2348         * modules/unictype/property-xid-start-tests (Files): Likewise.
2349         * modules/unictype/property-zero-width-tests (Files): Likewise.
2350         * modules/unictype/scripts-tests (Files): Likewise.
2351         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
2352         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
2353         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
2354         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
2355         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
2356         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
2357         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
2358         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
2359         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
2360         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
2361         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
2362         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
2363         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
2364         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
2365         * modules/uninorm/composition-tests (Files): Likewise.
2366         * modules/uninorm/decomposing-form-tests (Files): Likewise.
2367         * modules/uninorm/decomposition-tests (Files): Likewise.
2368         * modules/uninorm/filter-tests (Files): Likewise.
2369         * modules/uninorm/nfc-tests (Files): Likewise.
2370         * modules/uninorm/nfd-tests (Files): Likewise.
2371         * modules/uninorm/nfkc-tests (Files): Likewise.
2372         * modules/uninorm/nfkd-tests (Files): Likewise.
2373         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
2374         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
2375         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
2376         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
2377         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
2378         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
2379         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
2380         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
2381         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
2382         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
2383         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
2384         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
2385         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
2386         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
2387         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
2388         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
2389         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
2390         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
2391         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
2392         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
2393         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
2394         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
2395         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
2396         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
2397         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
2398         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
2399         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
2400         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
2401         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
2402         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
2403         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
2404         * modules/uniwidth/u8-width-tests (Files): Likewise.
2405         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
2406         * modules/uniwidth/u16-width-tests (Files): Likewise.
2407         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
2408         * modules/uniwidth/u32-width-tests (Files): Likewise.
2409         * modules/uniwidth/width-tests (Files): Likewise.
2410         * modules/unlink-tests (Files): Likewise.
2411         * modules/unsetenv-tests (Files): Likewise.
2412         * modules/usleep-tests (Files): Likewise.
2413         * modules/utimens-tests (Files): Likewise.
2414         * modules/utimensat-tests (Files): Likewise.
2415         * modules/vasnprintf-posix-tests (Files): Likewise.
2416         * modules/vasnprintf-tests (Files): Likewise.
2417         * modules/vasprintf-posix-tests (Files): Likewise.
2418         * modules/vasprintf-tests (Files): Likewise.
2419         * modules/vdprintf-posix-tests (Files): Likewise.
2420         * modules/vfprintf-posix-tests (Files): Likewise.
2421         * modules/vprintf-posix-tests (Files): Likewise.
2422         * modules/vsnprintf-posix-tests (Files): Likewise.
2423         * modules/vsnprintf-tests (Files): Likewise.
2424         * modules/vsprintf-posix-tests (Files): Likewise.
2425         * modules/wcrtomb-tests (Files): Likewise.
2426         * modules/wcsnrtombs-tests (Files): Likewise.
2427         * modules/wcsrtombs-tests (Files): Likewise.
2428         * modules/wctype-tests (Files): Likewise.
2429         * modules/wcwidth-tests (Files): Likewise.
2430         * modules/xmemdup0-tests (Files): Likewise.
2431         * modules/xprintf-posix-tests (Files): Likewise.
2432         * modules/xvasprintf-tests (Files): Likewise.
2433
2434 2009-12-24  Eric Blake  <ebb9@byu.net>
2435
2436         test-nanosleep: fix typo
2437         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
2438         patch.
2439         Reported by Bruno Haible.
2440
2441 2009-12-24  Bruno Haible  <bruno@clisp.org>
2442
2443         Reduce namespace pollution on glibc systems.
2444         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
2445         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
2446         systems.
2447         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
2448         <getopt.h> on glibc systems.
2449         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
2450         systems.
2451         * lib/fcntl.c: Include <unistd.h> here instead.
2452
2453 2009-12-24  Bruno Haible  <bruno@clisp.org>
2454
2455         * lib/stdlib.in.h (includes): Fix typo in today's commit.
2456
2457 2009-12-24  Eric Blake  <ebb9@byu.net>
2458
2459         tests: add signature checks
2460         * tests/signature.h (SIGNATURE_CHECK): New file.
2461         * modules/atexit-tests (Files): Use it.
2462         * modules/btowc-tests (Files): Likewise.
2463         * modules/canonicalize-lgpl-tests (Files): Likewise.
2464         * modules/ceilf-tests (Files): Likewise.
2465         * modules/ceill-tests (Files): Likewise.
2466         * modules/chown-tests (Files): Likewise.
2467         * modules/dprintf-posix-tests (Files): Likewise.
2468         * modules/dup2-tests (Files): Likewise.
2469         * modules/dup3-tests (Files): Likewise.
2470         * modules/duplocale-tests (Files): Likewise.
2471         * modules/fchdir-tests (Files): Likewise.
2472         * modules/fcntl-tests (Files): Likewise.
2473         * modules/fdopendir-tests (Files): Likewise.
2474         * modules/fflush-tests (Files): Likewise.
2475         * modules/flock-tests (Files): Likewise.
2476         * modules/floorf-tests (Files): Likewise.
2477         * modules/floorl-tests (Files): Likewise.
2478         * modules/fnmatch-tests (Files): Likewise.
2479         * modules/fopen-tests (Files): Likewise.
2480         * modules/fprintf-posix-tests (Files): Likewise.
2481         * modules/freopen-tests (Files): Likewise.
2482         * modules/frexp-nolibm-tests (Files): Likewise.
2483         * modules/frexp-tests (Files): Likewise.
2484         * modules/frexpl-nolibm-tests (Files): Likewise.
2485         * modules/frexpl-tests (Files): Likewise.
2486         * modules/fseek-tests (Files): Likewise.
2487         * modules/fseeko-tests (Files): Likewise.
2488         * modules/fsync-tests (Files): Likewise.
2489         * modules/ftell-tests (Files): Likewise.
2490         * modules/ftello-tests (Files): Likewise.
2491         * modules/futimens-tests (Files): Likewise.
2492         * modules/getaddrinfo-tests (Files): Likewise.
2493         * modules/getcwd-tests (Files): Likewise.
2494         * modules/getdelim-tests (Files): Likewise.
2495         * modules/getdtablesize-tests (Files): Likewise.
2496         * modules/getgroups-tests (Files): Likewise.
2497         * modules/gethostname-tests (Files): Likewise.
2498         * modules/getline-tests (Files): Likewise.
2499         * modules/getopt-posix-tests (Files): Likewise.
2500         * modules/gettimeofday-tests (Files): Likewise.
2501         * modules/glob-tests (Files): Likewise.
2502         * modules/iconv-tests (Files): Likewise.
2503         * modules/inet_ntop-tests (Files): Likewise.
2504         * modules/inet_pton-tests (Files): Likewise.
2505         * modules/isblank-tests (Files): Likewise.
2506         * modules/lchown-tests (Files): Likewise.
2507         * modules/ldexpl-tests (Files): Likewise.
2508         * modules/link-tests (Files): Likewise.
2509         * modules/linkat-tests (Files): Likewise.
2510         * modules/lseek-tests (Files): Likewise.
2511         * modules/lstat-tests (Files): Likewise.
2512         * modules/mbrtowc-tests (Files): Likewise.
2513         * modules/mbsinit-tests (Files): Likewise.
2514         * modules/mbsnrtowcs-tests (Files): Likewise.
2515         * modules/mbsrtowcs-tests (Files): Likewise.
2516         * modules/memchr-tests (Files): Likewise.
2517         * modules/memcmp-tests (Files): Likewise.
2518         * modules/memmem-tests (Files): Likewise.
2519         * modules/memrchr-tests (Files): Likewise.
2520         * modules/mkdir-tests (Files): Likewise.
2521         * modules/mkfifo-tests (Files): Likewise.
2522         * modules/mkfifoat-tests (Files): Likewise.
2523         * modules/mknod-tests (Files): Likewise.
2524         * modules/nanosleep-tests (Files): Likewise.
2525         * modules/nl_langinfo-tests (Files): Likewise.
2526         * modules/obstack-printf-tests (Files): Likewise.
2527         * modules/open-tests (Files): Likewise.
2528         * modules/openat-tests (Files): Likewise.
2529         * modules/perror-tests (Files): Likewise.
2530         * modules/pipe2-tests (Files): Likewise.
2531         * modules/poll-tests (Files): Likewise.
2532         * modules/popen-tests (Files): Likewise.
2533         * modules/posix_spawn-tests (Files): Likewise.
2534         * modules/posix_spawnp-tests (Files): Likewise.
2535         * modules/pread-tests (Files): Likewise.
2536         * modules/printf-posix-tests (Files): Likewise.
2537         * modules/pty-tests (Files): Likewise.
2538         * modules/random_r-tests (Files): Likewise.
2539         * modules/rawmemchr-tests (Files): Likewise.
2540         * modules/readlink-tests (Files): Likewise.
2541         * modules/remove-tests (Files): Likewise.
2542         * modules/rename-tests (Files): Likewise.
2543         * modules/renameat-tests (Files): Likewise.
2544         * modules/rmdir-tests (Files): Likewise.
2545         * modules/round-tests (Files): Likewise.
2546         * modules/roundf-tests (Files): Likewise.
2547         * modules/roundl-tests (Files): Likewise.
2548         * modules/select-tests (Files): Likewise.
2549         * modules/setenv-tests (Files): Likewise.
2550         * modules/sigaction-tests (Files): Likewise.
2551         * modules/sleep-tests (Files): Likewise.
2552         * modules/snprintf-posix-tests (Files): Likewise.
2553         * modules/snprintf-tests (Files): Likewise.
2554         * modules/sprintf-posix-tests (Files): Likewise.
2555         * modules/stat-tests (Files): Likewise.
2556         * modules/strcasestr-tests (Files): Likewise.
2557         * modules/strchrnul-tests (Files): Likewise.
2558         * modules/strerror-tests (Files): Likewise.
2559         * modules/strsignal-tests (Files): Likewise.
2560         * modules/strstr-tests (Files): Likewise.
2561         * modules/strtod-tests (Files): Likewise.
2562         * modules/strverscmp-tests (Files): Likewise.
2563         * modules/symlink-tests (Files): Likewise.
2564         * modules/symlinkat-tests (Files): Likewise.
2565         * modules/times-tests (Files): Likewise.
2566         * modules/trunc-tests (Files): Likewise.
2567         * modules/truncf-tests (Files): Likewise.
2568         * modules/truncl-tests (Files): Likewise.
2569         * modules/tsearch-tests (Files): Likewise.
2570         * modules/uname-tests (Files): Likewise.
2571         * modules/unlink-tests (Files): Likewise.
2572         * modules/unsetenv-tests (Files): Likewise.
2573         * modules/usleep-tests (Files): Likewise.
2574         * modules/utimensat-tests (Files): Likewise.
2575         * modules/vasprintf-tests (Files): Likewise.
2576         * modules/vdprintf-posix-tests (Files): Likewise.
2577         * modules/vfprintf-posix-tests (Files): Likewise.
2578         * modules/vprintf-posix-tests (Files): Likewise.
2579         * modules/vsnprintf-posix-tests (Files): Likewise.
2580         * modules/vsnprintf-tests (Files): Likewise.
2581         * modules/vsprintf-posix-tests (Files): Likewise.
2582         * modules/wcrtomb-tests (Files): Likewise.
2583         * modules/wcsnrtombs-tests (Files): Likewise.
2584         * modules/wcsrtombs-tests (Files): Likewise.
2585         * modules/wcwidth-tests (Files): Likewise.
2586         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
2587         * tests/test-isinf.c (isinf): Likewise.
2588         * tests/test-isnan.c (isnan): Likewise.
2589         * tests/test-signbit.c (signbit): Likewise.
2590         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
2591         declaration, either as macro or with correct signature.
2592         (select): Ensure function under test is declared with correct
2593         signature in correct header.
2594         * tests/test-atexit.c (atexit): Likewise.
2595         * tests/test-btowc.c (btowc): Likewise.
2596         * tests/test-canonicalize-lgpl.c (realpath)
2597         (canonicalize_file_name): Likewise.
2598         * tests/test-ceilf1.c (ceilf): Likewise.
2599         * tests/test-ceill.c (ceill): Likewise.
2600         * tests/test-chown.c (chown): Likewise.
2601         * tests/test-dprintf-posix.c (dprintf): Likewise.
2602         * tests/test-dup2.c (dup2): Likewise.
2603         * tests/test-dup3.c (dup3): Likewise.
2604         * tests/test-duplocale.c (duplocale): Likewise.
2605         * tests/test-fchdir.c (fchdir): Likewise.
2606         * tests/test-fchownat.c (fchownat): Likewise.
2607         * tests/test-fcntl.c (fcntl): Likewise.
2608         * tests/test-fdopendir.c (fdopendir): Likewise.
2609         * tests/test-fflush.c (fflush): Likewise.
2610         * tests/test-flock.c (flock): Likewise.
2611         * tests/test-floorf1.c (floorf): Likewise.
2612         * tests/test-floorl.c (floorl): Likewise.
2613         * tests/test-fnmatch.c (fnmatch): Likewise.
2614         * tests/test-fopen.c (fopen): Likewise.
2615         * tests/test-fprintf-posix.c (fprintf): Likewise.
2616         * tests/test-freopen.c (freopen): Likewise.
2617         * tests/test-frexp.c (frexp): Likewise.
2618         * tests/test-frexpl.c (frexpl): Likewise.
2619         * tests/test-fseek.c (fseek): Likewise.
2620         * tests/test-fseeko.c (fseeko): Likewise.
2621         * tests/test-fstatat.c (fstatat): Likewise.
2622         * tests/test-fsync.c (fsync): Likewise.
2623         * tests/test-ftell.c (ftell): Likewise.
2624         * tests/test-ftello.c (ftello): Likewise.
2625         * tests/test-futimens.c (futimens): Likewise.
2626         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
2627         (gai_strerror): Likewise.
2628         * tests/test-getcwd.c (getcwd): Likewise.
2629         * tests/test-getdelim.c (getdelim): Likewise.
2630         * tests/test-getdtablesize.c (getdtablesize): Likewise.
2631         * tests/test-getgroups.c (getgroups): Likewise.
2632         * tests/test-gethostname.c (gethostname): Likewise.
2633         * tests/test-getline.c (getline): Likewise.
2634         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
2635         Likewise.
2636         * tests/test-gettimeofday.c (gettimeofday): Likewise.
2637         * tests/test-glob.c (glob, globfree): Likewise.
2638         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
2639         * tests/test-inet_ntop.c (inet_ntop): Likewise.
2640         * tests/test-inet_pton.c (inet_pton): Likewise.
2641         * tests/test-isblank.c (isblank): Likewise.
2642         * tests/test-lchown.c (lchown): Likewise.
2643         * tests/test-ldexpl.c (ldexpl): Likewise.
2644         * tests/test-link.c (link): Likewise.
2645         * tests/test-linkat.c (linkat): Likewise.
2646         * tests/test-lseek.c (lseek): Likewise.
2647         * tests/test-lstat.c (lstat): Likewise.
2648         * tests/test-mbrtowc.c (mbrtowc): Likewise.
2649         * tests/test-mbsinit.c (mbsinit): Likewise.
2650         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
2651         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
2652         * tests/test-memchr.c (memchr): Likewise.
2653         * tests/test-memcmp.c (memcmp): Likewise.
2654         * tests/test-memmem.c (memmem): Likewise.
2655         * tests/test-memrchr.c (memrchr): Likewise.
2656         * tests/test-mkdir.c (mkdir): Likewise.
2657         * tests/test-mkdirat.c (mkdirat): Likewise.
2658         * tests/test-mkfifo.c (mkfifo): Likewise.
2659         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
2660         * tests/test-mknod.c (mknod): Likewise.
2661         * tests/test-nanosleep.c (nanosleep): Likewise.
2662         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
2663         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
2664         Likewise.
2665         * tests/test-open.c (open): Likewise.
2666         * tests/test-openat.c (openat): Likewise.
2667         * tests/test-perror.c (perror): Likewise.
2668         * tests/test-pipe2.c (pipe2): Likewise.
2669         * tests/test-poll.c (poll): Likewise.
2670         * tests/test-popen.c (popen, pclose): Likewise.
2671         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
2672         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
2673         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
2674         (posix_spawn_file_actions_destroy)
2675         (posix_spawn_file_actions_addclose)
2676         (posix_spawn_file_actions_addopen)
2677         (posix_spawn_file_actions_adddup2): Likewise.
2678         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
2679         * tests/test-pread.c (pread): Likewise.
2680         * tests/test-printf-posix.c (printf): Likewise.
2681         * tests/test-pty.c (openpty, forkpty): Likewise.
2682         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
2683         (random_r): Likewise.
2684         * tests/test-rawmemchr.c (rawmemchr): Likewise.
2685         * tests/test-readlink.c (readlink): Likewise.
2686         * tests/test-remove.c (remove): Likewise.
2687         * tests/test-rename.c (rename): Likewise.
2688         * tests/test-renameat.c (renameat): Likewise.
2689         * tests/test-rmdir.c (rmdir): Likewise.
2690         * tests/test-round1.c (round): Likewise.
2691         * tests/test-roundf1.c (roundf): Likewise.
2692         * tests/test-roundl.c (roundl): Likewise.
2693         * tests/test-setenv.c (setenv): Likewise.
2694         * tests/test-sigaction.c (sigaction): Likewise.
2695         * tests/test-sleep.c (sleep): Likewise.
2696         * tests/test-snprintf.c (snprintf): Likewise.
2697         * tests/test-sprintf-posix.c (sprintf): Likewise.
2698         * tests/test-stat.c (stat): Likewise.
2699         * tests/test-stpncpy.c (stpncpy): Likewise.
2700         * tests/test-strcasestr.c (strcasestr): Likewise.
2701         * tests/test-strchrnul.c (strchrnul): Likewise.
2702         * tests/test-strerror.c (strerror): Likewise.
2703         * tests/test-strsignal.c (strsignal): Likewise.
2704         * tests/test-strstr.c (strstr): Likewise.
2705         * tests/test-strtod.c (strtod): Likewise.
2706         * tests/test-strverscmp.c (strverscmp): Likewise.
2707         * tests/test-symlink.c (symlink): Likewise.
2708         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
2709         * tests/test-times.c (times): Likewise.
2710         * tests/test-trunc1.c (trunc): Likewise.
2711         * tests/test-truncf1.c (truncf): Likewise.
2712         * tests/test-truncl.c (truncl): Likewise.
2713         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
2714         Likewise.
2715         * tests/test-uname.c (uname): Likewise.
2716         * tests/test-unlink.c (unlink): Likewise.
2717         * tests/test-unlinkat.c (unlinkat): Likewise.
2718         * tests/test-unsetenv.c (unsetenv): Likewise.
2719         * tests/test-usleep.c (usleep): Likewise.
2720         * tests/test-utimensat.c (utimensat): Likewise.
2721         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
2722         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
2723         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
2724         * tests/test-vprintf-posix.c (vprintf): Likewise.
2725         * tests/test-vsnprintf.c (vsnprintf): Likewise.
2726         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
2727         * tests/test-wcrtomb.c (wcrtomb): Likewise.
2728         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
2729         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
2730         * tests/test-wcwidth.c (wcwidth): Likewise.
2731
2732         build: pull in conditional headers during GNULIB_POSIXCHECK
2733         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
2734         definitions from any conditionally-included headers.
2735         * lib/stdlib.in.h (includes): Likewise.
2736         * lib/unistd.in.h (includes): Likewise.
2737
2738 2009-12-24  Bruno Haible  <bruno@clisp.org>
2739
2740         * tests/test-argv-iter.c: Include header file being tested immediately
2741         after config.h.
2742         * tests/test-base64.c: Likewise.
2743         * tests/test-flock.c: Likewise.
2744         * tests/test-fsync.c: Likewise.
2745         * tests/test-getdate.c: Likewise.
2746         * tests/test-getndelim2.c: Likewise.
2747         * tests/test-isfinite.c: Likewise.
2748         * tests/test-isinf.c: Likewise.
2749         * tests/test-strerror.c: Likewise.
2750         * tests/test-strsignal.c: Likewise.
2751
2752 2009-12-23  Eric Blake  <ebb9@byu.net>
2753
2754         unistd: work around cygwin bug
2755         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
2756         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
2757         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
2758
2759 2009-12-23  Bruno Haible  <bruno@clisp.org>
2760
2761         localename: More tests.
2762         * tests/test-localename.c (SIZEOF): New macro.
2763         (categories): New variable.
2764         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
2765         test_locale_name_default): Add test w.r.t. thread locale.
2766         (test_locale_name_thread): New function.
2767         (main): Invoke it.
2768
2769         localename: Make aware of thread locale.
2770         * lib/localename.h (gl_locale_name_thread): New declaration.
2771         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
2772         behaviour with respect to thread locale.
2773         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
2774         <langinfo.h>, glthread/lock.h.
2775         (SIZE_BITS): New macro.
2776         (string_hash): New function.
2777         (struct hash_node): New type.
2778         (HASH_TABLE_SIZE): New macro.
2779         (struniq_hash_table, struniq_lock): New variables.
2780         (struniq): New function.
2781         (gl_locale_name_thread): New function.
2782         (gl_locale_name): Invoke it.
2783         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
2784         * modules/localename (Depends-on): Add lock.
2785         Reported by Mike Gran <spk121@yahoo.com>.
2786
2787 2009-12-23  Eric Blake  <ebb9@byu.net>
2788
2789         va-args: new module
2790         * modules/va-args: New file.
2791         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
2792         * MODULES.html.sh (Core language properties): Mention it.
2793
2794         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
2795         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
2796         named alias for __attribute__((__unused__)).
2797         * lib/chown.c: Update client.
2798         * lib/fchmodat.c: Likewise.
2799         * lib/fts.c: Likewise.
2800         * lib/getdate.y: Likewise.
2801         * lib/getgroups.c: Likewise.
2802         * lib/getopt.c: Likewise.
2803         * lib/getugroups.c: Likewise.
2804         * lib/mkdir.c: Likewise.
2805         * lib/mkfifo.c: Likewise.
2806         * lib/mkfifoat.c: Likewise.
2807         * lib/mknod.c: Likewise.
2808         * lib/mknodat.c: Likewise.
2809         * lib/readlink.c: Likewise.
2810         * lib/se-context.in.h: Likewise.
2811         * lib/se-selinux.in.h: Likewise.
2812         * lib/sockets.c: Likewise.
2813         * lib/symlink.c: Likewise.
2814         * lib/symlinkat.c: Likewise.
2815         * lib/unicodeio.c: Likewise.
2816         * lib/unistr.h: Likewise.
2817         * tests/test-areadlink.c: Likewise.
2818         * tests/test-areadlinkat.c: Likewise.
2819         * tests/test-filenamecat.c: Likewise.
2820         * tests/test-fseeko.c: Likewise.
2821         * tests/test-ftello.c: Likewise.
2822         * tests/test-getdate.c: Likewise.
2823         * tests/test-getgroups.c: Likewise.
2824         * tests/test-gethostname.c: Likewise.
2825         * tests/test-quotearg.c: Likewise.
2826         * tests/test-version-etc.c: Likewise.
2827         * tests/test-xalloc-die.c: Likewise.
2828         * tests/test-xfprintf-posix.c: Likewise.
2829         * tests/test-xprintf-posix.c: Likewise.
2830         * tests/test-xvasprintf.c: Likewise.
2831
2832         tests: avoid compiler warnings
2833         * tests/test-fcntl.c (main): Delete unused parameters.
2834         * tests/test-freopen-safer.c (main): Likewise.
2835         * tests/test-xalloc-die.c (main): Mark unused parameters.
2836         * tests/test-fseeko.c (main): Likewise.
2837         * tests/test-ftello.c (main): Likewise.
2838         * tests/test-nanosleep.c (main): Avoid declaration warning.
2839         * tests/test-sleep.c (main): Likewise.
2840         * tests/test-unsetenv.c (main): Silence warning about string
2841         literal.
2842         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
2843
2844 2009-12-23  Bruno Haible  <bruno@clisp.org>
2845
2846         * tests/test-localename.c (test_locale_name): New function, extracted
2847         from main. Also test mixed situations.
2848         (test_locale_name_posix, test_locale_name_environ,
2849         test_locale_name_default): New functions.
2850         (main): Invoke them all.
2851         * modules/localename-tests (configure.ac): Test for newlocale.
2852
2853 2009-12-23  Bruno Haible  <bruno@clisp.org>
2854
2855         unistd: Ensure getcwd gets declared before being overridden.
2856         * lib/unistd.in.h: Conditionally include <io.h>.
2857
2858 2009-12-22  Bruno Haible  <bruno@clisp.org>
2859
2860         wchar: Diagnose broken combination of glibc and gcc versions and flags.
2861         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
2862         (gl_WCHAR_H): Invoke it.
2863         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
2864         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
2865         Reported by Karl Berry <karl@freefriends.org>.
2866
2867 2009-12-22  Eric Blake  <ebb9@byu.net>
2868
2869         math, unistd: avoid redundant includes
2870         * lib/math.in.h (isnan): No need to re-include <math.h>.
2871         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
2872
2873         getsubopt: work around cygwin bug
2874         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
2875         avoid conflicting with system getsubopt.
2876         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
2877         bug.
2878
2879         getopt: synchronize from glibc
2880         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
2881         parameter order.  Adjust all callers.
2882         (_getopt_internal_r, main): Adjust quoting in error messages.
2883         Drop considerations for outdated POSIX 1003.2 error message.
2884         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
2885         callers.
2886         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
2887
2888         test-getopt: test stderr behavior
2889         * modules/getopt-posix-tests (Depends-on): Add dup2.
2890         * tests/test-getopt.c (ASSERT): Avoid stderr.
2891         (main): Move stderr to a temporary file.
2892         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
2893         Instead, add parameter to inform caller if output occurred.
2894         (test_getopt): Adjust all existing tests to expect silence, and
2895         add new tests of leading ":".
2896         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
2897         glibc shortcomings with leading "-:" or "+:" in optstring.
2898         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
2899         Likewise.
2900         * doc/posix-functions/getopt.texi (getopt): Likewise.
2901
2902         test-getopt: enhance test
2903         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
2904         supports optind=0.
2905         * tests/test-getopt.c (OPTIND_MIN): Move...
2906         * tests/test-getopt.h (OPTIND_MIN): ...here.
2907         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
2908         Require that optind=0 works, since modern BSD supports it in
2909         addition to optreset, and since coreutils expects it.
2910         (test_getopt_long_only): New test.
2911         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
2912         glibc shortcomings with 'W;', and enforcement of optind=0.
2913         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
2914         Likewise.
2915
2916 2009-12-21  Bruno Haible  <bruno@clisp.org>
2917
2918         localename: Improvements for MacOS X and Cygwin.
2919         * lib/localename.h (gl_locale_name_environ): New declaration.
2920         * lib/localename.c (gl_locale_name_environ): New function, extracted from
2921         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
2922         (gl_locale_name_posix): Invoke it.
2923         (gl_locale_name_default): Add comments. Use Windows native API also on
2924         Cygwin.
2925
2926 2009-12-21  Bruno Haible  <bruno@clisp.org>
2927
2928         Update list of Win32 locale ids.
2929         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
2930         (LANG_SAMI): Renamed from LANG_SAAMI.
2931         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
2932         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
2933         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
2934         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
2935         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
2936         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
2937         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
2938         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
2939         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
2940         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
2941         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
2942         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
2943         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
2944         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
2945         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
2946         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
2947         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
2948         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
2949         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
2950         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
2951         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
2952         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
2953         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
2954         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
2955         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
2956         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
2957         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
2958         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
2959         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
2960         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
2961         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
2962         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
2963         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
2964         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
2965         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
2966         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
2967         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
2968         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
2969         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
2970         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
2971         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
2972         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
2973         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
2974         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
2975         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
2976         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
2977         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
2978         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
2979         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
2980         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
2981         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
2982         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
2983         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
2984         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
2985         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
2986         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
2987         Add more languages and countries for Sami, Sorbian. Add more countries
2988         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
2989         for Pashto. Change country for Syriac, Tswana.
2990
2991 2009-12-21  Eric Blake  <ebb9@byu.net>
2992
2993         test-utimens: avoid spurious failure
2994         * tests/test-chown.h (nap): Factor...
2995         * tests/nap.h: ...into new file.
2996         * tests/test-lchown.h (nap): Avoid duplication.
2997         * tests/test-utimens-common.h (nap): Use shared implementation,
2998         necessary on file systems with 1-second resolution.
2999         * modules/chown-tests (Files): Include new file.
3000         * modules/fdutimensat-tests (Files): Likewise.
3001         * modules/futimens-tests (Files): Likewise.
3002         * modules/lchown-tests (Files): Likewise.
3003         * modules/openat-tests (Files): Likewise.
3004         * modules/utimens-tests (Files): Likewise.
3005         * modules/utimensat-tests (Files): Likewise.
3006
3007 2009-12-19  Eric Blake  <ebb9@byu.net>
3008
3009         futimens, utimensat: work around Linux bug
3010         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
3011         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
3012         * lib/utimensat.c (rpl_utimensat): Work around it.
3013         * lib/futimens.c (rpl_futimens): Adjust comment.
3014
3015         utimens: work around Linux ctime bug
3016         * lib/utimens.c (detect_ctime_bug): New helper function.
3017         (update_timespec): Differentiate between workaround needed for
3018         this bug vs. what is needed for systems that lack utimensat.
3019         (fdutimens, lutimens): Work around bug.
3020
3021         utimens: check for ctime update
3022         * tests/test-utimens-common.h (check_ctime): Define.
3023         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
3024         * tests/test-futimens.h (test_futimens): Likewise.
3025         * tests/test-lutimens.h (test_lutimens): Likewise.
3026         * doc/posix-functions/futimens.texi (futimens): Document the bug.
3027         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
3028
3029 2009-12-19  Bruno Haible  <bruno@clisp.org>
3030
3031         dprintf-posix: Check against memory leak fixed on 2009-12-15.
3032         * tests/test-dprintf-posix2.sh: New file.
3033         * tests/test-dprintf-posix2.c: New file.
3034         * modules/dprintf-posix-tests (Files): Add them.
3035         (configure.ac): Check for getrlimit and setrlimit.
3036         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
3037
3038 2009-12-19  Bruno Haible  <bruno@clisp.org>
3039
3040         fprintf-posix: Check against memory leak fixed on 2009-12-15.
3041         * tests/test-fprintf-posix3.sh: New file.
3042         * tests/test-fprintf-posix3.c: New file.
3043         * modules/fprintf-posix-tests (Files): Add them.
3044         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
3045
3046 2009-12-19  Eric Blake  <ebb9@byu.net>
3047
3048         dirfd: fix prototype
3049         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
3050         * lib/dirfd.c (dirfd): Likewise.
3051
3052         canonicalize: reduce memory usage
3053         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
3054         allocation to size.
3055         Reported by Solar Designer <solar@openwall.com>.
3056
3057 2009-12-19  Bruno Haible  <bruno@clisp.org>
3058
3059         New module attribute 'Applicability'.
3060         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
3061         * gnulib-tool: New option --extract-applicability.
3062         (func_usage): Document it.
3063         (sed_extract_prog): Recognize it.
3064         (func_get_applicability): New function.
3065         (func_import): Generalize handling of 'link-warning' module.
3066         * modules/link-warning (Applicability): New section.
3067         * modules/arg-nonnull (Applicability): New section.
3068         Repoted by Simon Josefsson <simon@josefsson.org>.
3069
3070 2009-12-19  Bruno Haible  <bruno@clisp.org>
3071
3072         fflush: tweak
3073         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
3074         * lib/fseeko.c (rpl_fseeko): Likewise.
3075
3076 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
3077
3078         * lib/gl_list.h: Fix typo in comment.
3079
3080 2009-12-16  Eric Blake  <ebb9@byu.net>
3081
3082         fcntl: use to simplify other modules
3083         * modules/cloexec (Depends-on): Add fcntl.
3084         * modules/fchdir (Depends-on): Likewise.
3085         * modules/fd-safer-flag (Depends-on): Likewise.
3086         * modules/unistd-safer (Depends-on): Likewise.
3087         * modules/dup3 (configure.ac): Set module indicator.
3088         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
3089         missing.
3090         * lib/fchdir.c (_gl_register_dup): Fix comment.
3091         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
3092         * lib/dup-safer.c (dup_safer): Likewise.
3093         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
3094         * lib/dup3.c (dup3): Likewise.
3095         * tests/test-fchdir.c (main): Enhance test.
3096         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
3097
3098         fcntl: port portions of fcntl to mingw
3099         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
3100         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
3101         replacement for mingw.
3102         * modules/fcntl (Description): Update.
3103         (Depends-on): Add dup2.
3104         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
3105         * modules/fcntl-h (Makefile.am): Substitute it.
3106         * lib/fcntl.in.h (fcntl): Update declaration.
3107         (F_DUPFD, F_GETFD): New macros, when needed.
3108         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
3109         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
3110         * tests/test-fcntl.c (check_flags, main): Enhance test for items
3111         we now guarantee.
3112
3113         fcntl: work around cygwin bug in F_DUPFD
3114         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
3115         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
3116         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
3117         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
3118         * doc/posix-functions/fcntl.texi (fcntl): Document it.
3119
3120         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
3121         * modules/fcntl (Files): List new files.
3122         (configure.ac): Run a test.
3123         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
3124         * lib/fcntl.c (rpl_fcntl): Likewise.
3125         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
3126         (gl_FCNTL_H): Always replace fcntl.h.
3127         * modules/fcntl-h (Makefile.am): Substitute witnesses.
3128         * lib/fcntl.in.h (fcntl): Declare replacement.
3129         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
3130         needed, plus a witness.
3131         * doc/posix-functions/fcntl.texi (fcntl): Document this.
3132         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
3133         * tests/test-fcntl.c: New file.
3134         * modules/fcntl-tests: Likewise.
3135
3136         binary-io: avoid potential compilation warning
3137         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
3138         directives.
3139
3140         fflush: avoid compilation error on NetBSD
3141         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
3142         between off_t and fpos_t, since the latter is sometimes a struct.
3143         * lib/fseeko.c (rpl_fseeko): Likewise.
3144         Reported by Alexander Nasonov <alnsn@yandex.ru>.
3145
3146 2009-12-15  Eric Blake  <ebb9@byu.net>
3147
3148         fcntl-h, stdio, sys_ioctl: fix declarations
3149         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
3150         function must not take arguments.
3151         * lib/sys_ioctl.in.h (ioctl): Likewise.
3152         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
3153         (open): Add a link warning.
3154
3155 2009-12-15  Jim Meyering  <meyering@redhat.com>
3156
3157         areadlink, areadlink-with-size: relax license to LGPLv2+
3158         * modules/areadlink (License): Relax to LGPLv2+.
3159         * modules/areadlink-with-size (License): Likewise.
3160
3161 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
3162             Bruno Haible  <bruno@clisp.org>
3163
3164         *printf: Fix memory leak.
3165         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
3166         * lib/vfprintf.c (vfprintf): Likewise.
3167         * lib/dprintf.c (dprintf): Likewise.
3168         * lib/vdprintf.c (vdprintf): Likewise.
3169
3170 2009-12-14  Eric Blake  <ebb9@byu.net>
3171
3172         accept4: adjust module dependencies
3173         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
3174
3175         utimens: one more try at avoiding compiler warning
3176         * lib/utimens.c (lutimens): Lower scope of result.
3177
3178 2009-12-13  Bruno Haible  <bruno@clisp.org>
3179
3180         Move the malloc checking from module 'list' to new module 'xlist'.
3181         * modules/xlist: New file.
3182         * lib/gl_xlist.h: New file.
3183         * lib/gl_xlist.c: New file.
3184         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
3185         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
3186         gl_list_add_last, gl_list_add_before, gl_list_add_after,
3187         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
3188         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
3189         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
3190         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
3191         gl_sortedlist_nx_add): New declarations.
3192         (struct gl_list_implementation): Rename and change methods accordingly.
3193         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
3194         (gl_list_nx_create): Renamed from gl_list_create.
3195         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
3196         (gl_list_nx_set_at): Renamed from gl_list_set_at.
3197         (gl_list_nx_add_first): Renamed from gl_list_add_first.
3198         (gl_list_nx_add_last): Renamed from gl_list_add_last.
3199         (gl_list_nx_add_before): Renamed from gl_list_add_before.
3200         (gl_list_nx_add_after): Renamed from gl_list_add_after.
3201         (gl_list_nx_add_at): Renamed from gl_list_add_at.
3202         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
3203         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
3204         gl_list_create_empty.
3205         (gl_list_nx_create): Renamed from gl_list_create.
3206         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
3207         (gl_list_nx_set_at): Renamed from gl_list_set_at.
3208         (gl_list_nx_add_first): Renamed from gl_list_add_first.
3209         (gl_list_nx_add_last): Renamed from gl_list_add_last.
3210         (gl_list_nx_add_before): Renamed from gl_list_add_before.
3211         (gl_list_nx_add_after): Renamed from gl_list_add_after.
3212         (gl_list_nx_add_at): Renamed from gl_list_add_at.
3213         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
3214         * lib/gl_array_list.c: Don't include xalloc.h.
3215         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
3216         NULL upon out-of-memory.
3217         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
3218         out-of-memory.
3219         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
3220         Change return type to 'int'.
3221         (gl_array_nx_set_at): Renamed from gl_array_set_at.
3222         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
3223         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
3224         upon out-of-memory.
3225         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
3226         upon out-of-memory.
3227         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
3228         upon out-of-memory.
3229         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
3230         upon out-of-memory.
3231         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
3232         out-of-memory.
3233         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
3234         Update.
3235         (gl_array_list_implementation): Update.
3236         * lib/gl_carray_list.c: Don't include xalloc.h.
3237         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
3238         Return NULL upon out-of-memory.
3239         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
3240         out-of-memory.
3241         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
3242         Change return type to 'int'.
3243         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
3244         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
3245         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
3246         upon out-of-memory.
3247         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
3248         upon out-of-memory.
3249         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
3250         out-of-memory.
3251         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
3252         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
3253         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
3254         Update.
3255         (gl_carray_list_implementation): Update.
3256         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
3257         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
3258         gl_linked_create_empty. Return NULL upon out-of-memory.
3259         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
3260         out-of-memory.
3261         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
3262         Change return type to 'int'. Return -1 upon out-of-memory.
3263         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
3264         out-of-memory.
3265         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
3266         upon out-of-memory.
3267         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
3268         upon out-of-memory.
3269         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
3270         NULL upon out-of-memory.
3271         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
3272         upon out-of-memory.
3273         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
3274         out-of-memory.
3275         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
3276         Update.
3277         * lib/gl_linked_list.c: Don't include xalloc.h.
3278         (gl_linked_list_implementation): Update.
3279         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
3280         (add_to_bucket): Change return type to 'int'.
3281         (gl_linkedhash_list_implementation): Update.
3282         * lib/gl_anytree_list1.h (free_subtree): New function.
3283         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
3284         gl_tree_create_empty. Return NULL upon out-of-memory.
3285         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
3286         Change return type to 'int'. Return -1 upon out-of-memory.
3287         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
3288         out-of-memory.
3289         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
3290         (gl_tree_remove_node): New function, moved here from
3291         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
3292         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
3293         Update.
3294         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
3295         malloc, not xmalloc. Return NULL upon out-of-memory.
3296         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
3297         out-of-memory.
3298         (gl_tree_remove_node_from_tree): New function, extracted from
3299         gl_tree_remove_node.
3300         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
3301         upon out-of-memory.
3302         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
3303         out-of-memory.
3304         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
3305         upon out-of-memory.
3306         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
3307         upon out-of-memory.
3308         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
3309         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
3310         not xmalloc. Return NULL upon out-of-memory.
3311         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
3312         out-of-memory.
3313         (gl_tree_remove_node_from_tree): New function, extracted from
3314         gl_tree_remove_node.
3315         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
3316         upon out-of-memory.
3317         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
3318         out-of-memory.
3319         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
3320         upon out-of-memory.
3321         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
3322         upon out-of-memory.
3323         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
3324         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
3325         gl_anytree_list1.h before gl_anyavltree_list2.h.
3326         (gl_avltree_list_implementation): Update.
3327         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
3328         gl_anytree_list1.h before gl_anyavltree_list2.h.
3329         (gl_rbtree_list_implementation): Update.
3330         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
3331         Change return type to 'int'. Return -1 upon out-of-memory. Use
3332         __builtin_expect.
3333         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
3334         (gl_avltreehash_list_implementation): Update.
3335         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
3336         (gl_rbtreehash_list_implementation): Update.
3337         * modules/array-list (Depends-on): Remove xalloc.
3338         * modules/carray-list (Depends-on): Likewise.
3339         * modules/linked-list (Depends-on): Likewise.
3340         * modules/linkedhash-list (Depends-on): Likewise.
3341         * modules/avltree-list (Depends-on): Likewise.
3342         * modules/rbtree-list (Depends-on): Likewise.
3343         * modules/avltreehash-list (Depends-on): Likewise.
3344         * modules/rbtreehash-list (Depends-on): Likewise.
3345
3346         * modules/xsublist: New file.
3347         * lib/gl_xsublist.h: New file.
3348         * lib/gl_xsublist.c: New file.
3349         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
3350         (gl_sublist_nx_create): New declaration.
3351         * lib/gl_sublist.c: Don't include xalloc.h.
3352         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
3353         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
3354         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
3355         Change return type to 'int'. Return -1 upon out-of-memory.
3356         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
3357         upon out-of-memory.
3358         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
3359         NULL upon out-of-memory.
3360         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
3361         upon out-of-memory.
3362         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
3363         NULL upon out-of-memory.
3364         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
3365         NULL upon out-of-memory.
3366         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
3367         upon out-of-memory.
3368         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
3369         (gl_sublist_list_implementation): Update.
3370         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
3371         upon out-of-memory.
3372         * modules/sublist (Depends-on): Remove xalloc.
3373
3374         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
3375         * tests/test-carray_list.c: Likewise.
3376         * tests/test-linked_list.c: Likewise.
3377         * tests/test-linkedhash_list.c: Likewise.
3378         * tests/test-avltree_list.c: Likewise.
3379         * tests/test-rbtree_list.c: Likewise.
3380         * tests/test-avltreehash_list.c: Likewise.
3381         * tests/test-rbtreehash_list.c: Likewise.
3382         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
3383         * modules/carray-list-tests (Makefile.am): Likewise.
3384         * modules/linked-list-tests (Makefile.am): Likewise.
3385         * modules/linkedhash-list-tests (Makefile.am): Likewise.
3386         * modules/avltree-list-tests (Makefile.am): Likewise.
3387         * modules/rbtree-list-tests (Makefile.am): Likewise.
3388         * modules/avltreehash-list-tests (Makefile.am): Likewise.
3389         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
3390
3391         * NEWS: Mention the changes.
3392
3393         * lib/clean-temp.c: Include gl_xlist.h.
3394         * modules/clean-temp (Depends-on): Add xlist.
3395
3396         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
3397         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
3398
3399         * tests/test-array_oset.c: Include gl_xlist.h.
3400         * modules/array-oset-tests (Depends-on): Add xlist.
3401
3402         Reported by José E. Marchesi <jemarch@gnu.org>.
3403
3404 2009-12-13  Bruno Haible  <bruno@clisp.org>
3405
3406         Move the malloc checking from module 'oset' to new module 'xoset'.
3407         * modules/xoset: New file.
3408         * lib/gl_xoset.h: New file.
3409         * lib/gl_xoset.c: New file.
3410         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
3411         declarations.
3412         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
3413         (struct gl_oset_implementation): Rename and change methods accordingly.
3414         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
3415         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
3416         'int'. Mark as __warn_unused_result__.
3417         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
3418         gl_oset_create_empty.
3419         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
3420         'int'.
3421         * lib/gl_array_oset.c: Don't include xalloc.h.
3422         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
3423         malloc, not xmalloc.
3424         (grow): Change return type to 'int'. Don't call xalloc_die.
3425         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
3426         to 'int'.
3427         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
3428         'int'.
3429         (gl_array_oset_implementation): Update.
3430         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
3431         gl_tree_create_empty.
3432         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
3433         'int'.
3434         * lib/gl_avltree_oset.c: Don't include xalloc.h.
3435         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
3436         xmalloc.
3437         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
3438         not xmalloc.
3439         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
3440         xmalloc.
3441         (gl_avltree_oset_implementation): Update.
3442         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
3443         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
3444         xmalloc.
3445         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
3446         not xmalloc.
3447         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
3448         xmalloc.
3449         (gl_rbtree_oset_implementation): Update.
3450         * modules/array-oset (Depends-on): Remove xalloc.
3451         * modules/avltree-oset (Depends-on): Likewise.
3452         * modules/rbtree-oset (Depends-on): Likewise.
3453         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
3454         * tests/test-avltree_oset.c: Likewise.
3455         * tests/test-rbtree_oset.c: Likewise.
3456         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
3457         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
3458         * modules/rbtree-oset-tests (Makefile.am): Likewise.
3459         * NEWS: Mention the change.
3460
3461 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
3462
3463         maint.mk: allow a project to override release-prep commands
3464         * top/maint.mk (alpha, beta, stable): Move release-preparatory
3465         commands into a new rule.
3466         (release-prep): New rule.
3467         (release-prep-hook): New overridable variable.
3468
3469 2009-12-13  Bruno Haible  <bruno@clisp.org>
3470
3471         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
3472
3473 2009-12-13  Jim Meyering  <meyering@redhat.com>
3474
3475         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
3476         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
3477
3478 2009-12-12  Bruno Haible  <bruno@clisp.org>
3479
3480         duplocale: Tweak.
3481         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
3482
3483 2009-12-12  Karl Berry  <karl@gnu.org>
3484
3485         * config/srclist.txt (strtoll.c): tab changes, no more sync.
3486
3487 2009-12-12  Bruno Haible  <bruno@clisp.org>
3488
3489         * m4/po.m4: Undo incorrect untabification.
3490
3491 2009-12-12  Bruno Haible  <bruno@clisp.org>
3492
3493         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
3494         * modules/c-strtod (Depends-on): Add locale.
3495         * modules/c-strtold (Depends-on): Likewise.
3496
3497 2009-12-12  Bruno Haible  <bruno@clisp.org>
3498
3499         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
3500
3501 2009-12-11  Eric Blake  <ebb9@byu.net>
3502
3503         setenv: relax requirement in light of POSIX ruling
3504         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
3505         not NULL.
3506         * tests/test-setenv.c (main): Relax test.
3507         * tests/test-unsetenv.c (main): Likewise.
3508         * doc/posix-functions/setenv.texi (setenv): Document this.
3509         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
3510
3511 2009-12-11  Bruno Haible  <bruno@clisp.org>
3512
3513         New module 'fd-safer-flag'.
3514         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
3515         * lib/dup-safer.c (dup_safer_flag): Remove function.
3516         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
3517         * lib/fd-safer.c (fd_safer_flag): Remove function.
3518         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
3519         * modules/cloexec (configure.ac): Drop indicator macro.
3520         * modules/fd-safer-flag: New file.
3521         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
3522         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
3523         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
3524
3525 2009-12-11  Bruno Haible  <bruno@clisp.org>
3526
3527         Tests for module 'nl_langinfo'.
3528         * modules/nl_langinfo-tests: New file.
3529         * tests/test-nl_langinfo.sh: New file.
3530         * tests/test-nl_langinfo.c: New file.
3531
3532         New module 'nl_langinfo'.
3533         * lib/nl_langinfo.c: New file.
3534         * m4/nl_langinfo.m4: New file.
3535         * modules/nl_langinfo: New file.
3536         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
3537
3538 2009-12-11  Bruno Haible  <bruno@clisp.org>
3539
3540         Tests for module 'langinfo'.
3541         * modules/langinfo-tests: New file.
3542         * tests/test-langinfo.c: New file.
3543
3544         New module 'langinfo'.
3545         * lib/langinfo.in.h: New file.
3546         * m4/langinfo_h.m4: New file.
3547         * modules/langinfo: New file.
3548         * doc/posix-headers/langinfo.texi: Mention the new module.
3549
3550 2009-12-11  Bruno Haible  <bruno@clisp.org>
3551
3552         * lib/config.charset: Untabify.
3553
3554 2009-12-11  Bruno Haible  <bruno@clisp.org>
3555
3556         * modules/unistd-safer (configure.ac): Drop indicator macro.
3557
3558 2009-12-11  Bruno Haible  <bruno@clisp.org>
3559
3560         Move pipe2-safer code to its own file.
3561         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
3562         * lib/pipe-safer.c (pipe2_safer): Remove function.
3563         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
3564         (Makefile.am): Add it to lib_SOURCES.
3565
3566 2009-12-10  Bruno Haible  <bruno@clisp.org>
3567
3568         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
3569
3570 2009-12-10  Bruno Haible  <bruno@clisp.org>
3571
3572         Declare which arguments expect non-NULL values, for GCC and clang.
3573         * build-aux/arg-nonnull.h: New file.
3574         * modules/arg-nonnull: New file.
3575         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
3576         (inet_ntop, inet_pton): Use it.
3577         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
3578         (closedir, dirfd, opendir, scandir, alphasort): Use it.
3579         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
3580         (open, openat): Use it.
3581         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
3582         (fnmatch): Use it.
3583         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
3584         (getopt, getopt_long, getopt_long_only): Use it.
3585         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
3586         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
3587         Use it.
3588         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
3589         (iconv_open): Use it.
3590         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
3591         (strtoimax, strtoumax): Use it.
3592         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
3593         (duplocale): Use it.
3594         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
3595         (frexp, frexpl): Use it.
3596         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
3597         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
3598         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
3599         (tsearch, tfind, tdelete, twalk): Use it.
3600         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
3601         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
3602         sigpending): Use it.
3603         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
3604         (posix_spawn, posix_spawnp, posix_spawnattr_init,
3605         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
3606         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
3607         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
3608         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
3609         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
3610         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
3611         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
3612         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
3613         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
3614         Use it.
3615         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
3616         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
3617         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
3618         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
3619         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
3620         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
3621         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
3622         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
3623         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
3624         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
3625         strtoull, unsetenv): Use it.
3626         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
3627         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
3628         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
3629         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
3630         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
3631         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
3632         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
3633         (strcasecmp, strncasecmp): Use it.
3634         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
3635         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
3636         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
3637         rpl_setsockopt): Use it.
3638         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
3639         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
3640         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
3641         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
3642         (gettimeofday): Use it.
3643         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
3644         (times): Use it.
3645         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
3646         (uname): Use it.
3647         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
3648         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
3649         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
3650         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
3651         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
3652         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
3653         unlinkat, write): Use it.
3654         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
3655         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
3656         * lib/argv-iter.h: Include arg-nonnull.h.
3657         (_ATTRIBUTE_NONNULL_): Remove macro.
3658         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
3659         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
3660         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
3661         optimization.
3662         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
3663         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
3664         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
3665         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
3666         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
3667         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
3668         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
3669         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
3670         * modules/arpa_inet (Depends-on): Add arg-nonnull.
3671         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
3672         * modules/dirent (Depends-on): Add arg-nonnull.
3673         (Makefile.am): Insert arg-nonnull.h into dirent.h.
3674         * modules/fcntl-h (Depends-on): Add arg-nonnull.
3675         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
3676         * modules/fnmatch (Depends-on): Add arg-nonnull.
3677         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
3678         * modules/getopt-posix (Depends-on): Add arg-nonnull.
3679         (Makefile.am): Insert arg-nonnull.h into getopt.h.
3680         * modules/glob (Depends-on): Add arg-nonnull.
3681         (Makefile.am): Insert arg-nonnull.h into glob.h.
3682         * modules/iconv_open (Depends-on): Add arg-nonnull.
3683         (Makefile.am): Insert arg-nonnull.h into iconv.h.
3684         * modules/inttypes (Depends-on): Add arg-nonnull.
3685         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
3686         * modules/locale (Depends-on): Add arg-nonnull.
3687         (Makefile.am): Insert arg-nonnull.h into locale.h.
3688         * modules/math (Depends-on): Add arg-nonnull.
3689         (Makefile.am): Insert arg-nonnull.h into math.h.
3690         * modules/netdb (Depends-on): Add arg-nonnull.
3691         (Makefile.am): Insert arg-nonnull.h into netdb.h.
3692         * modules/search (Depends-on): Add arg-nonnull.
3693         (Makefile.am): Insert arg-nonnull.h into search.h.
3694         * modules/signal (Depends-on): Add arg-nonnull.
3695         (Makefile.am): Insert arg-nonnull.h into signal.h.
3696         * modules/spawn (Depends-on): Add arg-nonnull.
3697         (Makefile.am): Insert arg-nonnull.h into spawn.h.
3698         * modules/stdio (Depends-on): Add arg-nonnull.
3699         (Makefile.am): Insert arg-nonnull.h into stdio.h.
3700         * modules/stdlib (Depends-on): Add arg-nonnull.
3701         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
3702         * modules/string (Depends-on): Add arg-nonnull.
3703         (Makefile.am): Insert arg-nonnull.h into string.h.
3704         * modules/strings (Depends-on): Add arg-nonnull.
3705         (Makefile.am): Insert arg-nonnull.h into strings.h.
3706         * modules/sys_socket (Depends-on): Add arg-nonnull.
3707         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
3708         * modules/sys_stat (Depends-on): Add arg-nonnull.
3709         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
3710         * modules/sys_time (Depends-on): Add arg-nonnull.
3711         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
3712         * modules/sys_times (Depends-on): Add arg-nonnull.
3713         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
3714         * modules/sys_utsname (Depends-on): Add arg-nonnull.
3715         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
3716         * modules/time (Depends-on): Add arg-nonnull.
3717         (Makefile.am): Insert arg-nonnull.h into time.h.
3718         * modules/unistd (Depends-on): Add arg-nonnull.
3719         (Makefile.am): Insert arg-nonnull.h into unistd.h.
3720         * modules/wchar (Depends-on): Add arg-nonnull.
3721         (Makefile.am): Insert arg-nonnull.h into wchar.h.
3722         * modules/argv-iter (Depends-on): Add arg-nonnull.
3723         * tests/test-canonicalize.c (null_ptr): New function.
3724         (main): Use it.
3725         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
3726         (main): Use it.
3727         * tests/test-memmem.c (null_ptr): New function.
3728         (main): Use it.
3729         Reported by Jim Meyering.
3730
3731 2009-12-10  Bruno Haible  <bruno@clisp.org>
3732
3733         Use spaces for indentation, not tabs.
3734         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
3735         * m4/*.m4: Untabify.
3736         * build-aux/*.h: Untabify.
3737         * tests/**/*.[hc]: Untabify.
3738         * README: New section "Indent with spaces, not TABs", based on
3739         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
3740         * NEWS: Mention the change.
3741
3742 2009-12-10  Bruno Haible  <bruno@clisp.org>
3743
3744         pty test: Fix link error.
3745         * modules/pty-tests (Makefile.am): Add the default LDADD value to
3746         test_pty_LDADD.
3747
3748 2009-12-07  Simon Josefsson  <simon@josefsson.org>
3749
3750         * modules/pty: New file.
3751         * modules/pty-tests: New file.
3752         * m4/pty.m4: New file.
3753         * tests/test-pty.c: New file.
3754         * doc/glibc-headers/pty.texi: Modified.
3755         * doc/glibc-functions/forkpty.texi: Modified.
3756         * doc/glibc-functions/openpty.texi: Modified.
3757
3758 2009-12-10  Bruno Haible  <bruno@clisp.org>
3759
3760         Avoid syntax error in C++ mode.
3761         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
3762
3763 2009-12-10  Bruno Haible  <bruno@clisp.org>
3764
3765         Use sed with option -e.
3766         * gnulib-tool (func_version, func_emit_copyright_notice,
3767         func_emit_initmacro_end, func_import, func_create_testdir): Pass
3768         option -e to sed.
3769         * modules/link-warning (Makefile.am): Likewise.
3770
3771 2009-12-10  Jim Meyering  <meyering@redhat.com>
3772
3773         mgetgroups: do not write bytes beyond end of malloc'd buffer
3774         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
3775         username, we call getgroups with a one-element-shorter buffer,
3776         but still told it the length was original, max_n_groups.
3777
3778 2009-12-09  Eric Blake  <ebb9@byu.net>
3779
3780         cloexec: relax license
3781         * modules/cloexec (Maintainer): Add myself.
3782         (License): Use LGPL, not GPL.
3783
3784         link-warning: optimize generation
3785         * modules/link-warning (Makefile.am): Reduce process usage.
3786
3787 2009-12-09  Bruno Haible  <bruno@clisp.org>
3788
3789         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
3790         workaround was added on 2009-11-17.
3791
3792 2009-12-09  Jim Meyering  <meyering@redhat.com>
3793             Bruno Haible  <bruno@clisp.org>
3794
3795         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
3796         * modules/link-warning (Makefile.am): Make the comment-removing sed
3797         command more robust in the face of bootstrap-prepended comment lines.
3798
3799 2009-12-09  Bruno Haible  <bruno@clisp.org>
3800
3801         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
3802         most one group.
3803
3804 2009-12-09  Simon Josefsson <simon@josefsson.org>
3805             Bruno Haible  <bruno@clisp.org>
3806
3807         * build-aux/link-warning.h: Add copyright notice.
3808         * modules/link-warning (Makefile.am): Generate link-warning.h from
3809         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
3810         * NEWS: Mention change in link-warning module.
3811         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
3812         * modules/dirent (Makefile.am): Add dependency to dirent.h.
3813         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
3814         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
3815         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
3816         * modules/math (Makefile.am): Add dependency to math.h.
3817         * modules/search (Makefile.am): Add dependency to search.h.
3818         * modules/signal (Makefile.am): Add dependency to signal.h.
3819         * modules/spawn (Makefile.am): Add dependency to spawn.h.
3820         * modules/stdio (Makefile.am): Add dependency to stdio.h.
3821         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
3822         * modules/string (Makefile.am): Add dependency to string.h.
3823         * modules/strings (Makefile.am): Add dependency to strings.h.
3824         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
3825         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
3826         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
3827         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
3828         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
3829         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
3830         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
3831         * modules/unistd (Makefile.am): Add dependency to unistd.h.
3832         * modules/wchar (Makefile.am): Add dependency to wchar.h.
3833
3834 2009-12-09  Bruno Haible  <bruno@clisp.org>
3835
3836         fchdir: Optimize away rpl_fstat when possible.
3837         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
3838         REPLACE_OPEN_DIRECTORY.
3839         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
3840
3841 2009-12-09  Bruno Haible  <bruno@clisp.org>
3842
3843         * lib/fchdir.c: Update comment.
3844
3845 2009-12-09  Bruno Haible  <bruno@clisp.org>
3846
3847         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
3848
3849 2009-12-08  Eric Blake  <ebb9@byu.net>
3850
3851         fchdir: avoid memory leak on re-registration.
3852         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
3853
3854 2009-12-08  Jim Meyering  <meyering@redhat.com>
3855
3856         init.sh: avoid Solaris 10 /bin/sh portability problem
3857         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
3858         sourced script:
3859           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
3860           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
3861           bar
3862         tests/init.sh relied on that, accepting a --set-path=DIR argument,
3863         and two tests used that idiom.
3864         * tests/init.sh: Update suggested usage comments.
3865         (path_prepend_): New function, to be used in place
3866         of the --src-path=DIR option.
3867         (setup_): Move PATH-prepending code into path_prepend_.
3868         * tests/test-pread.sh: Adapt to new usage.
3869         * tests/test-xalloc-die.sh: Likewise.
3870
3871 2009-12-08  Simon Josefsson  <simon@josefsson.org>
3872
3873         * doc/gnulib.texi (Glibc pty.h): Add.
3874         * doc/glibc-functions/forkpty.texi: Add.
3875         * doc/glibc-functions/openpty.texi: Add.
3876         Suggested by Bruno Haible.
3877
3878 2009-12-08  Eric Blake  <ebb9@byu.net>
3879
3880         fchdir: fix logic bugs
3881         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
3882         * tests/test-fchdir.c (main): Enhance test.
3883         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
3884         is in use.
3885
3886         dup2: fix logic bugs
3887         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
3888         REPLACE_DUP2 to decide when rpl_dup2 is needed.
3889         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
3890         exists.
3891         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
3892
3893 2009-12-07  Eric Blake  <ebb9@byu.net>
3894
3895         unlink: fix m4 detection
3896         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
3897
3898         unistd-safer: add unit test
3899         * modules/unistd-safer-tests: New file.
3900         * tests/test-dup-safer.c: Likewise.
3901         * tests/test-cloexec.c (setmode): Avoid compiler warning.
3902         * tests/test-dup2.c (setmode): Likewise.
3903         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
3904
3905         cloexec: preserve text vs. binary across dup_cloexec
3906         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
3907         mode.
3908         * modules/dup2-tests (Depends-on): Add binary-io.
3909         * modules/cloexec-tests (Depends-on): Likewise.
3910         * tests/test-dup2.c (setmode, is_mode): New helpers.
3911         (main): Add tests that translation mode is preserved.
3912         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
3913         Reported by Bruno Haible.
3914
3915         mgetgroups: reduce duplicate listings
3916         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
3917         resulting array.
3918         * tests/test-chown.h (test_chown): Simplify client.
3919         * tests/test-lchown.h (test_lchown): Likewise.
3920
3921 2009-12-06  Bruno Haible  <bruno@clisp.org>
3922
3923         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
3924         value.
3925
3926 2009-12-06  Bruno Haible  <bruno@clisp.org>
3927
3928         * lib/progname.c: Include stdio.h, stdlib.h.
3929         (set_program_name): Reject a NULL argument.
3930
3931 2009-12-05  Eric Blake  <ebb9@byu.net>
3932
3933         pipe2-safer: new module
3934         * modules/pipe2-safer: New file.
3935         * lib/unistd-safer.h (pipe2_safer): New prototype.
3936         * lib/unistd--.h (pipe2): New wrapper.
3937         * lib/pipe-safer.c (pipe2_safer): New function.
3938         * modules/pipe (Depends-on): Add pipe2-safer.
3939         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
3940
3941         stdlib-safer: preserve cloexec flag for mkostemp[s]
3942         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
3943         fd_safer_flag.
3944
3945         unistd-safer: allow preservation of cloexec status via flag
3946         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
3947         prototypes.
3948         * lib/dup-safer.c (dup_safer_flag): New function.
3949         * lib/fd-safer.c (fd_safer_flag): Likewise.
3950         * modules/cloexec (configure.ac): Set witness.
3951
3952         test-dup2: enhance test
3953         * modules/dup2-tests (Depends-on): Add cloexec.
3954         * tests/test-dup2.c (main): Enhance test.
3955
3956         cloexec: add dup_cloexec
3957         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
3958         header and comments.
3959         * lib/cloexec.c (set_cloexec_flag): Add comments.
3960         (dup_cloexec): New function, with mingw implementation borrowed
3961         from...
3962         * lib/w32spawn.h (dup_noinherit): ...here.
3963         * modules/execute (Depends-on): Add cloexec.
3964         * modules/pipe (Depends-on): Likewise.
3965         * modules/cloexec (Depends-on): Add dup2.
3966         * modules/cloexec-tests (Files): New file.
3967         * tests/test-cloexec.c: Likewise.
3968
3969         test-xalloc-die: fix test for mingw
3970         * modules/xalloc-die-tests (Files): Add tests/init.sh.
3971         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
3972         directory and .exe suffix off argv[0] output.
3973
3974         test-fseeko: fix test for mingw
3975         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
3976         than undefining fseek, so test will pass on mingw.
3977
3978 2009-12-05  Bruno Haible  <bruno@clisp.org>
3979
3980         * lib/progname.h (set_program_name): Clarify specification.
3981         * lib/progname.c (set_program_name): Likewise.
3982         Reported by Jim Meyering.
3983
3984 2009-12-05  Jim Meyering  <meyering@redhat.com>
3985
3986         maint.mk: backslash-escape parens in default regexp
3987         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
3988         backslash-escape the literal parentheses.
3989
3990         maint.mk: news-date-check: use grep -E
3991         * top/maint.mk (today): Define a Make variable, not a...
3992         (news-date-check): ...shell variable.
3993         (news-date-regexp): Use the Make variable.
3994         Use grep's -E option.  Change the failing diagnostic to mention
3995         the variable, $(news-date-regexp).
3996
3997 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
3998
3999         maintainer-makefile: allow customization of NEWS entry format
4000         * top/maint.mk (news-date-regexp): New overridable variable.
4001         (news-date-check): Use it.
4002
4003 2009-12-04  Eric Blake  <ebb9@byu.net>
4004
4005         mgetgroups: add xgetgroups, and avoid ENOSYS failures
4006         * lib/mgetgroups.h (xgetgroups): New prototype.
4007         * lib/mgetgroups.c (xgetgroups): New wrapper.
4008         (mgetgroups): Handle ENOSYS.
4009         * modules/mgetgroups (Depends-on): Add realloc.
4010         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
4011
4012         mgetgroups: avoid argument promotion issues with -1
4013         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
4014         for invalid gid_t.
4015         * tests/test-chown.h (getegid, test_chown): Likewise.
4016         * tests/test-lchown.h (getegid, test_lchown): Likewise.
4017
4018 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
4019
4020         exclude: Fix header file problems.
4021         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
4022
4023 2009-12-01  Jim Meyering  <meyering@redhat.com>
4024
4025         fts: fts_open: do not let an empty string cause immediate failure
4026         This is required in support of GNU rm, for which the command
4027         "rm A '' B" must process and remove both A and B, in spite of
4028         the empty string argument.
4029         * lib/fts.c (fts_open): Do not let the presence of an empty string
4030         cause fts_open to fail immediately.  Most fts-using tools must be
4031         able to process all arguments, in order, and can be expected to
4032         diagnose such arguments themselves.
4033
4034 2009-11-30  Eric Blake  <ebb9@byu.net>
4035
4036         utimens: fix compilation error
4037         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
4038         Declare variable at right scope.
4039
4040 2009-11-29  Jim Meyering  <meyering@redhat.com>
4041
4042         bootstrap: handle perl-5.11's changed --version output
4043         * build-aux/bootstrap (get_version): Handle perl separately,
4044         since perl-5.11's --version output is different.
4045
4046 2009-11-28  Jim Meyering  <meyering@redhat.com>
4047
4048         userspec: depend on the inttostr module, too
4049         * modules/userspec (Depends-on): Add inttostr.
4050
4051         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
4052         * lib/userspec.c (parse_with_separator): Do not accept a user ID
4053         number of MAXUID when it evaluates to (uid_t) -1.
4054         Likewise for group ID.  Reported by Matt McCutchen in
4055         <http://savannah.gnu.org/bugs/?28113>
4056
4057         userspec: reformat to use spaces, not TABs
4058         * lib/userspec.c: Expand TABs to spaces.
4059         Add Emacs' "indent-tabs-mode: nil" hint.
4060
4061 2009-11-27  Eric Blake  <ebb9@byu.net>
4062
4063         getopt-gnu: flush out another BSD bug
4064         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
4065         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
4066         flush out BSD bug.
4067         * tests/test-getopt.h (test_getopt): End lists with NULL.
4068         * tests/test-getopt_long.h (test_getopt_long): Likewise.
4069         (test_getopt_long_posix): Enhance test.
4070         * modules/getopt-posix-tests (Depends-on): Add stdbool.
4071         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
4072         getopt-gnu.
4073         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
4074         Likewise.
4075
4076 2009-11-27  Simon Josefsson  <simon@josefsson.org>
4077
4078         * modules/idpriv-droptemp-tests (Notice): Fix text.
4079
4080 2009-11-27  Jim Meyering  <meyering@redhat.com>
4081
4082         test-xalloc-die: avoid spurious failure due to libtool argv difference
4083         In a libtool-enabled project, this test would fail due to a difference
4084         in the emitted program name, e.g.,
4085         -test-xalloc-die: memory exhausted
4086         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
4087         Use program to avoid that.
4088         * modules/xalloc-die-tests (Depends-on): Add progname.
4089         * tests/test-xalloc-die.c: Include progname.h".
4090         (program_name): Remove decl.
4091         (main): Call set_program_name.
4092         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
4093
4094 2009-11-26  Richard Jones  <rjones@redhat.com>
4095
4096         w32sock: leave win32 error in place.
4097         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
4098
4099 2009-11-26  Eric Blake  <ebb9@byu.net>
4100
4101         init.sh: suggest to use skip_ and fail_ functions in comments
4102         * tests/init.sh: Add a sentence.
4103
4104 2009-11-25  Bruno Haible  <bruno@clisp.org>
4105
4106         init.sh: add documentation in comments
4107         * tests/init.sh: Add some developer and user documentation.
4108
4109 2009-11-26  Jim Meyering  <meyering@redhat.com>
4110
4111         init.sh: accommodate even those who specify bogus srcdir manually
4112         * tests/init.sh: Normally, srcdir is guaranteed by automake and
4113         configure-time tests to be sanitized, so that there is no need to
4114         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
4115         (with no double quotes) suffices.  However, since tests may be
4116         invoked manually, and since you may explicitly set srcdir to the
4117         name of a directory containing spaces, do quote its uses here.
4118         * tests/test-pread.sh: Likewise.
4119         Suggested by Bruno Haible.
4120
4121         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
4122         * tests/test-pread.sh: Write no data into the pipe, because
4123         test-pread actually reads none.  This avoids a diagnostic,
4124         "bash: echo: write error: Broken pipe", that arises in the unusual
4125         event something is ignoring SIGPIPE, and might be interpreted
4126         as some sort of failure.  Reported by Bruno Haible.
4127
4128 2009-11-25  Jim Meyering  <meyering@redhat.com>
4129
4130         test-pread: cover failure with ESPIPE and EINVAL
4131         * tests/test-pread.c (main): Test for failure, too.
4132         * tests/test-pread.sh: Invoke with stdin on a pipe.
4133         Suggested by Eric Blake.
4134
4135         pread: improvement and fix
4136         * modules/pread (Depends-on): Depend on lseek, for portability to
4137         e.g., mingw.  Suggested by Eric Blake.
4138         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
4139
4140         unistd.in.h: correct declaration of pread
4141         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
4142         Reported by Richard W.M. Jones.
4143
4144         test-pread.sh: distribute the test script
4145         * modules/pread-tests (Files): Include test-pread.sh.
4146
4147         test-pread.sh: clean up
4148         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
4149         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
4150         That is unnecessary, since it's always ".".
4151         Suggestion from Eric Blake.
4152
4153         test-pread.sh: make executable
4154         * tests/test-pread.sh: Set executable bit.
4155         Reported by Eric Blake.
4156
4157         correct typo in test-pread.sh
4158         * tests/test-pread.sh: Add #! line.
4159
4160         test pread
4161         * tests/test-pread.c: New file.
4162         * tests/test-pread.sh: Likewise.
4163         * modules/pread-tests: Likewise.
4164
4165         pread: new module
4166         * modules/pread: New file.
4167         * lib/unistd.in.h (pread): Define/declare.
4168         * lib/pread.c (pread): New file.
4169         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
4170         * modules/unistd (Makefile.am): Substitute witnesses.
4171         * doc/posix-functions/pread.texi (pread): Update.
4172         * MODULES.html.sh: Add pread.
4173
4174 2009-11-25  Jim Meyering  <meyering@redhat.com>
4175
4176         tests/init.sh: new file to be used via most *.sh tests
4177         * tests/init.sh: New file.
4178
4179 2009-11-25  Eric Blake  <ebb9@byu.net>
4180
4181         utimens: work around older Linux failure with symlinks
4182         * lib/utimens.c (lutimensat_works_really): New variable.
4183         (fdutimens, lutimens): Use it to manage kernels that support
4184         nanosecond times on files, but not on symlinks.
4185         Reported by OndÅ™ej Vašík.
4186
4187         utimes: fix configure grammar
4188         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
4189
4190 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
4191
4192         regex: Fix fastmap for multibyte character ranges.
4193         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
4194         characters when a multibyte character range is included.
4195
4196 2009-11-22  Andy Wingo  <wingo@pobox.com>
4197
4198         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
4199         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
4200
4201 2009-11-24  Bruno Haible  <bruno@clisp.org>
4202
4203         doc: Most *_l functions exist in MacOS X 10.5.
4204         * doc/posix-functions/duplocale.texi: Update platforms list.
4205         * doc/posix-functions/freelocale.texi: Likewise.
4206         * doc/posix-functions/newlocale.texi: Likewise.
4207         * doc/posix-functions/uselocale.texi: Likewise.
4208         * doc/posix-functions/isalnum_l.texi: Likewise.
4209         * doc/posix-functions/isalpha_l.texi: Likewise.
4210         * doc/posix-functions/isblank_l.texi: Likewise.
4211         * doc/posix-functions/iscntrl_l.texi: Likewise.
4212         * doc/posix-functions/isdigit_l.texi: Likewise.
4213         * doc/posix-functions/isgraph_l.texi: Likewise.
4214         * doc/posix-functions/islower_l.texi: Likewise.
4215         * doc/posix-functions/isprint_l.texi: Likewise.
4216         * doc/posix-functions/ispunct_l.texi: Likewise.
4217         * doc/posix-functions/isspace_l.texi: Likewise.
4218         * doc/posix-functions/isupper_l.texi: Likewise.
4219         * doc/posix-functions/iswalnum_l.texi: Likewise.
4220         * doc/posix-functions/iswalpha_l.texi: Likewise.
4221         * doc/posix-functions/iswblank_l.texi: Likewise.
4222         * doc/posix-functions/iswcntrl_l.texi: Likewise.
4223         * doc/posix-functions/iswctype_l.texi: Likewise.
4224         * doc/posix-functions/iswdigit_l.texi: Likewise.
4225         * doc/posix-functions/iswgraph_l.texi: Likewise.
4226         * doc/posix-functions/iswlower_l.texi: Likewise.
4227         * doc/posix-functions/iswprint_l.texi: Likewise.
4228         * doc/posix-functions/iswpunct_l.texi: Likewise.
4229         * doc/posix-functions/iswspace_l.texi: Likewise.
4230         * doc/posix-functions/iswupper_l.texi: Likewise.
4231         * doc/posix-functions/iswxdigit_l.texi: Likewise.
4232         * doc/posix-functions/isxdigit_l.texi: Likewise.
4233         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
4234         * doc/posix-functions/strcasecmp_l.texi: Likewise.
4235         * doc/posix-functions/strcoll_l.texi: Likewise.
4236         * doc/posix-functions/strfmon_l.texi: Likewise.
4237         * doc/posix-functions/strftime_l.texi: Likewise.
4238         * doc/posix-functions/strncasecmp_l.texi: Likewise.
4239         * doc/posix-functions/strxfrm_l.texi: Likewise.
4240         * doc/posix-functions/tolower_l.texi: Likewise.
4241         * doc/posix-functions/toupper_l.texi: Likewise.
4242         * doc/posix-functions/towctrans_l.texi: Likewise.
4243         * doc/posix-functions/towlower_l.texi: Likewise.
4244         * doc/posix-functions/towupper_l.texi: Likewise.
4245         * doc/posix-functions/wcscoll_l.texi: Likewise.
4246         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
4247         * doc/posix-functions/wctrans_l.texi: Likewise.
4248         * doc/posix-functions/wctype_l.texi: Likewise.
4249         * doc/glibc-functions/strptime_l.texi: Likewise.
4250         * doc/glibc-functions/strtod_l.texi: Likewise.
4251         * doc/glibc-functions/strtof_l.texi: Likewise.
4252         * doc/glibc-functions/strtol_l.texi: Likewise.
4253         * doc/glibc-functions/strtold_l.texi: Likewise.
4254         * doc/glibc-functions/strtoll_l.texi: Likewise.
4255         * doc/glibc-functions/strtoul_l.texi: Likewise.
4256         * doc/glibc-functions/strtoull_l.texi: Likewise.
4257         * doc/glibc-functions/wcsftime_l.texi: Likewise.
4258         * doc/glibc-functions/wcstod_l.texi: Likewise.
4259         * doc/glibc-functions/wcstof_l.texi: Likewise.
4260         * doc/glibc-functions/wcstol_l.texi: Likewise.
4261         * doc/glibc-functions/wcstold_l.texi: Likewise.
4262         * doc/glibc-functions/wcstoll_l.texi: Likewise.
4263         * doc/glibc-functions/wcstoul_l.texi: Likewise.
4264         * doc/glibc-functions/wcstoull_l.texi: Likewise.
4265
4266 2009-11-24  Bruno Haible  <bruno@clisp.org>
4267
4268         duplocale: Fix logic bug.
4269         * lib/duplocale.c: Don't include <langinfo.h>.
4270         (_NL_LOCALE_NAME): Remove macro.
4271         (rpl_duplocale): Use setlocale instead of nl_langinfo.
4272         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
4273
4274 2009-11-23  Jim Meyering  <meyering@redhat.com>
4275
4276         test-update-copyright: don't hard-code /usr/bin/perl
4277         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
4278         perl to print the current year.  Gilles Espinasse reported that
4279         the replaced use of perl was hard-coded as /usr/bin/perl.
4280
4281 2009-11-23  Bruno Haible  <bruno@clisp.org>
4282
4283         duplocale: Add support for glibc 2.3.x.
4284         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
4285
4286 2009-11-22  Bruno Haible  <bruno@clisp.org>
4287
4288         vasnprintf: Tiny optimization.
4289         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
4290         MacOS X.
4291
4292 2009-11-22  Bruno Haible  <bruno@clisp.org>
4293
4294         Tests for module 'duplocale'.
4295         * modules/duplocale-tests: New file.
4296         * tests/test-duplocale.c: New file.
4297
4298         New module 'duplocale'.
4299         * m4/duplocale.m4: New file.
4300         * lib/locale.in.h (duplocale): New declaration.
4301         * lib/duplocale.c: New file.
4302         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
4303         gl_LOCALE_H_DEFAULTS): New macros.
4304         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
4305         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
4306         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
4307         REPLACE_DUPLOCALE.
4308         * modules/duplocale: New file.
4309         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
4310
4311 2009-11-22  Bruno Haible  <bruno@clisp.org>
4312
4313         * modules/locale-tests (configure.ac): Test for newlocale function.
4314         * tests/test-locale.c: When the system has extended locale functions,
4315         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
4316
4317         locale: Make locale_t available when possible.
4318         * lib/locale.in.h: Include <xlocale.h> when it exists.
4319         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
4320         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
4321         * modules/locale (Depends-on): Add extensions.
4322         (Makefile.am): Also substitute HAVE_XLOCALE_H.
4323         * doc/posix-headers/locale.texi: Document the problem with locale_t.
4324
4325 2009-11-22  Bruno Haible  <bruno@clisp.org>
4326
4327         Add comments.
4328         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
4329         invocation.
4330         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
4331         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
4332         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
4333
4334 2009-11-22  Bruno Haible  <bruno@clisp.org>
4335
4336         error: account for the possibility of freopen (stdout).
4337         * lib/error.c: Include <unistd.h>.
4338         (flush_stdout): New function, extracted from error and error_at_line.
4339         Determine stdout's fd dynamically.
4340         (error, error_at_line): Invoke flush_stdout.
4341         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
4342         * modules/error (Depends-on): Add unistd.
4343
4344 2009-11-22  Bruno Haible  <bruno@clisp.org>
4345
4346         diffseq: Add comment.
4347         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
4348
4349 2009-11-22  Jim Meyering  <meyering@redhat.com>
4350
4351         c-stack: avoid defining an unused static function
4352         * lib/c-stack.c (find_stack_direction): Do not define this function
4353         when it will not be used.
4354
4355         diffseq: avoid spurious gcc warnings
4356         * lib/diffseq.h (IF_LINT2): Define.
4357         (compareseq): Use it to initialize two members of "part".
4358         This avoids two used-uninitialized warnings.
4359
4360 2009-11-21  Jim Meyering  <meyering@redhat.com>
4361
4362         c-stack: avoid "ignoring return value of `write'" warning
4363         * lib/c-stack.c: Include "ignore-value.h".
4364         (die): Explicitly ignore each write return value.
4365         * modules/c-stack (Depends-on): Add ignore-value.
4366
4367 2009-11-21  Bruno Haible  <bruno@clisp.org>
4368
4369         diffseq: reduce scope of variable 'best'.
4370         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
4371         variable, earlier used for two different purposes.
4372
4373 2009-11-21  Jim Meyering  <meyering@redhat.com>
4374
4375         diffseq: remove useless assignment to "best"
4376         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
4377         assignment.  At that point "best" is already guaranteed to be zero.
4378
4379 2009-11-20  Eric Blake  <ebb9@byu.net>
4380
4381         build: mention ftp redirector in release announcements
4382         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
4383         values that used to come from cfg.mk; mention FTP redirect URL.
4384         * build-aux/announce-gen: Mention the mirror list.
4385         Suggested by Karl Berry.
4386
4387         nanosleep: improve port to mingw
4388         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
4389         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
4390         LIB_NANOSLEEP, but only when needed.
4391         * modules/select (Link): Document LIBSOCKET.
4392         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
4393         enough.
4394
4395         nanosleep: work around cygwin bug
4396         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
4397         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
4398         bug.
4399         (getnow): Delete, not needed.
4400         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
4401         LIB_CLOCK_GETTIME.
4402         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
4403         clock-time, gettime.
4404         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
4405         bug.
4406         * modules/nanosleep-tests: New test.
4407         * tests/test-nanosleep.c: New file.
4408
4409         sleep: work around cygwin bug
4410         * lib/sleep.c (rpl_sleep): Work around the bug.
4411         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
4412         (gl_PREREQ_SLEEP): Delete unused macro.
4413         * modules/sleep (Depends-on): Add verify.
4414         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
4415         * modules/unistd (Makefile.am): Substitute witness.
4416         * lib/unistd.in.h (sleep): Update prototype.
4417         * doc/posix-functions/sleep.texi (sleep): Document the bug.
4418         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
4419         * modules/sleep-tests (Depends-on): Check for alarm.
4420
4421 2009-11-20  Jim Meyering  <meyering@redhat.com>
4422
4423         maint.mk: improve sc_prohibit_magic_number_exit
4424         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
4425         so it does not match uses like System.exit(1).
4426         Add comments showing how to correct all offenders.
4427
4428 2009-11-19  Eric Blake  <ebb9@byu.net>
4429
4430         xalloc-die-tests: add missing library
4431         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
4432
4433         test-xvasprintf: silence compiler warnings
4434         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
4435         empty string from gcc.
4436
4437 2009-11-19  Jim Meyering  <meyering@redhat.com>
4438
4439         xfreopen: new module, from coreutils
4440         * modules/xfreopen: New module.
4441         * lib/xfreopen.c: New file.
4442         * lib/xfreopen.h: New file.
4443         * MODULES.html.sh (File stream based Input/Output"): Add it.
4444
4445 2009-11-19  Eric Blake  <ebb9@byu.net>
4446
4447         manywarnings: depend on warnings
4448         * modules/manywarnings (Depends-on): Add warnings.
4449
4450         build: avoid compiler warnings
4451         * lib/select.c (rpl_select): Delete unused variable.
4452         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
4453
4454 2009-11-18  Eric Blake  <ebb9@byu.net>
4455
4456         tests: avoid false negative with --with-packager
4457         * tests/test-version-etc.sh: Discard packager information.
4458         * tests/test-argp-version-etc-1.sh: Likewise.
4459         Reported by Mike Frysinger.
4460
4461         utimens: fix regression on Solaris
4462         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
4463         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
4464         can only change fd timestamps via futimesat.  Instead, use an
4465         additional witness macro to avoid BSD bug.
4466         Reported by Jim Meyering.
4467
4468 2009-11-17  Eric Blake  <ebb9@byu.net>
4469
4470         usleep: use it to simplify tests
4471         * modules/stat-time-tests (Depends-on): Add usleep.
4472         (configure.ac): Drop usleep check.
4473         * modules/chown-tests (Depends-on, configure.ac): Likewise.
4474         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
4475         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
4476         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
4477         * modules/openat-tests (Depends-on, configure.ac): Likewise.
4478         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
4479         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
4480         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
4481         Likewise.
4482         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
4483         * tests/test-lchown.h (nap): Likewise.
4484         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
4485         * tests/test-stat-time.c (nap): Likewise.
4486         * tests/test-utimens-common.h (nap): Update comments.
4487
4488         usleep: new module
4489         * modules/usleep: New file.
4490         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
4491         * lib/usleep.c (usleep): Likewise.
4492         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
4493         * modules/unistd (Makefile.am): Substitute witnesses.
4494         * lib/unistd.in.h (usleep): Add declaration.
4495         * doc/pastposix-functions/usleep.texi (usleep): Document this.
4496         * MODULES.html.sh (Date and time): Likewise.
4497         * modules/usleep-tests (Depends-on): New test.
4498         * tests/test-usleep.c: New file.
4499
4500         chown: work around OpenBSD bug
4501         * lib/chown.c (rpl_chown): Work around the bug.
4502         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
4503         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
4504         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
4505         * modules/chown (Depends-on): Add stdbool.
4506         * modules/lchown (Depends-on): Likewise.
4507         * doc/posix-functions/chown.texi (chown): Document the bug.
4508         * doc/posix-functions/lchown.texi (lchown): Likewise.
4509         * tests/test-lchown.h (test_chown): Relax test.
4510
4511         mkstemp: avoid conflict with C++ keyword template
4512         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
4513         * lib/mkostemp.c (mkostemp): Likewise.
4514         * lib/mkostemps.c (mkostemps): Likewise.
4515         * lib/mkstemp.c (mkstemp): Likewise.
4516         * lib/mkstemps.c (mkstemps): Likewise.
4517
4518         xalloc-die-tests: optimize
4519         * tests/test-xalloc-die.sh: Reduce number of processes.
4520
4521 2009-11-17  Simon Josefsson  <simon@josefsson.org>
4522
4523         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
4524         patch from ludo@gnu.org (Ludovic Courtès).
4525
4526 2009-11-17  Jim Meyering  <meyering@redhat.com>
4527
4528         version-etc: use proper license string
4529         * modules/version-etc (License): Use LGPL, not LGPLv3+.
4530         * modules/version-etc-fsf: Likewise.
4531
4532 2009-11-17  Simon Josefsson  <simon@josefsson.org>
4533
4534         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
4535         printed to stdout.  Deal with EOL differences.
4536
4537 2009-11-17  Eric Blake  <ebb9@byu.net>
4538
4539         unsetenv: work around Solaris bug
4540         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
4541         * lib/unsetenv.c (rpl_unsetenv): Work around it.
4542         Reported by Jim Meyering.
4543
4544         vasnprintf: avoid compiler warnings
4545         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
4546         variables.
4547         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
4548
4549 2009-11-17  Simon Josefsson  <simon@josefsson.org>
4550
4551         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
4552         settings since xalloc-die is no longer the self test,
4553         xalloc-die.sh is.
4554
4555 2009-11-17  Jim Meyering  <meyering@redhat.com>
4556
4557         test-xalloc-die.sh: make the code agree with the commit log
4558         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
4559         at the end, just in case you happen to have a test-xalloc-die
4560         program in some other PATH directory.
4561
4562         test-xalloc-die.sh: fix a portability bug
4563         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
4564         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
4565         Otherwise, argv[0] (as often seen in diagnostics) would be too
4566         system-dependent, sometimes with, and sometimes without the leading "./".
4567
4568         version-etc-fsf: relax license to LGPLv3+
4569         * modules/version-etc-fsf (License): Relax license.
4570
4571 2009-11-16  Eric Blake  <ebb9@byu.net>
4572
4573         xalloc-die-tests: avoid printing null pointer
4574         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
4575         shell script.
4576         * tests/test-xalloc-die.c (program_name): Declare.
4577         * tests/test-xalloc-die.sh (tmpfiles): New file.
4578
4579         setenv, unsetenv: work around various bugs
4580         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
4581         (setenv) [HAVE_SETENV]: Work around bugs.
4582         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
4583         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
4584         for bugs.
4585         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
4586         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
4587         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
4588         * modules/stdlib (Makefile.am): Update substitutions.
4589         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
4590         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
4591         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
4592         * modules/setenv-tests: New test.
4593         * modules/unsetenv-tests: Likewise.
4594         * tests/test-setenv.c: New file.
4595         * tests/test-unsetenv.c: Likewise.
4596
4597 2009-11-16  Jim Meyering  <meyering@redhat.com>
4598
4599         version-etc: relax license to LGPLv3+
4600         * modules/version-etc (License): Relax license.
4601
4602         better AC_REQUIRE expanded-before-required-warning avoidance
4603         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
4604         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
4605         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
4606         which is no longer needed.
4607
4608 2009-11-16  Eric Blake  <ebb9@byu.net>
4609
4610         test-freading: clean up temporary file
4611         * tests/test-freading.c (main): Remove file on success, and use
4612         ASSERT more liberally.
4613         Reported by Jim Meyering.
4614
4615 2009-11-16  Jim Meyering  <meyering@redhat.com>
4616
4617         avoid new AC_REQUIRE expanded-before-required warnings
4618         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
4619         merely using it.
4620         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
4621         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
4622
4623 2009-11-15  Simon Josefsson  <simon@josefsson.org>
4624
4625         * tests/test-xalloc-die.c: New file.
4626         * modules/xalloc-die-tests: New file.
4627         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
4628         XFAIL_TESTS so it can be appended by modules.
4629
4630 2009-11-15  Simon Josefsson  <simon@josefsson.org>
4631
4632         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
4633         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
4634
4635 2009-11-14  Eric Blake  <ebb9@byu.net>
4636
4637         fnmatch: avoid compiler warning
4638         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
4639         to silence compiler warning about mismatch signedness in ?:.
4640         Reported by Robert Millan.
4641
4642         intprops: add double-inclusion guard
4643         * lib/intprops.h: Allow idempotent includes.
4644         Suggested by Bruce Korb.
4645
4646         openat: detect Solaris fchownat bug
4647         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
4648         penalizing glibc chownat when only lchownat is broken.
4649         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
4650         trailing slash bugs.
4651         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
4652         * modules/openat-tests (Files): Include more files.
4653         (Depends-on): Add mgetgroups, sleep, stat-time.
4654         (configure.ac): Add additional checks.
4655         (Makefile.am): Build new test.
4656         * tests/test-fchownat.c: New file.
4657
4658         lchown: detect Solaris and FreeBSD bug
4659         * lib/lchown.c (rpl_lchown): Work around bug.
4660         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
4661         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
4662         * modules/unistd (Makefile.am): Populate it.
4663         * lib/unistd.in.h (lchown): Update declaration.
4664         * doc/posix-functions/lchown.texi (lchown): Document the bug.
4665         * modules/lchown-tests: New file.
4666         * tests/test-lchown.h (test_lchown): Likewise.
4667         * tests/test-lchown.c (main): Likewise.
4668
4669         chown: detect Solaris and FreeBSD bug
4670         * lib/chown.c (rpl_chown): Work around bug.
4671         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
4672         (gl_PREREQ_CHOWN): Delete.
4673         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
4674         * modules/unistd (Makefile.am): Populate it.
4675         * lib/unistd.in.h (chown): Update declaration.
4676         * lib/lchown.c (chown): Update client.
4677         * modules/lchown (Depends-on): Add lstat.
4678         * doc/posix-functions/chown.texi (chown): Document the bug.
4679         * doc/posix-functions/getgroups.texi (getgroups): Document
4680         getgroups pitfall.
4681         * modules/chown-tests: New file.
4682         * tests/test-chown.h (test_chown): Likewise.
4683         * tests/test-chown.c (main): Likewise.
4684
4685 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
4686
4687         gnulib-tool: correctly detect absence of m4 directories
4688         * gnulib-tool: Avoid extra newline on data passed to wc -l.
4689
4690 2009-11-14  Jim Meyering  <meyering@redhat.com>
4691
4692         maint.mk: Prohibit inclusion of "xalloc.h" without use.
4693         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
4694
4695 2009-11-14  John W. Eaton  <jwe@gnu.org>
4696
4697         strftime.h: wrap funtion declaration in extern "C" block
4698         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
4699
4700 2009-11-13  Eric Blake  <ebb9@byu.net>
4701
4702         getgroups: avoid compiler warning
4703         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
4704
4705         getgroups: work around FreeBSD bug
4706         * lib/getgroups.c (rpl_getgroups): Work around the bug.
4707         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
4708         * doc/posix-functions/getgroups.texi (getgroups): Document it.
4709         * tests/test-getgroups.c (main): Fix buffer overrun.
4710
4711         getgroups: avoid compilation failure
4712         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
4713         * modules/getgroups (Depends-on): Add stdint.
4714
4715 2009-11-13  Jim Meyering  <meyering@redhat.com>
4716
4717         test-getgroups: avoid compilation failure
4718         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
4719
4720 2009-11-13  Eric Blake  <ebb9@byu.net>
4721
4722         mgetgroups: new module, taken from coreutils
4723         * modules/mgetgroups: New file.
4724         * lib/mgetgroups.h: Likewise.
4725         * lib/mgetgroups.c (mgetgroups): Likewise.
4726         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
4727         * MODULES.html.sh (Users and groups): Mention it.
4728
4729         getgroups: don't expose GETGROUPS_T to user
4730         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
4731         an element at a time if GETGROUPS_T is wrong size.
4732         * lib/getugroups.h (getugroups): Change signature.
4733         * lib/unistd.in.h (getgroups): Likewise.
4734         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
4735         signature needs fixing.
4736         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
4737         AC_TYPE_GETGROUPS.
4738         * modules/group-member (Depends-on): Add getgroups.
4739         * lib/group-member.c (group_info, get_group_info): Use gid_t.
4740         (group_member): Rely on getgroups replacement.
4741         * lib/getugroups.c (getugroups): Use gid_t.
4742         * tests/test-getgroups.c (main): Likewise.
4743         * NEWS: Mention the signature change.
4744         * doc/posix-functions/getgroups.texi (getgroups): Mention the
4745         problem with signature.
4746         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
4747         GETGROUPS_T is still useful for setgroups.
4748
4749         getgroups, getugroups: provide stubs for mingw
4750         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
4751         * lib/getugroups.c (getugroups): Likewise.
4752         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
4753         function.  Modernize replacement scheme.
4754         (gl_PREREQ_GETGROUPS): Delete.
4755         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
4756         * modules/getgroups (configure.ac): Declare witness.
4757         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
4758         * modules/unistd (Depends-on): Substitute witness.
4759         * lib/unistd.in.h (getgroups): Declare replacement.
4760
4761         getgroups: avoid calling exit
4762         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
4763         drop xalloc.
4764         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
4765         dependencies.
4766         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
4767         exiting, in the rare case of malloc failure.
4768
4769         getgroups: fix logic error
4770         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
4771         has more than 20 groups.
4772         * modules/getgroups-tests: New test.
4773         * tests/test-getgroups.c: New file.
4774
4775 2009-11-13  Simon Josefsson  <simon@josefsson.org>
4776
4777         * tests/test-base64.c: Improve.
4778
4779 2009-11-13  Simon Josefsson  <simon@josefsson.org>
4780
4781         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
4782         Blake <ebb9@byu.net>.
4783
4784 2009-11-13  Simon Josefsson  <simon@josefsson.org>
4785
4786         * tests/test-xvasprintf.c: Add %s%s related checks.
4787
4788 2009-11-12  Eric Blake  <ebb9@byu.net>
4789
4790         version-etc: match standards.texi style
4791         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
4792         and use <> only for URLs.
4793
4794 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
4795
4796         fts: do not fail on a submount during traversal
4797         * lib/fts.c (fts_build): Read the stat info again after opening
4798         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
4799         Original report at http://bugzilla.redhat.com/501848.
4800
4801 2009-11-12  Jim Meyering  <meyering@redhat.com>
4802
4803         bootstrap: sync from coreutils
4804         * build-aux/bootstrap (bootstrap_epilogue): New function.
4805         Use git_modules_config in one more place.  This make bootstrap's
4806         --gnulib-srcdir option more useful for testing.
4807
4808         bootstrap: generalize autoheader check
4809         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
4810         AC_CONFIG_HEADERS.
4811
4812 2009-11-11  Eric Blake  <ebb9@byu.net>
4813
4814         mkfifoat: use new modules for Solaris and BSD bugs
4815         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
4816         * lib/mkfifoat.c (mknodat): Split...
4817         * lib/mknodat.c (mknodat): ...into new file.
4818         * modules/mkfifoat (Files): Ship new file.
4819         (Depends-on): Add mkfifo, mknod.
4820         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
4821         (Depends-on): Add symlink.
4822         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
4823         redundant with test_mkfifo.h.
4824         (do_mkfifoat, do_mknodat): New helpers.
4825
4826         mknod: new module
4827         * modules/mknod: New file.
4828         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
4829         * lib/mknod.c (mknod): Likewise.
4830         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
4831         defaults.
4832         * modules/sys_stat (Makefile.am): Substitute them.
4833         * lib/sys_stat.in.h (mknod): Declare replacement.
4834         * MODULES.html.sh (Support for systems lacking POSIX:2008):
4835         Document it.
4836         * doc/posix-functions/mknod.texi (mknod): Likewise.
4837         * modules/mknod-tests: New test.
4838         * tests/test-mknod.c: Likewise.
4839
4840         mkfifo: new module
4841         * modules/mkfifo: New file.
4842         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
4843         * lib/mkfifo.c (mkfifo): Likewise.
4844         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
4845         defaults.
4846         * modules/sys_stat (Makefile.am): Substitute them.
4847         * lib/sys_stat.in.h (mkfifo): Declare replacement.
4848         * MODULES.html.sh (Support for systems lacking POSIX:2008):
4849         Document it.
4850         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
4851         * modules/mkfifo-tests: New test.
4852         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
4853         from test-mkfifoat.c.
4854         * tests/test-mkfifo.c: New file.
4855
4856         readlink: detect FreeBSD bug
4857         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
4858         slash on symlink.
4859         * doc/posix-functions/readlink.texi (readlink): Document the bug.
4860         * tests/test-readlink.h (test_readlink): Enhance test.
4861
4862         symlink: detect FreeBSD bug
4863         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
4864         slash on symlink.
4865         * doc/posix-functions/symlink.texi (symlink): Document the bug.
4866         * tests/test-symlink.h (test_symlink): Enhance test.
4867
4868 2009-11-10  Eric Blake  <ebb9@byu.net>
4869
4870         link: detect FreeBSD bug
4871         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
4872         symlink.
4873         * doc/posix-functions/link.texi (link): Document the bug.
4874         * tests/test-link.h (test_link): Enhance test.
4875         * tests/test-linkat.c (main): Update caller.
4876
4877         unlink, remove: detect FreeBSD bug
4878         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
4879         slash on symlink.
4880         * doc/posix-functions/unlink.texi (unlink): Document the bug.
4881         * doc/posix-functions/remove.texi (remove): Likewise.
4882         * tests/test-unlink.h (test_unlink): Enhance test.
4883         * tests/test-remove.c (main): Likewise.
4884
4885 2009-11-09  Eric Blake  <ebb9@byu.net>
4886
4887         rename: detect FreeBSD bug
4888         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
4889         slash on symlink.
4890         * modules/renameat-tests (Depends-on): Add filenamecat.
4891         * tests/test-rename.h (test_rename): Allow one more errno.
4892         * tests/test-renameat.c (main): Likewise.
4893         * doc/posix-functions/rename.texi (rename): Document the bug.
4894
4895         open: detect FreeBSD bug
4896         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
4897         symlink.
4898         * doc/posix-functions/open.texi (open): Document the bug.
4899         * doc/posix-functions/utimes.texi (utimes): Likewise.
4900         * tests/test-open.h (test_open): Add parameters, and test symlink
4901         handling.
4902         * tests/test-open.c (main): Adjust caller.
4903         * tests/test-fcntl-safer.c (main): Likewise.
4904         * modules/open-tests (Depends-on): Add stdbool, symlink.
4905         * modules/fcntl-safer-tests (Depends-on): Likewise.
4906         * tests/test-openat.c (main): Add test-open tests.
4907
4908         stat: detect FreeBSD bug
4909         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
4910         symlink.
4911         * doc/posix-functions/stat.texi (stat): Document the bug.
4912         * tests/test-stat.h (test_stat_func): Add argument.
4913         * tests/test-stat.c (main): Adjust caller.
4914         * tests/test-fstatat.c (main): Likewise.
4915         * modules/stat-tests (Depends-on): Add stdbool, symlink.
4916         Reported by Jim Meyering.
4917
4918 2009-11-09  James Youngman  <jay@gnu.org>
4919
4920         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
4921         * lib/strftime.c: Correct placement of #include "ignore-value.h".
4922
4923 2009-11-08  Jim Meyering  <meyering@redhat.com>
4924
4925         utimens: remove invalid futimesat call
4926         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
4927         It used the file descriptor of the target file as the DIR_FD
4928         parameter and NULL as the file name.  That caused failure with
4929         errno == EFAULT on FreeBSD-8.0-rc2
4930
4931 2009-11-07  Eric Blake  <ebb9@byu.net>
4932
4933         fflush, freadseek: use fseeko, not fseek
4934         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
4935         (clear_ungetc_buffer): Avoid potential problems on large files.
4936         * lib/freadseek.c (freadseek): Likewise.
4937         * modules/freadseek (Depends-on): Add fseeko.
4938         * modules/fseek (configure.ac): Set a witness.
4939         * tests/test-fflush.c (main): Use fseeko.
4940         * tests/test-fpurge.c (fseek): Disable link warning.
4941         * tests/test-freadable.c (fseek): Likewise.
4942         * tests/test-freading.c (fseek): Likewise.
4943         * tests/test-fseeko.c (fseek): Likewise.
4944         * tests/test-ftell.c (fseek): Likewise.
4945         * tests/test-ftello.c (fseek): Likewise.
4946         * tests/test-fwritable.c (fseek): Likewise.
4947         * tests/test-fwriting.c (fseek): Likewise.
4948
4949 2009-11-06  Simon Josefsson  <simon@josefsson.org>
4950
4951         * modules/memchr (Depends-on): Drop getpagesize dependency.
4952
4953 2009-11-06  Simon Josefsson  <simon@josefsson.org>
4954
4955         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
4956         Reported by Ludovic Courtès.
4957         * build-aux/pmccabe2html: Improve example usage.
4958         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
4959
4960 2009-11-06  Jim Meyering  <meyering@redhat.com>
4961
4962         do-release-commit-and-tag: New module.
4963         Automate the release-commit and tag process.
4964         * build-aux/do-release-commit-and-tag: New script, from coreutils.
4965         * modules/do-release-commit-and-tag: New file.
4966         * MODULES.html.sh (Support for maintaining and releasing): Add it.
4967
4968 2009-11-06  Simon Josefsson  <simon@josefsson.org>
4969
4970         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
4971         because test-select.c uses inet_pton.
4972
4973 2009-11-06  Simon Josefsson  <simon@josefsson.org>
4974
4975         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
4976         GETADDRINFO_LIB.  Bump serial number.
4977         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
4978         Suggested by Eric Blake <ebb9@byu.net>.
4979
4980 2009-11-05  Eric Blake  <ebb9@byu.net>
4981
4982         strtod: detect darwin bug
4983         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
4984         Reported by Leo Davis.
4985
4986         freopen-safer: new module
4987         * modules/freopen-safer: New module.
4988         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
4989         * lib/freopen-safer.c (freopen_safer): New file.
4990         * lib/stdio-safer.h (freopen_safer): New declaration.
4991         * lib/stdio--.h (freopen): New override.
4992         * MODULES.html.sh (File stream based Input/Output): Mention it.
4993         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
4994         freopen-safer module.
4995         * doc/posix-functions/stderr.texi (stderr): Likewise.
4996         * doc/posix-functions/stdin.texi (stdin): Likewise.
4997         * doc/posix-functions/stdout.texi (stdout): Likewise.
4998         * modules/freopen-safer-tests: New test.
4999         * tests/test-reopen-safer.c: New file.
5000
5001 2009-11-05  Jim Meyering  <meyering@redhat.com>
5002
5003         maint.mk: Prohibit inclusion of "close-stream.h" without use.
5004         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
5005
5006 2009-11-05  Simon Josefsson  <simon@josefsson.org>
5007
5008         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
5009
5010 2009-11-05  Simon Josefsson  <simon@josefsson.org>
5011
5012         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
5013
5014 2009-11-05  Simon Josefsson  <simon@josefsson.org>
5015
5016         Fix link error.
5017         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
5018         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
5019
5020 2009-11-05  Simon Josefsson  <simon@josefsson.org>
5021
5022         * tests/test-func.c: Also test value of __func__.
5023
5024 2009-11-05  Simon Josefsson  <simon@josefsson.org>
5025
5026         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
5027         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
5028
5029 2009-11-05  Bruno Haible  <bruno@clisp.org>
5030
5031         Fix link error.
5032         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
5033         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
5034         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
5035
5036 2009-11-05  Bruno Haible  <bruno@clisp.org>
5037
5038         Tests for module 'inet_pton'.
5039         * modules/inet_pton-tests: New file.
5040         * tests/test-inet_pton.c: New file.
5041
5042 2009-11-05  Bruno Haible  <bruno@clisp.org>
5043
5044         Tests for module 'inet_ntop'.
5045         * modules/inet_ntop-tests: New file.
5046         * tests/test-inet_ntop.c: New file.
5047
5048 2009-11-04  Eric Blake  <ebb9@byu.net>
5049
5050         stdlib-safer: wrap all mkstemp variants
5051         * modules/mkostemp (configure.ac): Set witness.
5052         * modules/mkostemps (configure.ac): Likewise.
5053         * modules/mkstemps (configure.ac): Likewise.
5054         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
5055         (mkstemps_safer): Wrap more functions.
5056         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
5057         wrapping.
5058         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
5059         (mkstemps_safer): Implement the wrappers.
5060
5061         mkstemps, mkostemps: new modules
5062         * modules/mkostemps: New module.
5063         * modules/mkstemps: Likewise.
5064         * lib/mkostemps.c (mkostemps): New file.
5065         * lib/mkstemps.c (mkstemps): Likewise.
5066         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
5067         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
5068         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
5069         * modules/stdlib (Makefile.am): Substitute them.
5070         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
5071         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
5072         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
5073         * doc/gnulib.texi (Glibc stdlib.h): Include them.
5074         * MODULES.html.sh (File system functions): Mention them.
5075
5076         tempname: resync from glibc
5077         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
5078         same values for __GT_FILE as glibc.  Abort even when assertions
5079         are disabled.
5080         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
5081         match its value otherwise.  Allow idempotent inclusion.
5082         * lib/mkdtemp.c (mkdtemp): Adjust caller.
5083         * lib/mkostemp.c (mkostemp): Likewise.
5084         * lib/mkstemp.c (mkstemp): Likewise.
5085         * lib/tmpfile.c (tmpfile): Likewise.
5086         * NEWS: Document this.
5087
5088         utimens: fix use of futimens on older Linux
5089         * lib/utimens.c (fdutimens): Use updated, rather than original,
5090         timespec to avoid bug in older Linux kernel.
5091         Reported by Simon Josefsson.
5092
5093 2009-11-04  Bruno Haible  <bruno@clisp.org>
5094
5095         Make num_processors more flexible and consistent.
5096         * lib/nproc.h (enum nproc_query): New type.
5097         (num_processors): Add a 'query' argument.
5098         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
5099         (num_processors): Add a 'query' argument. Test the value of the
5100         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
5101         mingw, count the number of CPUs available for the current process.
5102         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
5103         Check for sched_getaffinity and sched_getaffinity_np.
5104         * modules/nproc (Depends-on): Add c-ctype, extensions.
5105         * NEWS: Mention the change.
5106
5107 2009-11-03  Bruno Haible  <bruno@clisp.org>
5108
5109         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
5110
5111 2009-11-03  Jim Meyering  <meyering@redhat.com>
5112
5113         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
5114         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
5115         if it is defined.
5116
5117 2009-11-02  Eric Blake  <ebb9@byu.net>
5118
5119         mktime, timegm: share common declaration
5120         * lib/mktime-internal.h: New file.
5121         * lib/mktime.c: Use it rather than open-coding a declaration.
5122         * lib/timegm.c: Likewise.
5123         * modules/mktime (Files): Ship it.
5124         * modules/timegm (Files): Likewise.
5125         Suggested by Bruno Haible.
5126
5127         test-update-copyright: update test to match script changes
5128         * tests/test-update-copyright.sh: Avoid hard-coding perl
5129         location.  Don't update *.bak created by earlier runs.
5130
5131 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
5132             Simon Josefsson  <simon@josefsson.org>
5133             Bruno Haible  <bruno@clisp.org>
5134
5135         Fix link error on Solaris 8.
5136         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
5137         also in libnsl. Define also INET_PTON_LIB.
5138         * modules/inet_pton (Link): New section.
5139
5140 2009-11-02  Simon Josefsson  <simon@josefsson.org>
5141             Bruno Haible  <bruno@clisp.org>
5142
5143         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
5144         * modules/inet_ntop (Link): New section.
5145         Reported by Boyan Kasarov <bkasarov@gmail.com>.
5146
5147 2009-11-02  Eric Blake  <ebb9@byu.net>
5148
5149         maint: avoid compiler warnings in m4 macros
5150         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
5151         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
5152
5153 2009-11-02  Simon Josefsson  <simon@josefsson.org>
5154
5155         * m4/pmccabe2html.m4: Remove file.
5156         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
5157         function.  Change maintainer.
5158         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
5159         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
5160         Courtès).
5161
5162 2009-10-31  Eric Blake  <ebb9@byu.net>
5163
5164         fseeko: fix m4 regression
5165         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
5166         regression from 2009-10-27.
5167         Reported by Ralf Wildenhues.
5168
5169 2009-10-31  Jim Meyering  <meyering@redhat.com>
5170
5171         inttostr: aesthetics and improved (compile-time) safety
5172         Define inttype_is_signed rather than inttype_is_unsigned,
5173         since the sole use is via "#if inttype_is_signed".
5174         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
5175         inttype_is_unsigned.
5176         * lib/offtostr.c (inttype_is_signed): Likewise.
5177         * lib/uinttostr.c (inttype_is_signed): Likewise.
5178         * lib/umaxtostr.c (inttype_is_signed): Likewise.
5179         * lib/inttostr.c (inttostr): Use verify to cross-check the
5180         inttype_is_signed value and the signedness of the actual type.
5181         * modules/inttostr (Depends-on): Add verify.
5182
5183 2009-10-30  Eric Blake  <ebb9@byu.net>
5184
5185         build: avoid compiler warnings
5186         * lib/fchmodat.c (lchmod): Mark unused variables.
5187         * lib/getopt.c (_getopt_initialize): Likewise.
5188         * lib/mktime.c (__mktime_internal): Provide prototype.
5189         * lib/inttostr.c (inttostr): Avoid compiler warning even with
5190         older gcc that do not understand #pragma GCC diagnostic.
5191         * lib/uinttostr.c (inttype_is_unsigned): Define.
5192         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
5193
5194 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
5195
5196         stat: fix compilation on AIX
5197         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
5198         only see struct stat64.
5199
5200 2009-10-30  Eric Blake  <ebb9@byu.net>
5201
5202         exclude: make more robust
5203         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
5204         rather than masking a coding bug.
5205         Suggested by Bruno Haible.
5206
5207 2009-10-30  Jim Meyering  <meyering@redhat.com>
5208
5209         perl scripts: remove #!/usr/bin/perl in favor of more portable...
5210         Rather than putting #!/usr/bin/perl on the first line,
5211         start with a variant of what's recommended by "man perlrun" that
5212         invokes the first "perl" program from your shell's search path.
5213         * build-aux/gitlog-to-changelog: Replace #!... as above.
5214         Add a "Local Variables" perl mode setting.
5215         Prompted by a patch from Ludovic Courtès.
5216         Improved by Eric Blake.
5217         * build-aux/useless-if-before-free: Likewise.
5218         * build-aux/announce-gen: Likewise.
5219         * build-aux/update-copyright: Likewise.
5220
5221 2009-10-29  Eric Blake  <ebb9@byu.net>
5222
5223         filenamecat-lgpl: adjust clients
5224         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
5225         filenamecat.
5226         * modules/renameat (Depends-on): Likewise.
5227
5228         filenamecat: split into filenamecat-lgpl
5229         * modules/filenamecat-lgpl: New module.
5230         * modules/filenamecat (Files): Move library-safe files into
5231         filenamecat-lgpl.
5232         (Depends-on): Add filenamecat-lgpl.
5233         (configure.ac): Declare witness.
5234         * lib/filenamecat.h (file_name_concat): Only declare when using
5235         GPL module.
5236         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
5237         Move...
5238         * lib/filenamecat-lgpl.c: ...into new file.
5239         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
5240         (gl_FILE_NAME_CONCAT): Use it.
5241         * MODULES.html.sh (File system functions): Mention new module.
5242
5243         argp: avoid memory leak
5244         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
5245         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
5246         base_name, since the latter malloc()s and can call exit().
5247         Leak introduced 2006-07-03.
5248
5249         dirname-lgpl: adjust clients that don't need full dirname
5250         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
5251         * modules/filenamecat (Depends-on): Likewise.
5252         * modules/linkat (Depends-on): Likewise.
5253         * modules/mkancesdirs (Depends-on): Likewise.
5254         * modules/mkdir (Depends-on): Likewise.
5255         * modules/openat (Depends-on): Likewise.
5256         * modules/savewd (Depends-on): Likewise.
5257         * modules/rename (Depends-on): Likewise.
5258         (License): Relax license.
5259         * modules/mkdir-tests (Depends-on): Drop progname.
5260         (Makefile.am): Delete unneeded LDADD.
5261         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
5262
5263         dirname: split into dirname-lgpl
5264         * modules/dirname-lgpl: New module.
5265         * modules/dirname (Files): Move library-safe files into
5266         dirname-lgpl.
5267         (Depends-on): Add dirname-lgpl.
5268         (configure.ac): Declare witness.
5269         * modules/double-slash-root (License): Relax license.
5270         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
5271         module.
5272         * lib/dirname.c (dir_len, mdir_name): Move...
5273         * lib/dirname-lgpl.c: ...into new file.
5274         * lib/basename.c (last_component, base_len): Move...
5275         * lib/basename-lgpl.c: ...into new file.
5276         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
5277         (gl_DIRNAME): Use it.
5278         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
5279         Mention new module.
5280         * modules/dirname-tests (Depends-on): Add progname.
5281         * tests/test-dirname.c (program_name): Delete.
5282
5283         mkdir: make safe for libraries
5284         * modules/mkdir (Depends-on): Drop xalloc.
5285         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
5286         exit.
5287
5288         tests: avoid some compiler warnings
5289         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
5290         literals.
5291         * tests/test-memchr.c (main): Avoid type mismatch.
5292         * tests/test-arpa_inet.c (main): Avoid unused parameters.
5293         * tests/test-base64.c (main): Likewise.
5294         * tests/test-getdelim.c (main): Likewise.
5295         * tests/test-gethostname.c (main): Likewise.
5296         * tests/test-getline.c (main): Likewise.
5297         * tests/test-netinet_in.c (main): Likewise.
5298         * tests/test-select.c (open_server_socket, main): Likewise.
5299         * tests/test-select-stdin.c (main): Likewise.
5300         * tests/test-sockets.c (main): Likewise.
5301         * tests/test-strsignal.c (main): Likewise.
5302         * tests/test-sys_select.c (main): Likewise.
5303         * tests/test-sys_socket.c (main): Likewise.
5304         * tests/test-u64.c (main): Likewise.
5305         * tests/test-xfprintf-posix.c (main): Likewise.
5306         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
5307
5308         sockets: avoid compiler warning
5309         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
5310
5311         maint: detect usage(1) and other suspicious exits
5312         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
5313
5314 2009-10-29  Jim Meyering  <meyering@redhat.com>
5315
5316         timespec: long-to-int truncation could make timespec_cmp malfunction
5317         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
5318         a multiple of 2^32 nanoseconds as no difference.
5319
5320 2009-10-28  Jim Meyering  <meyering@redhat.com>
5321
5322         fprintftime: wrap macro code argument in "do {...} while(0)"
5323         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
5324         cpy macro must be a statement that can be followed by a semicolon.
5325         Now that the else clause contains a comment and is hence longer
5326         than one line, I require curly braces.  That in turn requires
5327         that we wrap this code block in the standard do...while(0).
5328
5329         fprintftime: remove stray semicolon from previous change
5330         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
5331
5332         fprintftime: avoid a warning about ignored fwrite return value
5333         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
5334         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
5335         that is unsafe.
5336         * modules/fprintftime (Depends-on): Add ignore-value.
5337
5338         exclude: avoid an unwarranted warning
5339         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
5340
5341 2009-10-27  Eric Blake  <ebb9@byu.net>
5342
5343         fseek: avoid compilation failure when fflush is replaced
5344         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
5345         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
5346         module is in use.
5347         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
5348         module is not in use; since REPLACE_FSEEK worked otherwise.
5349         (GNULIB_FTELLO): Likewise for ftell.
5350         Reported by Ian Beckwith and others.
5351
5352 2009-10-27  Bruno Haible  <bruno@clisp.org>
5353
5354         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
5355         Reported by Jim Meyering.
5356
5357 2009-10-27  Jim Meyering  <jim@meyering.net>
5358             Bruno Haible  <bruno@clisp.org>
5359
5360         Avoid warning despite dropping the return value of fwrite.
5361         * lib/unicodeio.c: Include ignore-value.h.
5362         (fwrite_success_callback): Explicitly ignore fwrite's return value.
5363         * modules/unicodeio (Depends-on): Add ignore-value.
5364
5365 2009-10-26  Eric Blake  <ebb9@byu.net>
5366
5367         areadlinkat: fix fallback path
5368         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
5369         pointer and zero.
5370
5371 2009-10-22  Pádraig Brady  <P@draigBrady.com>
5372
5373         Use a better IO block size for modern systems
5374         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
5375         * lib/md2.c: Likewise.
5376         * lib/md4.c: Likewise.
5377         * lib/md5.c: Likewise.
5378         * lib/sha1.c: Likewise.
5379         * lib/sha256.c: Likewise.
5380         * lib/sha512.c: Likewise.
5381
5382 2009-10-22  Eric Blake  <ebb9@byu.net>
5383
5384         tests: avoid several compiler warnings
5385         * tests/test-getcwd.c (main): Avoid buffer underflow.
5386         * tests/test-getdate.c (main): String literals are not safe with
5387         putenv, so use setenv.  Declare unused argument.
5388         * modules/getdate-tests (Depends-on): Add setenv.
5389         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
5390         problems with string literals in char *.
5391         * tests/test-hash.c (main): Avoid shadowing declaration.
5392         (insert_new): Treat string literals as char const *.
5393         * tests/test-getopt.h (test_getopt): Likewise.
5394         (getopt_loop): Alter types to minimize casting elsewhere.
5395         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
5396         (test_getopt_long_posix): Likewise.
5397         (do_getopt_long): Add wrapper to minimize casting.
5398         * tests/test-atexit.c (clear_temp_file): Use void.
5399         * tests/test-areadlink-with-size.c (main): Declare unused
5400         arguments.
5401         * tests/test-areadlink.c (main): Likewise.
5402         * tests/test-areadlinkat-with-size.c (main): Likewise.
5403         * tests/test-areadlinkat.c (main): Likewise.
5404         * tests/test-canonicalize-lgpl.c (main): Likewise.
5405         * tests/test-canonicalize.c (main): Likewise.
5406         * tests/test-dirent-safer.c (main): Likewise.
5407         * tests/test-dirname.c (main): Likewise.
5408         * tests/test-dup2.c (main): Likewise.
5409         * tests/test-fchdir.c (main): Likewise.
5410         * tests/test-fcntl-h.c (main): Likewise.
5411         * tests/test-fcntl-safer.c (main): Likewise.
5412         * tests/test-fdopendir.c (main): Likewise.
5413         * tests/test-fdutimensat.c (main): Likewise.
5414         * tests/test-fflush.c (main): Likewise.
5415         * tests/test-filenamecat.c (main): Likewise.
5416         * tests/test-filevercmp.c (main): Likewise.
5417         * tests/test-fopen-safer.c (main): Likewise.
5418         * tests/test-fopen.c (main): Likewise.
5419         * tests/test-fpending.c (main): Likewise.
5420         * tests/test-fpurge.c (main): Likewise.
5421         * tests/test-freading.c (main): Likewise.
5422         * tests/test-fstatat.c (main): Likewise.
5423         * tests/test-fsync.c (main): Likewise.
5424         * tests/test-futimens.c (main): Likewise.
5425         * tests/test-getndelim2.c (main): Likewise.
5426         * tests/test-gettimeofday.c (main): Likewise.
5427         * tests/test-getopt.c (main): Likewise.
5428         * tests/test-i-ring.c (main): Likewise.
5429         * tests/test-inttypes.c (main): Likewise.
5430         * tests/test-link.c (main): Likewise.
5431         * tests/test-lstat.c (main): Likewise.
5432         * tests/test-math.c (main): Likewise.
5433         * tests/test-md5.c (main): Likewise.
5434         * tests/test-memchr2.c (main): Likewise.
5435         * tests/test-memrchr.c (main): Likewise.
5436         * tests/test-mkdir.c (main): Likewise.
5437         * tests/test-mkdirat.c (main): Likewise.
5438         * tests/test-mkfifoat.c (main): Likewise.
5439         * tests/test-open.c (main): Likewise.
5440         * tests/test-openat-safer.c (main): Likewise.
5441         * tests/test-openat.c (main): Likewise.
5442         * tests/test-quotearg.c (main): Likewise.
5443         * tests/test-rawmemchr.c (main): Likewise.
5444         * tests/test-readlink.c (main): Likewise.
5445         * tests/test-remove.c (main): Likewise.
5446         * tests/test-rename.c (main): Likewise.
5447         * tests/test-renameat.c (main): Likewise.
5448         * tests/test-rmdir.c (main): Likewise.
5449         * tests/test-sha1.c (main): Likewise.
5450         * tests/test-signal.c (main): Likewise.
5451         * tests/test-sigaction.c (main): Likewise.
5452         * tests/test-stat.c (main): Likewise.
5453         * tests/test-stat-time.c (main): Likewise.
5454         * tests/test-stddef.c (main): Likewise.
5455         * tests/test-stdint.c (main): Likewise.
5456         * tests/test-stdio.c (main): Likewise.
5457         * tests/test-stdlib.c (main): Likewise.
5458         * tests/test-strchrnul.c (main): Likewise.
5459         * tests/test-strerror.c (main): Likewise.
5460         * tests/test-string.c (main): Likewise.
5461         * tests/test-strtod.c (main): Likewise.
5462         * tests/test-strverscmp.c (main): Likewise.
5463         * tests/test-symlink.c (main): Likewise.
5464         * tests/test-symlinkat.c (main): Likewise.
5465         * tests/test-sys_stat.c (main): Likewise.
5466         * tests/test-sys_time.c (main): Likewise.
5467         * tests/test-time.c (main): Likewise.
5468         * tests/test-unistd.c (main): Likewise.
5469         * tests/test-unlink.c (main): Likewise.
5470         * tests/test-unlinkat.c (main): Likewise.
5471         * tests/test-utimens.c (main): Likewise.
5472         * tests/test-utimensat.c (main): Likewise.
5473         * tests/test-version-etc.c (main): Likewise.
5474         * tests/test-wchar.c (main): Likewise.
5475         * tests/test-wctype.c (main): Likewise.
5476         * tests/test-xprintf-posix.c (main): Likewise.
5477         * tests/test-posixtm.c (main): Likewise.
5478         (STREQ): Delete unused macro.
5479         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
5480         shadowed variables.
5481         * tests/test-memchr.c (main): Likewise.
5482
5483 2009-10-21  Eric Blake  <ebb9@byu.net>
5484
5485         areadlinkat: avoid failure on older glibc
5486         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
5487         rather than mis-comparing 0 against FUNC_RESULT of char*.
5488
5489 2009-10-21  Bruno Haible  <bruno@clisp.org>
5490
5491         * modules/stpncpy (License): Relicense under LGPLv2+.
5492         Reported by David Lutterkort <lutter@redhat.com>.
5493
5494 2009-10-20  Eric Blake  <ebb9@byu.net>
5495
5496         utimensat: work around Solaris 9 bug
5497         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
5498         has trailing slash bugs.
5499         * tests/test-lutimens.h (test_lutimens): Enhance test.
5500         * tests/test-utimens.h (test_utimens): Likewise.
5501         * doc/posix-functions/utime.texi (utime): Enhance documentation.
5502         * doc/posix-functions/utimes.texi (utimes): Likewise.
5503         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
5504         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
5505         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
5506         * doc/posix-functions/futimens.texi (futimens): Likewise.
5507
5508         fdutimensat: new module
5509         * modules/fdutimensat: New file.
5510         * lib/fdutimensat.c (fdutimensat): Likewise.
5511         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
5512         * MODULES.html.sh (File system functions): Mention module.
5513         * modules/fdutimensat-tests: New test.
5514         * tests/test-fdutimensat.c: Likewise.
5515
5516         doc: regenerate INSTALL
5517         * doc/INSTALL: Reflect recent autoconf update.
5518         * doc/INSTALL.ISO: Likewise.
5519         * doc/INSTALL.UTF-8: Likewise.
5520
5521 2009-10-20  Pádraig Brady  <P@draigBrady.com>
5522
5523         acl: warn if ACL support is not detected
5524         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
5525
5526 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
5527
5528         * lib/nproc.h: Add extern "C" block for C++.
5529
5530 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
5531             Bruno Haible  <bruno@clisp.org>
5532
5533         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
5534         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
5535         * doc/posix-functions/isalpha.texi: Likewise.
5536         * doc/posix-functions/isblank.texi: Likewise.
5537         * doc/posix-functions/iscntrl.texi: Likewise.
5538         * doc/posix-functions/isdigit.texi: Likewise.
5539         * doc/posix-functions/isgraph.texi: Likewise.
5540         * doc/posix-functions/islower.texi: Likewise.
5541         * doc/posix-functions/isprint.texi: Likewise.
5542         * doc/posix-functions/ispunct.texi: Likewise.
5543         * doc/posix-functions/isspace.texi: Likewise.
5544         * doc/posix-functions/isupper.texi: Likewise.
5545         * doc/posix-functions/isxdigit.texi: Likewise.
5546
5547 2009-10-18  Bruno Haible  <bruno@clisp.org>
5548
5549         Tests for module 'isblank'.
5550         * modules/isblank-tests: New file.
5551         * tests/test-isblank.c: New file.
5552
5553         New module 'isblank'.
5554         * lib/isblank.c: New file.
5555         * m4/isblank.m4: New file.
5556         * modules/isblank: New file.
5557         * doc/posix-functions/isblank.texi: Mention the new module.
5558
5559 2009-10-18  Bruno Haible  <bruno@clisp.org>
5560
5561         New module 'ctype'.
5562         * lib/ctype.in.h: New file.
5563         * m4/ctype.m4: New file.
5564         * modules/ctype: New file.
5565         * doc/posix-headers/ctype.texi: Mention the new module.
5566
5567 2009-10-18  Jim Meyering  <meyering@redhat.com>
5568
5569         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
5570         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
5571         right after its initialization, rather than farther down.
5572         Keeping these in close proximity makes it easier to ensure
5573         that each such variable is initialized.  E.g.,
5574
5575             LIB_CLOCK_GETTIME=
5576             AC_SUBST([LIB_CLOCK_GETTIME])
5577
5578         This change also increments these serial numbers.
5579         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
5580         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
5581         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
5582
5583 2009-10-18  Bruno Haible  <bruno@clisp.org>
5584
5585         Don't let environment variables perturb build.
5586         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
5587         (gl_PREREQ_GETHRXTIME): ... not here.
5588
5589 2009-10-18  Bruno Haible  <bruno@clisp.org>
5590
5591         Avoid symlink attack in localcharset module.
5592         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
5593         (O_NOFOLLOW): Define fallback.
5594         (get_charset_aliases): Don't open the file if it is a symbolic link.
5595         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
5596         gl_FCNTL_H.
5597         (gl_FCNTL_H): Require it.
5598         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
5599         * modules/localcharset (Files): Add m4/fcntl_h.m4.
5600         Reported by Fergal Glynn <fglynn@veracode.com>.
5601
5602 2009-10-18  Bruno Haible  <bruno@clisp.org>
5603
5604         Implement nproc for mingw.
5605         * lib/nproc.c: Include <windows.h>
5606         (num_processors): On native Windows platforms, try GetSystemInfo.
5607
5608 2009-10-18  Bruno Haible  <bruno@clisp.org>
5609
5610         Implement nproc for IRIX.
5611         * lib/nproc.c: Include <sys/sysmp.h>.
5612         (num_processors): On IRIX systems, try sysmp.
5613         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
5614
5615 2009-10-18  Bruno Haible  <bruno@clisp.org>
5616
5617         Implement nproc for HP-UX.
5618         * lib/nproc.c: Include <sys/pstat.h>
5619         (num_processors): On HP-UX systems, try pstat_getdynamic.
5620         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
5621         pstat_getdynamic.
5622
5623 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
5624             Bruno Haible  <bruno@clisp.org>
5625
5626         Implement nproc for NetBSD, OpenBSD.
5627         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
5628         (ARRAY_SIZE): New macro.
5629         (num_processors): On BSD systems, try sysctl of HW_NCPU.
5630         * m4/nproc.m4: New file.
5631         * modules/nproc (Files): Add m4/nproc.m4.
5632         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
5633         (Makefile.am): Instead, augment lib_SOURCES.
5634
5635 2009-10-18  Bruno Haible  <bruno@clisp.org>
5636
5637         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
5638         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
5639         sys/param.h.
5640
5641 2009-10-16  Eric Blake  <ebb9@byu.net>
5642
5643         utimensat: new module
5644         * modules/utimensat: New file.
5645         * lib/utimensat.c (utimensat): Likewise.
5646         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
5647         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
5648         so we can work around Linux bugs.
5649         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
5650         * modules/sys_stat (Makefile.am): Substitute them.
5651         * lib/sys_stat.in.h (utimensat): Declare it.
5652         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
5653         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
5654         * modules/utimensat-tests: New test.
5655         * tests/test-utimensat.c: Likewise.
5656
5657         utimens: let lutimens work on non-symlinks
5658         * lib/utimens.c (lutimens): Fall back to utimens rather than
5659         failing with ENOSYS, when file is not a symlink.
5660         (utimens): Reduce redirection.
5661         * tests/test-lutimens.h (test_lutimens): Update test to cover
5662         non-symlinks.
5663         * tests/test-utimens.h (test_utimens): Update test to cover
5664         symlinks.
5665         * tests/test-utimens.c (main): Update caller.
5666
5667         utimens: cache whether utimensat syscall works
5668         * lib/utimens.c (utimensat_works_really): New cache variable.
5669         (fdutimens, lutimens): Use it to avoid failing syscall.
5670
5671         test-stat-time, test-utimens: improve portability
5672         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
5673         ext4 on alpha, and for cygwin.
5674         * tests/test-utimens-common.h: New file.
5675         (nap): Factor delays into single function.
5676         * tests/test-lutimens.h (test_lutimens): Use new header.
5677         * tests/test-futimens.h (test_futimens): Likewise.
5678         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
5679         timestamps to occur from same machine, as was done previously for
5680         test_utimens.
5681         * modules/utimens-tests (Files): Ship new file.
5682         * modules/futimens-tests (Files): Likewise.
5683         Reported in part by Jim Meyering.
5684
5685         sys_stat: sort replacement declarations
5686         * lib/sys_stat.in.h: Sort declarations.
5687         * lib/futimens.c (futimens): Fix typo.
5688
5689 2009-10-15  Jim Meyering  <meyering@redhat.com>
5690
5691         don't let environment settings perturb build
5692         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
5693         could cause a configure-time and/or build-time malfunction.
5694         Typically, a configure-time function-in-library test is performed
5695         via code like this:
5696
5697           LIB_VAR=
5698           AC_SUBST([LIB_VAR])
5699           prefix_saved_LIBS=$LIBS
5700             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
5701                        [test "$ac_cv_search_FUNC" = "none required" ||
5702                         LIB_VAR=$ac_cv_search_FUNC])
5703           LIBS=$prefix_saved_LIBS
5704
5705         However, in each of the files affected by this change, the LIB_VAR=
5706         initialization was omitted.  Thus, when set in the environment, its
5707         value would propagate into generated Makefiles when FUNC is not found
5708         in LIB_NAME.
5709         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
5710         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
5711         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
5712
5713 2009-10-14  Eric Blake  <ebb9@byu.net>
5714
5715         fchdir: avoid infinite recursion in mingw
5716         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
5717         recursing.
5718
5719         test-stat-time: port to mingw
5720         * tests/test-stat-time.c (force_unlink): Return a value.
5721         (test_ctime) [W32]: Fix compilation error.
5722         (nap): Don't call usleep with too large an argument.  Use
5723         force_unlink.
5724         * doc/pastposix-functions/usleep.texi (usleep): Document the
5725         portability issue.
5726
5727 2009-10-13  Jim Meyering  <meyering@redhat.com>
5728
5729         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
5730         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
5731         * modules/pipe-filter-ii: Likewise.
5732         * modules/sys_socket-tests: Likewise.
5733         * modules/tsearch-tests: Likewise.
5734         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
5735         (check): Depend on it.
5736
5737 2009-10-12  Eric Blake  <ebb9@byu.net>
5738
5739         utimens-tests: port to NFS file systems
5740         * tests/test-utimens.h (test_utimens): Refactor utimecmp
5741         comparisons to avoid spurious failures from timestamp drift
5742         between NFS machines.
5743
5744 2009-10-12  Eric Blake  <ebb9@byu.net>
5745
5746         stat-time-tests: minor cleanups
5747         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
5748         * tests/test-stat-time.c (nap): Separate assignment from call.
5749         Suggested by Paolo Bonzini and Bruno Haible.
5750
5751         sys_stat: guarantee struct timespec
5752         * lib/sys_stat.in.h (includes): Always include <time.h>
5753         * modules/sys_stat (Depends-on): Add time.
5754         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
5755         mode_t permission values.
5756         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
5757         get at subsecond timestamps.
5758
5759 2009-10-10  Eric Blake  <ebb9@byu.net>
5760
5761         futimens: new module
5762         * modules/futimens: New file.
5763         * lib/futimens.c (futimens): Likewise.
5764         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
5765         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
5766         we can work around Linux bugs.
5767         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
5768         * modules/sys_stat (Makefile.am): Substitute them.
5769         * lib/sys_stat.in.h (futimens): Declare it.
5770         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
5771         * doc/posix-functions/futimens.texi (futimens): Likewise.
5772         * modules/futimens-tests: New test.
5773         * tests/test-futimens.c: Likewise.
5774
5775         utimens: introduce fdutimens
5776         * lib/utimens.h (fdutimens): New prototype.
5777         * lib/utimens.c (gl_futimens): Move guts...
5778         (fdutimens): ...to new interface.
5779         * tests/test-utimens.c (do_fdutimens): Use it.
5780
5781         utimens: add UTIME_NOW and UTIME_OMIT support
5782         * lib/utimens.c (validate_timespec, update_timespec): New helper
5783         functions.
5784         (gl_futimens, lutimens): Use them.
5785         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
5786         stdbool, sys_stat.
5787         (Link): Mention resulting library dependency.
5788         * modules/utimecmp (Link): Likewise.
5789         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
5790         (Makefile.am): Pick up library dependency.
5791         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
5792         definition.
5793         * tests/test-sys_stat.c: Test the definitions.
5794         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
5795         * NEWS: Document library dependency.
5796
5797         utimecmp: support symlink timestamps
5798         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
5799         hashing when possible.  Use pathconf when available.
5800         (SYSCALL_RESOLUTION): Recognize tighter resolution.
5801         * modules/utimecmp (Depends-on): Add lstat.
5802
5803         utimens: add lutimens interface
5804         * lib/utimens.c (lutimens): New function.
5805         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
5806         * lib/utimens.h (lutimens): Declare new interface.
5807         * tests/test-utimens.c (main): Enhance test.
5808         * tests/test-lutimens.h (test_lutimens): New file.
5809         * modules/utimens-tests (Files): Distribute it.
5810         (Depends-on): Add symlink.
5811         (configure.ac): Check for usleep.
5812
5813         utimens: validate futimens usage
5814         * lib/utimens.c (gl_futimens): Require valid fd up front, using
5815         fewer syscalls on failure later on.  Avoid compiler warning on
5816         mingw.
5817         * modules/utimens (Depends-on): Add dup2.
5818
5819         utimens: add test
5820         * modules/utimens-tests: New test.
5821         * tests/test-utimens.h: New file.
5822         * tests/test-futimens.h: Likewise.
5823         * tests/test-utimens.c: Likewise.
5824
5825         doc: mention timestamp portability issues
5826         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
5827         instead.
5828         * doc/posix-functions/utime.texi (utime): Likewise.
5829         * doc/posix-functions/utimes.texi (utimes): Likewise.
5830         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
5831         instead.
5832         * doc/posix-functions/futimens.texi (futimens): Mention utimens
5833         module.
5834         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
5835         Mention weakness with symlink timestamps.
5836         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
5837         to utimensat/futimens instead.
5838         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
5839
5840         test-dup2: enhance test
5841         * tests/test-dup2.c (main): Also check AT_FDCWD.
5842
5843         test-stat-time: avoid more spurious failures
5844         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
5845         xfs; and avoid race if the two timestamps cross quantization edge.
5846
5847         relocatable: prefer 'file system' over 'filesystem'
5848         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
5849         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
5850         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
5851         * doc/relocatable.texi (Enabling Relocatability): Likewise.
5852         * lib/relocatable.c (compute_curr_prefix): Likewise.
5853
5854 2009-10-10  Jim Meyering  <meyering@redhat.com>
5855
5856         stat-time-tests: check for the usleep function
5857         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
5858
5859 2009-10-10  Bruno Haible  <bruno@clisp.org>
5860
5861         * modules/xnanosleep: Put the Link section after the Include section.
5862
5863 2009-10-09  Eric Blake  <ebb9@byu.net>
5864
5865         dup2: work around FreeBSD 6.1 bug
5866         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
5867         * doc/posix-functions/dup2.texi (dup2): Document it.
5868         Reported by Nelson H. F. Beebe and Jim Meyering.
5869
5870         test-stat-time: port to buggy NFS clients
5871         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
5872         (test_ctime): Also skip test if mtime and ctime are skewed.
5873
5874         maint: prefer 'file system' over 'filesystem'
5875         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
5876         * doc/posix-functions/lstat.texi (lstat): Likewise.
5877         * lib/file-has-acl.c (file_has_acl): Likewise.
5878         * lib/fwriteerror.c [TEST]: Likewise.
5879         * tests/test-areadlink.h (test_areadlink): Likewise.
5880         * tests/test-areadlinkat-with-size.c (main): Likewise.
5881         * tests/test-areadlinkat.c (main): Likewise.
5882         * tests/test-canonicalize-lgpl.c (main): Likewise.
5883         * tests/test-canonicalize.c (main): Likewise.
5884         * tests/test-fstatat.c (main): Likewise.
5885         * tests/test-linkat.c (main): Likewise.
5886         * tests/test-lstat.h (test_lstat_func): Likewise.
5887         * tests/test-mkdir.h (test_mkdir): Likewise.
5888         * tests/test-readlink.h (test_readlink): Likewise.
5889         * tests/test-remove.c (main): Likewise.
5890         * tests/test-rename.h (test_rename): Likewise.
5891         * tests/test-renameat.c (main): Likewise.
5892         * tests/test-rmdir.h (test_rmdir_func): Likewise.
5893         * tests/test-symlink.h (test_symlink): Likewise.
5894         * tests/test-symlinkat.c (main): Likewise.
5895         * tests/test-unlink.h (test_unlink_func): Likewise.
5896         * tests/test-unlinkat.c (main): Likewise.
5897
5898         maint: make realtime library usage explicit
5899         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
5900         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
5901         * modules/settime (Link): Likewise.
5902         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
5903
5904         test-stat-time: speed up execution
5905         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
5906         warning on mingw.
5907         (nap): New helper function.
5908         (prepare_test): Use it to reduce sleep time.
5909         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
5910         execution.
5911         * modules/stat-time-tests (configure.ac): Check for usleep.
5912
5913 2009-10-09  Jim Meyering  <meyering@redhat.com>
5914
5915         selinux-h: always use getfilecon wrappers
5916         * lib/getfilecon.c: New file.
5917         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
5918         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
5919         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
5920         (fgetfilecon): Provide a stub.
5921         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
5922         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
5923         file unconditionally.
5924         When <selinux/selinux.h> is found, arrange to use wrappers.
5925         * modules/selinux-h (Files): Add getfilecon.c.
5926         (Makefile.am): Substitute include-next-related bits
5927         into the now-always-generated selinux/selinux.h file.
5928         * doc/glibc-functions/lgetfilecon.texi: New file.
5929         * doc/glibc-functions/fgetfilecon.texi: New file.
5930         * doc/glibc-functions/getfilecon.texi: New file.
5931         * doc/glibc-functions/getfilecon-desc.texi: New file.
5932         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
5933         which to pull in the new files.
5934         * MODULES.html.sh (Misc): Add selinux-h.
5935
5936 2009-10-08  Jim Meyering  <meyering@redhat.com>
5937
5938         unistd: fix comment typo
5939         * lib/unistd.in.h (euidaccess): Fix a comment typo.
5940
5941 2009-10-08  Eric Blake  <ebb9@byu.net>
5942
5943         areadlink: use SIZE_MAX consistently
5944         * modules/areadlink (Depends-on): Add stdint.
5945         * modules/areadlink-with-size (Depends-on): Likewise.
5946         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
5947         gives NULL; drop sys/types, since unistd gives size_t; and add
5948         stdint for SIZE_MAX.
5949         (SIZE_MAX): Rely on headers.
5950         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
5951         and add stdint.
5952         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
5953         (SIZE_MAX): Likewise.
5954         (INITIAL_BUF_SIZE): Turn into enum.
5955         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
5956
5957 2009-10-08  Jim Meyering  <meyering@redhat.com>
5958
5959         areadlinkat: avoid compilation failure
5960         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
5961         Fix typo in comment.
5962
5963 2009-10-07  Eric Blake  <ebb9@byu.net>
5964
5965         areadlinkat-with-size: new module
5966         * modules/areadlinkat-with-size: New module.
5967         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
5968         * lib/areadlink.h (areadlinkat): Declare it.
5969         * MODULES.html.sh (File system functions): Mention it.
5970         * modules/areadlinkat-with-size-tests: New test.
5971         * tests/test-areadlinkat-with-size.c: New file.
5972
5973         xreadlinkat: new module
5974         * modules/xreadlinkat: New module.
5975         * lib/xreadlinkat.c (xreadlinkat): New file.
5976         * lib/xreadlink.h (xreadlinkat): Declare it.
5977         * MODULES.html.sh (File system functions): Mention it.
5978
5979         areadlinkat: new module
5980         * lib/at-func.c (FUNC_FAIL): New define.
5981         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
5982         * modules/areadlinkat: New module.
5983         * lib/linkat.c (areadlinkat): Move...
5984         * lib/areadlinkat.c (areadlinkat): ...to new file.
5985         * lib/areadlink.h (areadlinkat): Declare it.
5986         * modules/linkat (Depends-on): Add areadlinkat.
5987         * MODULES.html.sh (File system functions): Mention it.
5988         * modules/areadlinkat-tests: New test.
5989         * tests/test-areadlinkat.c: New file.
5990
5991         areadlink, areadlink-with-size: add tests
5992         * modules/areadlink-tests: New test.
5993         * modules/areadlink-with-size-tests: Likewise.
5994         * tests/test-areadlink.h: New file.
5995         * tests/test-areadlink.c: Likewise.
5996         * tests/test-areadlink-with-size.c: Likewise.
5997
5998         maint: minor cleanups
5999         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
6000         _UNUSED_PARAMETER_ instead.
6001         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
6002         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
6003         * modules/linkat-tests (Files): Distribute test-link.h.
6004
6005         openat, utimens: whitespace cleanup
6006         * lib/openat.c: Prefer space throughout, rather than mix of 8
6007         spaces vs. tabs.
6008         * lib/at-func.c: Likewise.
6009         * lib/utimens.c: Likewise.
6010
6011         openat: avoid using wrong fd
6012         * lib/openat.c (openat_permissive): Reject user's fd if saving the
6013         working directory chooses same fd.
6014         * lib/at-func.c (AT_FUNC_NAME): Likewise.
6015
6016         mkdir, mkdirat: fix cygwin 1.5.x bug
6017         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
6018         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
6019         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
6020         bug.
6021         (gl_PREREQ_MKDIR): Delete unused macro.
6022         * modules/mkdir (Files): Track file rename.
6023         (configure.ac): Update macro name.
6024         * modules/openat (Depends-on): Add mkdir.
6025         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
6026
6027         mkdir, mkdirat: add tests
6028         * modules/mkdir-tests: New test.
6029         * tests/test-mkdir.h: New file.
6030         * tests/test-mkdir.c: Likewise.
6031         * tests/test-mkdirat.c: Likewise.
6032         * modules/openat-tests (Files): Add new files.
6033         (Makefile.am): Run new test.
6034
6035 2009-10-06  Eric Blake  <ebb9@byu.net>
6036
6037         doc: tweak *at function documentation
6038         * doc/posix-functions/faccessat.texi (faccessat): Mention
6039         known issue with replacement.
6040         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
6041         * doc/posix-functions/linkat.texi (linkat): Likewise.
6042         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
6043         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
6044         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
6045         * doc/posix-functions/renameat.texi (renameat): Likewise.
6046         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
6047
6048         openat: fix GNU/Hurd bug in unlinkat
6049         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
6050         broken.
6051         * doc/posix-functions/unlink.texi (unlink): Document this.
6052         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
6053
6054         fdopendir: fix GNU/Hurd bug
6055         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
6056         allowing non-directory fds.
6057         * lib/fdopendir.c (rpl_fdopendir): Work around it.
6058         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
6059         * modules/dirent (Makefile.am): Substitute it.
6060         * lib/dirent.in.h (fdopendir): Declare replacement.
6061         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
6062         * tests/test-fdopendir.c (main): Test something other than
6063         /dev/null, since on Hurd that behaves like a directory.
6064
6065         test-symlink: port to GNU/Hurd
6066         * tests/test-symlink.h (test_symlink): Relax expected errno.
6067
6068         doc: tweak more cygwin information
6069         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
6070         now compatible with glibc.
6071         * doc/posix-functions/getopt.texi (getopt): Likewise.
6072
6073         getopt-gnu: add another test
6074         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
6075         guarantee behavior relied on by m4.
6076         * tests/test-getopt.c (main): Use it.
6077         * modules/getopt-posix-tests (Depends-on): Add setenv.
6078         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
6079
6080         getopt: fix compilation on darwin
6081         * lib/getopt.in.h (includes): Leave breadcrumbs during system
6082         include.
6083         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
6084         Reported by Ludovic Courtès.
6085
6086 2009-10-06  Bruno Haible  <bruno@clisp.org>
6087
6088         * modules/size_max (Description): Discourage its use.
6089         Reported by Simon Josefsson.
6090
6091 2009-10-06  Jim Meyering  <meyering@redhat.com>
6092
6093         linkat: avoid compilation failure
6094         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
6095
6096 2009-10-05  Eric Blake  <ebb9@byu.net>
6097
6098         linkat: support Linux 2.6.17
6099         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
6100         linkat on Linux, but allow cache variable override.
6101         * lib/linkat.c (rpl_linkat): Define override.
6102         * modules/linkat (Depends-on): Add symlinkat.
6103         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
6104         * modules/unistd (Makefile.am): Substitute it.
6105         * lib/unistd.in.h (linkat): Declare replacement.
6106         Reported by Pádraig Brady.
6107
6108         quotearg: port test to systems with C.UTF-8 locale
6109         * tests/test-quotearg.c (struct result_strings): Add another
6110         member, differentiating between C.ASCII and C.UTF-8 handling.
6111         (compare_strings): Add parameter.
6112         (main): Adjust all callers.
6113
6114         getopt: avoid clash with FreeBSD _getopt_internal
6115         * lib/getopt.in.h (_getopt_internal): Override the name.
6116         * lib/getopt_int.h (includes): Pick up any overrides.
6117         Reported by Reuben Thomas.
6118
6119         hash: allow C89 compilation
6120         * lib/hash.c (check_tuning): Move declaration before statement.
6121         Reported by Reuben Thomas.
6122
6123 2009-10-05  Karl Berry  <karl@gnu.org>
6124
6125         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
6126
6127 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
6128             Bruno Haible  <bruno@clisp.org>
6129
6130         * lib/uname.c (uname): Use a table-driven algorithm to compute
6131         Windows NT versions.
6132
6133 2009-10-04  Bruno Haible  <bruno@clisp.org>
6134
6135         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
6136         program_invocation_short_name.
6137         * modules/progname (configure.ac): Test for presence of
6138         program_invocation_short_name.
6139         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
6140
6141 2009-10-04  Bruno Haible  <bruno@clisp.org>
6142
6143         * lib/progname.c (set_program_name): Fix comment.
6144         Reported by Jim Meyering.
6145
6146 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
6147             Bruno Haible  <bruno@clisp.org>
6148
6149         * lib/uname.c: Include <string.h>.
6150         (uname): Do only one call to GetVersionEx in the common case.
6151
6152 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
6153             Bruno Haible  <bruno@clisp.org>
6154
6155         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
6156         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
6157         (uname): Add support for Windows CE and various non-x86 CPU types.
6158
6159 2009-10-03  Bruno Haible  <bruno@clisp.org>
6160
6161         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
6162         invocation to tests/configure.ac.
6163         Reported by Ian Beckwith <ianb@erislabs.net>.
6164
6165 2009-10-02  Eric Blake  <ebb9@byu.net>
6166
6167         fchdir: avoid compiler warning
6168         * lib/fchdir.c (canonicalize_file_name)
6169         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
6170
6171         test-open: support mingw errno values
6172         * tests/test-open.h (test_open): Relax test.
6173         * tests/test-fopen.h (test_fopen): Likewise.
6174         * tests/test-openat-safer.c (main): Likewise.
6175
6176         open: fix opening directory on mingw
6177         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
6178
6179         test-open: on GNU/Hurd, /dev/null is a directory
6180         * tests/test-fopen.h (main): Rename...
6181         (test_fopen): ...to this.  Use a guaranteed non-directory when
6182         confirming open behavior on trailing slash.
6183         * tests/test-openat-safer.c (main): Likewise.
6184         * tests/test-open.h (main): Likewise....
6185         (test_open): ...to this.
6186         * tests/test-fopen.c (main): Adjust caller.
6187         * tests/test-fopen-safer.c (main): Likewise.
6188         * tests/test-open.c (main): Likewise.
6189         * tests/test-fcntl-safer.c (main): Likewise.
6190         Reported by Samuel Thibault.
6191
6192         rename, fchdir: don't ignore chdir failure
6193         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
6194         * lib/rename.c (rpl_rename) [W32]: Likewise.
6195         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
6196         an empty destination directory if source cannot be renamed,
6197         although there is still possibility for failure.
6198         * doc/posix-functions/rename.texi (rename): Document the race.
6199         Reported by Jim Meyering.
6200
6201         maint: cleanup whitespace in recent commits
6202         * lib/rename.c (rpl_rename): Remove tabs.
6203         * tests/test-link.h (test_link): Likewise.
6204         * lib/fchdir.c (get_name): Likewise.
6205         Reported by Jim Meyering.
6206
6207 2009-10-02  Ben Pfaff  <blp@gnu.org>
6208
6209         relocatable-prog-wrapper: Add missing dependency on
6210         double-slash-root.
6211         * modules/relocatable-prog-wrapper: Add dependency.
6212         Reported by Ian Beckwith <ianb@erislabs.net>.
6213
6214 2009-10-02  Eric Blake  <ebb9@byu.net>
6215
6216         renameat: fix Solaris bugs
6217         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
6218         needed fixing.
6219         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
6220         * modules/stdio (Makefile.am): Substitute it.
6221         * lib/stdio.in.h (renameat): Declare replacement.
6222         * lib/renameat.c (rpl_renameat): Implement fix.
6223
6224         renameat: new module
6225         * modules/renameat: New file.
6226         * lib/renameat.c (renameat): Likewise.
6227         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
6228         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
6229         * modules/stdio (Makefile.am): Substitute them.
6230         * lib/stdio.in.h (renameat): Declare it.
6231         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
6232         * doc/posix-functions/renameat.texi (renameat): Likewise.
6233         * modules/renameat-tests: New test.
6234         * tests/test-renameat.c: Likewise.
6235
6236         rename: fix mingw bugs
6237         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
6238         directory overwrite bugs.
6239
6240         rename: fix another cygwin 1.5 bug
6241         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
6242         checks.
6243         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
6244         unnecessary cygwin workarounds.  Also work around bug with moving
6245         full directory onto an empty one.
6246         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
6247
6248         rename-dest-slash: merge into rename module
6249         * modules/rename-dest-slash (Status): Mark obsolete.
6250         (Depends-on): Add rename.
6251         (Files): Let rename do it all.
6252         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
6253         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
6254         * m4/rename-dest-slash.m4: ...so this file can be deleted.
6255         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
6256         * lib/rename.c (rpl_rename): Update comments.
6257
6258         rename: fix cygwin 1.5.x bugs
6259         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
6260         * lib/rename.c (rpl_rename): Work around them.
6261         * modules/rename (Depends-on): Add same-inode.
6262
6263         rename: fix Solaris 10 bug
6264         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
6265         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
6266         was the only bug.
6267
6268         rename: fix Solaris 9 bug
6269         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
6270         on non-directory.  Avoid calling exit.
6271         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
6272         strdup.
6273         * modules/rename-tests (Depends-on): Drop lstat.
6274         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
6275         (gl_PREREQ_RENAME): Delete unused macro.
6276
6277         rename-dest-slash: fix NetBSD bug
6278         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
6279         links.
6280         * modules/rename-dest-slash (Depends-on): Add same-inode.
6281
6282         rename-tests: new test, exposes several platform bugs
6283         * modules/rename-tests: New file.
6284         * tests/test-rename.h: Likewise.
6285         * tests/test-rename.c: Likewise.
6286         * doc/posix-functions/rename.texi (rename): Improve documentation,
6287         including bugs that will eventually be fixed in gnulib.
6288
6289 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
6290
6291         * lib/uname.c: Include <stdlib.h>
6292         (uname): Assume version info is available.
6293
6294 2009-10-02  Jim Meyering  <meyering@redhat.com>
6295
6296         gnu-web-doc-update: correct --help output
6297         * build-aux/gnu-web-doc-update: Make --help output relevant.
6298
6299         gnu-web-doc-update: add standard options
6300         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
6301
6302         gnu-web-doc-update: New module.
6303         Use this script to automatically update the on-line web documentation
6304         for your GNU project at http://www.gnu.org/software/$pkg/manual/
6305         * modules/gnu-web-doc-update: New file, from coreutils.
6306         * build-aux/gnu-web-doc-update: New script.
6307
6308 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
6309
6310         link: LoadLibrary is not needed.
6311         * lib/link.c: Use GetModuleHandle.
6312
6313 2009-10-01  Eric Blake  <ebb9@byu.net>
6314
6315         getopt: bump serial number
6316         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
6317         change.
6318
6319         tests: tighten link, rmdir, and remove tests
6320         * tests/test-link.h (includes): No need to use <config.h> here.
6321         Clean up if directory hard link was created, otherwise test for
6322         trailing '.'.
6323         * tests/test-linkat.c (main): Simplify.
6324         * tests/test-remove.c (main): Enhance test for trailing '.'.
6325         * tests/test-rmdir.h (test_rmdir_func): Likewise.
6326
6327 2009-10-01  Jim Meyering  <meyering@redhat.com>
6328
6329         maint.mk: requiring "make major" was annoying, for a "minor" release.
6330         What is intended is "stable", to contrast with alpha and beta,
6331         so require "make stable", not "make major".
6332         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
6333         (get_tool_versions): Likewise.
6334         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
6335
6336 2009-09-30  Ben Pfaff  <blp@gnu.org>
6337
6338         Fix broken build of replacement for Windows tmpfile().
6339         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
6340         flags argument added along with the 'mkostemp' module.
6341
6342 2009-09-28  Bruno Haible  <bruno@clisp.org>
6343
6344         Avoid identifier clash with POSIX function 'remove' defined as a macro.
6345         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
6346         to 'remove_elt'.
6347         (gl_list_remove): Update.
6348         * lib/gl_list.c (gl_list_remove): Update.
6349         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
6350         to 'remove_elt'.
6351         (gl_oset_remove): Update.
6352         * lib/gl_list.c (gl_oset_remove): Update.
6353         Reported by Eric Blake.
6354
6355 2009-09-28  Eric Blake  <ebb9@byu.net>
6356
6357         doc: mention yet more cygwin 1.7 status
6358         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
6359         cygwin.
6360         * doc/glibc-functions/execvpe.texi (execvpe): New file.
6361         * doc/gnulib.texi (Glibc unistd.h): Mention it.
6362
6363         argp: fix test failure
6364         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
6365         that are not upper-case.  Pass correct range to tolower.
6366
6367 2009-09-27  Jim Meyering  <meyering@redhat.com>
6368
6369         test-yesno: work around sparc-dash here-document infelicity
6370         Without this change, the literal \177 byte in a here document
6371         would make dash 0.5.5.1-3 access uninitialized memory.
6372         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
6373         Instead, use a marker, "@", and filter through tr to create the desired
6374         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
6375
6376 2009-09-27  Bruno Haible  <bruno@clisp.org>
6377
6378         Disable untested support for new flavours of ACLs on AIX.
6379         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
6380         progress.
6381         * lib/set-mode-acl.c (qset_acl): Likewise.
6382
6383 2008-12-07  Bruno Haible  <bruno@clisp.org>
6384
6385         Add support for new flavours of ACLs on AIX. (Untested.)
6386         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
6387         (file_has_acl): Add support for newer AIX.
6388         * lib/set-mode-acl.c (qset_acl): Likewise.
6389         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
6390         Rainer Tammer <tammer@tammer.net>.
6391
6392 2009-09-26  Eric Blake  <ebb9@byu.net>
6393
6394         argp: fix compilation of getopt
6395         * lib/getopt.in.h (includes): Use different guard than glibc.
6396         Reported by Sergey Poznyakoff.
6397
6398         doc: mention more cygwin 1.7 status
6399         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
6400         bug.
6401         * doc/posix-functions/execl.texi (execl): Likewise.
6402         * doc/posix-functions/execle.texi (execle): Likewise.
6403         * doc/posix-functions/execlp.texi (execlp): Likewise.
6404         * doc/posix-functions/execv.texi (execv): Likewise.
6405         * doc/posix-functions/execve.texi (execve): Likewise.
6406         * doc/posix-functions/execvp.texi (execvp): Likewise.
6407         * doc/glibc-functions/canonicalize_file_name.texi
6408         (canonicalize_file_name): Cygwin 1.7 now provides this.
6409         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
6410         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
6411         on AT_SYMLINK_NOFOLLOW.
6412
6413 2009-09-24  Eric Blake  <ebb9@byu.net>
6414
6415         test-linkat: make test more robust
6416         * tests/test-linkat.c (main): Avoid collision with EEXIST.
6417
6418         getopt: fix inclusion guards for cygwin
6419         * modules/getopt-posix (Depends-on): Add include-next.
6420         (Makefile.am): Substitute more items in replacement header.
6421         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
6422         <getopt.h>.
6423         * lib/getopt.in.h (includes): Use split inclusion guard, and
6424         prefer <getopt.h> over include <unistd.h> when one is present.
6425         (option): Also override name of 'struct option'.
6426
6427         same-inode: revert prior change; it is not yet ready
6428         * NEWS: Undo mention of this change.
6429         * lib/same-inode.h (same-inode.h): Undo tri-state change.
6430         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
6431         * lib/cycle-check.c (cycle_check): Likewise.
6432         * lib/same.c (same_name): Likewise.
6433         * lib/at-func2.c (at_func2): Likewise.
6434
6435 2009-09-23  Eric Blake  <ebb9@byu.net>
6436
6437         linkat: new module
6438         * modules/linkat: New file.
6439         * lib/at-func2.c (at_func2): Likewise.
6440         * lib/linkat.c (linkat): Likewise.
6441         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
6442         * lib/openat-priv.h (at_func2): Add declaration.
6443         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
6444         * modules/unistd (Makefile.am): Substitute them.
6445         * lib/unistd.in.h (linkat): Declare it.
6446         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
6447         * doc/posix-functions/linkat.texi (linkat): Likewise.
6448         * doc/posix-functions/link.texi (link): Tweak wording.
6449         * tests/test-link.c (main): Move guts...
6450         * tests/test-link.h (test_link): ...into new file.
6451         * modules/linkat-tests: New test.
6452         * tests/test-linkat.c: Likewise.
6453         * modules/link-tests (Files): Ship new file.
6454         (Depends-on): Add stdbool.
6455
6456         dirname: add library-safe mdir_name
6457         * lib/dirname.h (mdir_name): New prototype.
6458         * lib/dirname.c (dir_name): Move guts...
6459         (mdir_name): ...to new function that avoids xalloc_die.
6460
6461         fchdir: another mingw fix
6462         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
6463         * lib/fchdir.c (get_name): New helper method; skips canonicalize
6464         on mingw (where it has not yet been ported), and make it optional
6465         elsewhere.
6466         (_gl_register_fd): Use it.
6467
6468         same-inode: make SAME_INODE tri-state, to port to mingw
6469         * NEWS: Mention this change.
6470         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
6471         st_ino always being 0.
6472         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
6473         * lib/cycle-check.c (cycle_check): Likewise.
6474         * lib/same.c (same_name): Likewise.
6475
6476         lstat: avoid mingw compilation error
6477         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
6478         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
6479         lstat ourselves.
6480         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
6481         was adequate.
6482         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
6483         the checks for lstat.
6484         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
6485
6486         link: fix test failure on Solaris 9
6487         * lib/link.c (rpl_link): Don't assume link will catch bogus
6488         trailing slash on source.
6489
6490         test-symlinkat: enhance test
6491         * tests/test-readlink.c (main): Move guts...
6492         * tests/test-readlink.h (test_readlink): ...into new file.
6493         * tests/test-symlink.c (main): Move guts...
6494         * tests/test-symlink.h (test_symlink): ...into new file.
6495         * tests/test-symlinkat.c (main): Use new files for further
6496         coverage.
6497         (do_symlink, do_readlink): New helper functions.
6498         * modules/symlink-tests (Files): Ship new file.
6499         (Depends-on): Add stdbool.
6500         * modules/readlink-tests (Files): Ship new file.
6501         (Depends-on): Add stdbool.
6502         * modules/symlinkat-tests (Files): Use new files.
6503
6504 2009-09-23  Eric Blake  <ebb9@byu.net>
6505
6506         readlink: document portability issue with symlink length
6507         * doc/posix-functions/lstat.texi (lstat): Mention that some file
6508         systems have bogus st_size on symlinks, and mention the
6509         areadlink-with-size module.
6510         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
6511         * doc/posix-functions/readlink.texi (readlink): Mention the
6512         areadlink module, and ERANGE failure.
6513         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
6514         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
6515
6516         readlink: fix Solaris 9 bug with trailing slash
6517         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
6518         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
6519         * doc/posix-functions/readlink.texi (readlink): Document this.
6520         * modules/readlink-tests: New test.
6521         * tests/test-readlink.c: Likewise.
6522
6523         readlink: fix cygwin 1.5.x bug with return type
6524         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
6525         * lib/unistd.in.h (readlink): Use ssize_t.
6526         * lib/readlink.c (readlink): Likewise.
6527         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
6528         * modules/unistd (Makefile.am): Substitute it.
6529         * lib/unistd.in.h (readlink): Declare replacement.
6530         * doc/posix-functions/readlink.texi (readlink): Document this.
6531
6532         symlink: use throughout gnulib
6533         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
6534         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
6535         symlink is not used.
6536         * modules/symlinkat (Depends-on): Add symlink.
6537         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
6538         * modules/canonicalize-tests (Depends-on): Likewise.
6539         * modules/lstat-tests (Depends-on): Likewise.
6540         * modules/openat-tests (Depends-on): Likewise.
6541         * modules/remove-tests (Depends-on): Likewise.
6542         * modules/rmdir-tests (Depends-on): Likewise.
6543         * modules/unlink-tests (Depends-on): Likewise.
6544         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
6545         * tests/test-canonicalize.c (symlink): Likewise.
6546         * tests/test-fstatat.c (symlink): Likewise.
6547         * tests/test-lstat.c (symlink): Likewise.
6548         * tests/test-remove.c (symlink): Likewise.
6549         * tests/test-rmdir.c (symlink): Likewise.
6550         * tests/test-unlink.c (symlink): Likewise.
6551         * tests/test-unlinkat.c (symlink): Likewise.
6552
6553         symlink: new module, for Solaris 9 bug
6554         * modules/symlink: New file.
6555         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
6556         * lib/symlink.c: Likewise.
6557         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
6558         * modules/unistd (Makefile.am): Substitute them.
6559         * lib/unistd.in.h (symlink): Declare replacement.
6560         * MODULES.html.sh (File system functions): Mention it.
6561         * doc/posix-functions/symlink.texi (symlink): Likewise.
6562         * modules/symlink-tests: New test.
6563         * tests/test-symlink.c: Likewise.
6564
6565 2009-09-23  Bruno Haible  <bruno@clisp.org>
6566
6567         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
6568         when needed.
6569         Test case: gnulib-tool --import --with-tests atexit inttypes.
6570         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
6571
6572 2009-09-23  Bruno Haible  <bruno@clisp.org>
6573
6574         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
6575         subcommand, not in a subshell.
6576
6577 2009-09-22  Eric Blake  <ebb9@byu.net>
6578
6579         unistd: sort replacement declarations
6580         * lib/unistd.in.h: Sort declarations.
6581
6582         open, openat: minor optimization
6583         * lib/open.c (open): If open succeeded, len is non-zero.
6584         * lib/openat.c (rpl_openat): Likewise.
6585
6586         link-follow: ensure correct result
6587         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
6588         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
6589         distinguish between possible failures.
6590
6591 2009-09-21  Eric Blake  <ebb9@byu.net>
6592
6593         fts: avoid compiler warning
6594         * lib/fts.c (dirent_inode_sort_may_be_useful)
6595         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
6596
6597 2009-09-19  Bruno Haible  <bruno@clisp.org>
6598
6599         * lib/progreloc.c (canonicalize_file_name): New declaration.
6600
6601 2009-09-19  Eric Blake  <ebb9@byu.net>
6602
6603         link: fix quoting
6604         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
6605
6606         openat: fix openat bugs on Solaris 9
6607         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
6608         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
6609         * modules/openat (Depends-on): Add open.
6610         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
6611         * modules/fcntl-h (Makefile.am): Substitute it.
6612         * lib/fcntl.in.h (openat): Declare replacement.
6613         * doc/posix-functions/openat.texi (openat): Document this.
6614
6615         openat: move fstatat and unlinkat into correct files
6616         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
6617         compiled.
6618         * lib/openat.c (fstatat, unlinkat): Move...
6619         * lib/fstatat.c (fstatat): ...into correct files.
6620         * lib/unlinkat.c (unlinkat): Likewise.
6621
6622         openat: fix unlinkat bugs on Solaris 9
6623         * lib/unlinkat.c (unlinkat): New file.
6624         * modules/openat (Depends-on): Add unlink.
6625         (Files): Distribute it.
6626         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
6627         trailing slash behavior is broken.
6628         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
6629         * modules/unistd (Makefile.am): Substitute it.
6630         * lib/unistd.in.h (unlinkat): Declare replacement.
6631         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
6632
6633         openat: fix fstatat bugs on Solaris 9
6634         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
6635         stat.
6636         * doc/posix-functions/fstatat.texi (fstatat): Document this.
6637
6638         test-unlinkat: enhance test, to expose Solaris 9 bug
6639         * tests/test-unlink.c (main): Factor guts...
6640         * tests/test-unlink.h (test_rmdir_func): ...into new file.
6641         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
6642         * tests/test-rmdir.c (main): Adjust caller.
6643         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
6644         (unlinker): New helper function.
6645         (rmdirat): Enhance check.
6646         * modules/rmdir-tests (Depends-on): Add stdbool.
6647         * modules/unlink-tests (Depends-on): Likewise.
6648         (Files): Add test-unlink.h.
6649         * modules/openat-tests (Files): Likewise.
6650         (Depends-on): Add unlinkdir.
6651
6652         test-fstatat: new test, to expose Solaris 9 bugs
6653         * tests/test-stat.c (main): Factor guts...
6654         * tests/test-stat.h (test_stat_func): ...into new file.
6655         * tests/test-lstat.c (main): Factor guts...
6656         * tests/test-lstat.h (test_lstat_func): ...into new file.
6657         * tests/test-fstatat.c: New file.
6658         * modules/stat-tests (Files): Add test-stat.h.
6659         * modules/lstat-tests (Files): Add test-lstat.h.
6660         (Depends-on): Add stdbool.
6661         * modules/openat-tests (Depends-on): Add pathmax.
6662         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
6663         (Makefile.am): Run new test.
6664
6665         remove: new module, for mingw and Solaris 9 bugs
6666         * modules/remove: New file.
6667         * lib/remove.c: Likewise.
6668         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
6669         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
6670         * modules/stdio (Makefile.am): Use them.
6671         * lib/stdio.in.h (remove): Declare replacement.
6672         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
6673         * doc/posix-functions/remove.texi (remove): Likewise.
6674         * modules/remove-tests: New test.
6675         * tests/test-remove.c: Likewise.
6676
6677         unlink: new module, for Solaris 9 bug
6678         * modules/unlink: New file.
6679         * lib/unlink.c: Likewise.
6680         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
6681         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
6682         * modules/unistd (Makefile.am): Use them.
6683         * lib/unistd.in.h (stat): Declare replacement.
6684         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
6685         * doc/posix-functions/unlink.texi (unlink): Likewise.
6686         * modules/unlink-tests: New test.
6687         * tests/test-unlink.c: Likewise.
6688
6689         lstat: fix Solaris 9 bug
6690         * lib/lstat.c (lstat): Also check for trailing slash on
6691         non-symlink, non-directories.  Use stat module to simplify logic.
6692         * doc/posix-functions/lstat.texi (lstat): Document it.
6693         * modules/lstat-tests (Depends-on): Add errno, same-inode.
6694         (configure.ac): Check for symlink.
6695         * tests/test-lstat.c (main): Add more tests.
6696
6697         stat: add as dependency to other modules
6698         * modules/chown (Depends-on): Add stat.
6699         * modules/euidaccess (Depends-on): Likewise.
6700         * modules/fchdir (Depends-on): Likewise.
6701         * modules/isdir (Depends-on): Likewise.
6702         * modules/link (Depends-on): Likewise.
6703         * modules/lstat (Depends-on): Likewise.
6704         * modules/mkdir-p (Depends-on): Likewise.
6705         * modules/modechange (Depends-on): Likewise.
6706         * modules/open (Depends-on): Likewise.
6707         * modules/readlink (Depends-on): Likewise.
6708         * modules/same (Depends-on): Likewise.
6709
6710         stat: fix Solaris 9 bug
6711         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
6712         slash.
6713         * lib/stat.c (rpl_stat): Work around it.
6714         * doc/posix-functions/stat.texi (stat): Update documentation.
6715
6716         stat: new module, for mingw bug
6717         * modules/stat: New file.
6718         * lib/stat.c: Likewise.
6719         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
6720         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
6721         * modules/sys_stat (Makefile.am): Use them.
6722         * lib/sys_stat.in.h (stat): Declare replacement.
6723         * lib/openat.c (fstatat): Deal with lstat and stat being function
6724         macros.
6725         * modules/openat (Depends-on): Add inline.
6726         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
6727         * doc/posix-functions/stat.texi (stat): Likewise.
6728         * modules/stat-tests: New test.
6729         * tests/test-stat.c: Likewise.
6730
6731 2009-09-19  Jim Meyering  <meyering@redhat.com>
6732
6733         syntax-check: detect unnecessary inclusion of canonicalize.h
6734         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
6735
6736 2009-09-19  Eric Blake  <ebb9@byu.net>
6737
6738         canonicalize-lgpl: adjust clients to use correct header
6739         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
6740         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
6741         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
6742         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
6743         * lib/progreloc.c (includes): Likewise.
6744
6745 2009-09-19  Jim Meyering  <meyering@redhat.com>
6746
6747         test-posixtm.c: correct a comment
6748         * tests/test-posixtm.c: Correct first-line comment.
6749         Spotted by Eric Blake.
6750
6751 2009-09-16  Jim Meyering  <meyering@redhat.com>
6752
6753         posixtm-tests: make T const-correct; add a test case
6754         * tests/test-posixtm.c (T): Declare const.
6755         Add a test for -(2^31+1).
6756         Remove useless can-succeed-only-in-2002 test.
6757
6758         posixtm-tests: adjust the sole failing test
6759         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
6760         expected output matches what mktime now produces.  Cross-checked via
6761         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
6762
6763         posixtm: move #ifdef'd tests into a new module
6764         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
6765         * tests/test-posixtm.c: ... this new file.
6766         * modules/posixtm-tests: New module.
6767
6768 2009-09-19  Eric Blake  <ebb9@byu.net>
6769
6770         openat: simplify use of at-func.c
6771         * lib/at-func.c (includes): Include prerequisites here, to
6772         simplify requirements on client files.
6773         * lib/openat-priv.h: Add double-inclusion guard.
6774         * lib/faccessat.c (includes): Simplify.
6775         * lib/fchmodat.c (includes): Likewise.
6776         * lib/fchownat.c (includes): Likewise.
6777         * lib/mkdirat.c (includes): Likewise.
6778         * lib/mkfifoat.c (includes): Likewise.
6779         * lib/symlinkat.c (includes): Likewise.
6780
6781         openat: allow return of fd 0
6782         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
6783         * modules/save-cwd (Depends-on): Replace fcntl-safer with
6784         unistd-safer.
6785         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
6786         <fcntl.h>; this module does not leak fds.
6787         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
6788         must be allowed to return 0, leaving openat_safer to add the
6789         safety.
6790         (openat_permissive): Avoid writing to just-opened fd 2 if
6791         restoring the current directory fails.
6792         * lib/openat-die.c (openat_restore_fail): Add comment.
6793         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
6794         (save_cwd): Guarantee safe fd, but without use of open_safer.
6795         * tests/test-openat.c: New test.
6796         * modules/openat-tests (Files, Makefile.am): Distribute and build
6797         new file.
6798
6799         relocatable-prog-wrapper: fix build
6800         * modules/relocatable-prog-wrapper (Files): Update name of
6801         canonicalize m4 file, broken on 2009-09-17.
6802         Reported by emad hajjar <aleppos@hotmail.com>.
6803
6804 2009-09-19  Bruno Haible  <bruno@clisp.org>
6805
6806         * lib/safe-alloc.h: Use the standard header with GPL copyright.
6807         * lib/safe-alloc.c: Likewise.
6808         Reported by Ian Beckwith <ianb@erislabs.net>.
6809
6810 2009-09-18  Bruno Haible  <bruno@clisp.org>
6811
6812         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
6813         Reported by <erobles@sensacd.com.mx>.
6814
6815 2009-09-17  Eric Blake  <ebb9@byu.net>
6816
6817         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
6818         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
6819         slashes when checking if last component is missing.
6820         * tests/test-canonicalize.c (main): Test this.
6821
6822         canonicalize, canonicalize-lgpl: honor // if distinct from /
6823         * modules/canonicalize (Files): Add double-slash-root.m4.
6824         * modules/canonicalize-lgpl (Files): Likewise.
6825         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
6826         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
6827         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
6828         fallback definition.
6829         (canonicalize_filename_mode): Use it to protect //.
6830         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
6831         (__realpath): Likewise.
6832         * tests/test-canonicalize.c (main): Test this.
6833         * tests/test-canonicalize-lgpl.c (main): Likewise.
6834         * modules/canonicalize-tests (Depends-on): Add same-inode.
6835         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
6836
6837         canonicalize-lgpl: fix glibc bug with trailing slash
6838         * m4/canonicalize-lgpl.m4: Move contents...
6839         * m4/canonicalize.m4: ...here.
6840         (gl_CANONICALIZE_LGPL): Factor realpath check...
6841         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
6842         glibc 2.3.5 bug, fixed 2005-04-27.
6843         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
6844         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
6845         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
6846         * modules/canonicalize-lgpl (Files): Manage file rename.
6847         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
6848         * modules/stdlib (Makefile.am): Substitute witness.
6849         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
6850         is needed.
6851         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
6852         replacement is required.
6853         * lib/canonicalize.c (canonicalize_file_name): Likewise.
6854         * doc/glibc-functions/canonicalize_file_name.texi
6855         (canonicalize_file_name): Document this.
6856         * doc/posix-functions/realpath.texi (realpath): Likewise.
6857
6858         canonicalize-lgpl: reject non-directory with trailing slash
6859         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
6860         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
6861         catches failures in glibc 2.3.5.
6862         * tests/test-canonicalize.c (main): Likewise.
6863
6864         canonicalize-lgpl: use native realpath if it works
6865         * lib/canonicalize-lgpl.c (realpath): Guard with
6866         FUNC_REALPATH_WORKS.
6867         * lib/stdlib.in.h (realpath): Make declaration optional based on
6868         HAVE_REALPATH.
6869         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
6870         native realpath works.
6871         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
6872         * modules/stdlib (Makefile.am): Substitute witness.
6873
6874         canonicalize, canonicalize-lgpl: use <stdlib.h>
6875         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
6876         (Include): Mention <stdlib.h>.
6877         (configure.ac): Mention functions we provide.
6878         * modules/canonicalize (configure.ac): Likewise.
6879         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
6880         realpath if canonicalize_file_name is missing.
6881         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
6882         * modules/stdlib (Makefile.am): Substitute witnesses.
6883         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
6884         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
6885         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
6886         * NEWS: Document this.
6887         * doc/glibc-functions/canonicalize_file_name.texi
6888         (canonicalize_file_name): Likewise.
6889         * doc/posix-functions/realpath.texi (realpath): Likewise.
6890         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
6891
6892         test-canonicalize: consolidate into single C program
6893         * tests/test-canonicalize.sh: Delete; move setup into...
6894         * tests/test-canonicalize.c (main): ...the program, making it
6895         easier to run in debugger.  Add some tests.
6896         * modules/canonicalize-tests (Files): Remove unused file.
6897         (Depends-on): Add progname.
6898         (configure.ac, Makefile.am): Simplify.
6899
6900         test-canonicalize-lgpl: consolidate into single C program
6901         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
6902         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
6903         easier to run in debugger.  Add some tests.
6904         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
6905         (configure.ac, Makefile.am): Simplify.
6906
6907         canonicalize: avoid resolvepath
6908         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
6909         unnecessary checks.
6910         * lib/canonicalize.c (includes): Simplify.
6911         (canonicalize_file_name): Drop resolvepath implementation.
6912         * modules/canonicalize (Depends-on): Drop filenamecat.
6913
6914         canonicalize: don't lose errno
6915         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
6916         over calls to free.
6917
6918         canonicalize: simplify errno handling
6919         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
6920         assignment.
6921
6922         canonicalize, canonicalize-lgpl: update module dependencies
6923         * modules/canonicalize (Depends-on): Add extensions, lstat,
6924         pathmax, stdlib.
6925         (Files): Drop pathmax.h.
6926         (configure.ac): Adjust macro name.
6927         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
6928         lstat, stdlib, sys_stat.
6929         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
6930         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
6931         extensions.
6932         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
6933         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
6934         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
6935         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
6936         declaration, if available.
6937         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
6938         we can rely on the readlink module.
6939         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
6940         (includes): Use <unistd.h> unconditionally.
6941
6942 2009-09-17  Eric Blake  <ebb9@byu.net>
6943
6944         maint: make Include sections of modules consistent
6945         * modules/alloca: Use only header name; no need to list #include.
6946         * modules/alloca-opt: Likewise.
6947         * modules/arpa_inet: Likewise.
6948         * modules/canon-host: Likewise.
6949         * modules/configmake: Likewise.
6950         * modules/dirent: Likewise.
6951         * modules/eealloc: Likewise.
6952         * modules/environ: Likewise.
6953         * modules/fchdir: Likewise.
6954         * modules/fcntl: Likewise.
6955         * modules/fcntl-h: Likewise.
6956         * modules/gethrxtime: Likewise.
6957         * modules/gettime: Likewise.
6958         * modules/ignore-value: Likewise.
6959         * modules/inet_ntop: Likewise.
6960         * modules/inet_pton: Likewise.
6961         * modules/inttypes: Likewise.
6962         * modules/isnand-nolibm: Likewise.
6963         * modules/isnanf-nolibm: Likewise.
6964         * modules/mbchar: Likewise.
6965         * modules/mbfile: Likewise.
6966         * modules/mbiter: Likewise.
6967         * modules/mbuiter: Likewise.
6968         * modules/netdb: Likewise.
6969         * modules/netinet_in: Likewise.
6970         * modules/nproc: Likewise.
6971         * modules/pagealign_alloc: Likewise.
6972         * modules/poll: Likewise.
6973         * modules/printf-frexp: Likewise.
6974         * modules/pthread: Likewise.
6975         * modules/putenv: Likewise.
6976         * modules/random_r: Likewise.
6977         * modules/relocatable-prog: Likewise.
6978         * modules/search: Likewise.
6979         * modules/select: Likewise.
6980         * modules/selinux-h: Likewise.
6981         * modules/settime: Likewise.
6982         * modules/signal: Likewise.
6983         * modules/size_max: Likewise.
6984         * modules/socklen: Likewise.
6985         * modules/ssize_t: Likewise.
6986         * modules/stdarg: Likewise.
6987         * modules/stdbool: Likewise.
6988         * modules/stddef: Likewise.
6989         * modules/stdint: Likewise.
6990         * modules/stdio: Likewise.
6991         * modules/stdlib: Likewise.
6992         * modules/string: Likewise.
6993         * modules/strings: Likewise.
6994         * modules/sys_file: Likewise.
6995         * modules/sys_ioctl: Likewise.
6996         * modules/sys_select: Likewise.
6997         * modules/sys_socket: Likewise.
6998         * modules/sys_stat: Likewise.
6999         * modules/sys_time: Likewise.
7000         * modules/sys_times: Likewise.
7001         * modules/sys_utsname: Likewise.
7002         * modules/sys_wait: Likewise.
7003         * modules/sysexits: Likewise.
7004         * modules/time: Likewise.
7005         * modules/times: Likewise.
7006         * modules/tmpfile: Likewise.
7007         * modules/trim: Likewise.
7008         * modules/unistd: Likewise.
7009         * modules/wchar: Likewise.
7010         * modules/wctype: Likewise.
7011
7012 2009-09-17  Bruno Haible  <bruno@clisp.org>
7013
7014         Make getdate.y compile on QNX and NetBSD 5 / i386.
7015         * m4/getdate.m4 (gl_GETDATE): Conditionally define
7016         TIME_T_FITS_IN_LONG_INT.
7017         * lib/getdate.y (long_time_t): New type.
7018         (relative_time): Change type of 'seconds' field to long_time_t.
7019         (get_date): Update types of local variables. Check against overflow
7020         during conversion from long_time_t to time_t.
7021         Reported by Matt Kraai <kraai@ftbfs.org>
7022         and Hasso Tepper <hasso@netbsd.org>.
7023
7024 2009-09-17  Bruno Haible  <bruno@clisp.org>
7025
7026         * modules/COPYING: Update copyright years.
7027         * modules/README: Likeiwse.
7028         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
7029         Reported by Ian Beckwith <ianb@erislabs.net>.
7030
7031 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
7032
7033         * users.txt: Update references for gnuit package.
7034
7035 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
7036
7037         * m4/getdelim.m4: Fix typo in copyright line.
7038
7039 2009-09-17  Bruno Haible  <bruno@clisp.org>
7040
7041         * lib/atoll.c: Use the standard header with GPL copyright.
7042         * lib/argz.in.h: Likewise.
7043         * lib/glob.c: Likewise.
7044         * lib/glob-libc.h: Likewise.
7045         * lib/random_r.c: Likewise.
7046         * lib/siglist.h: Likewise.
7047         * lib/strsignal.c: Likewise.
7048         Reported by Ian Beckwith <ianb@erislabs.net>.
7049
7050 2009-09-17  Eric Blake  <ebb9@byu.net>
7051
7052         rmdir: ensure correct dependency order
7053         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
7054
7055 2009-09-17  Bruno Haible  <bruno@clisp.org>
7056
7057         Disable assertion that fails on NetBSD 5 / i386.
7058         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
7059         Reported by Sam Steingold <sds@gnu.org>
7060         and Hasso Tepper <hasso@netbsd.org>.
7061
7062 2009-09-16  Eric Blake  <ebb9@byu.net>
7063
7064         unlinkdir: port to mingw
7065         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
7066         on which no one can unlink a directory.
7067
7068         stdlib: sort witness names
7069         * modules/stdlib (Makefile.am): Sort replacements.
7070         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
7071         * lib/stdlib.in.h: Likewise.
7072
7073         parse-duration-tests: avoid link failure
7074         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
7075         LIBINTL.
7076         Reported by Tom G. Christensen.
7077
7078         openat-tests: ensure unlinkat behaves like rmdir
7079         * tests/test-rmdir.c (main): Factor guts...
7080         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
7081         * modules/rmdir-tests (Files): Ship new file.
7082         * modules/openat-tests: New test.
7083         * tests/test-unlinkat.c: Likewise.
7084
7085         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
7086         * modules/rmdir-errno (Status, Notice): Now obsolete.
7087
7088         rmdir: work around cygwin 1.5.x and mingw bugs
7089         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
7090         * lib/rmdir.c (rmdir): Work around it.
7091         * modules/rmdir (Status, Notice): No longer obsolete.
7092         (Files): Add dos.m4.
7093         (Depends-on): Add unistd.
7094         (configure.ac): Set witnesses.
7095         (License): Relax to LGPLv2+.
7096         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
7097         * modules/unistd (Makefile.am): Substitute witnesses.
7098         * lib/unistd.in.h (rmdir): Declare replacement.
7099         * doc/posix-functions/rmdir.texi (rmdir): Document this.
7100         * modules/rmdir-tests: New tests.
7101         * tests/test-rmdir.c: Likewise.
7102
7103 2009-09-15  Eric Blake  <ebb9@byu.net>
7104
7105         fchdir: improve use of replacement functions
7106         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
7107         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
7108         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
7109         REPLACE_CLOSEDIR.
7110         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
7111         * modules/sys_stat (Makefile.am): Substitute correct witness.
7112         * modules/dirent (Makefile.am): Likewise.
7113         * modules/unistd (Makefile.am): Likewise.
7114         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
7115         * lib/unistd.in.h (dup): Likewise.
7116         * lib/sys_stat.in.h (fstat): Likewise.
7117
7118         maint: ignore gnulib-tool temp files
7119         * .gitignore: Ignore files created during gnulib-tool --test.
7120
7121 2009-09-13  Jim Meyering  <meyering@redhat.com>
7122
7123         posixtm: don't reject a time that specify "60" as the number of seconds
7124         * lib/posixtm.c (posixtime): The code to reject invalid dates
7125         would also reject a time specified with the .60 suffix.
7126         But POSIX allows that, in order to accommodate leap seconds.
7127         So don't reject it.
7128         (main): Adjust tests accordingly.
7129         * modules/posixtm (Depends-on): Add stpcpy.
7130
7131 2009-09-11  Jim Meyering  <meyering@redhat.com>
7132
7133         announce-gen: include [$release_type] in emitted Subject:
7134         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
7135         e.g., [stable] in the emitted Subject: line.
7136
7137 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7138
7139         Remove obsolete macros from several modules.
7140         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
7141         obsolete Autoconf macros with their modern counterparts.
7142         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
7143         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
7144         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
7145         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
7146         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
7147         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
7148         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
7149         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
7150         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
7151         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
7152         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
7153         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
7154         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
7155         * m4/sockets.m4 (gl_SOCKETS): Likewise.
7156         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
7157         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
7158         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
7159         * m4/time_r.m4 (gl_TIME_R): Likewise.
7160         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
7161         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
7162         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
7163
7164         Fix copyright header in build-aux scripts.
7165         * build-aux/git-version-gen: Fix copyright header to match GPLv3
7166         recommendation.
7167         * build-aux/ncftpput-ftp: Likewise.
7168         * build-aux/update-copyright: Likewise.
7169
7170 2009-09-09  Eric Blake  <ebb9@byu.net>
7171
7172         test-link: allow Linux choice of errno
7173         * tests/test-link.c (main): Relax test for alternate error.
7174
7175         strndup: fix improper m4 caching
7176         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
7177         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
7178         (gl_PREREQ_STRNDUP): Delete.
7179         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
7180         * modules/string (Makefile.am): Substitute it.
7181         * lib/string.in.h (strndup): Modernize prototype.
7182
7183         getcwd: port to mingw
7184         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
7185         different from the POSIX assumptions made throughout the getcwd
7186         module; fortunately, the mingw getcwd does not need replacement.
7187         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
7188         * modules/getcwd-tests: New test.
7189         * tests/test-getcwd.c: Likewise.
7190
7191         link: fix platform bugs
7192         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
7193         * lib/link.c (link): Work around them.  Fix related mingw bug.
7194         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
7195         * modules/unistd (Makefile.am): Substitute it.
7196         * lib/unistd.in.h (link): Declare replacement.
7197         * doc/posix-functions/link.texi (link): Document this.
7198         * modules/link (Depends-on): Add strdup-posix, sys_stat.
7199
7200         test-link: consolidate into single C program, test more cases
7201         * tests/test-link.sh: Delete.
7202         * tests/test-link.c: Test more error conditions.  Exposes bugs on
7203         at least Cygwin and Solaris.
7204         * modules/link-tests (Files): Remove unused file.
7205         (Depends-on): Add errno, sys_stat.
7206         (Makefile.am): Simplify.
7207
7208 2009-09-08  Bruno Haible  <bruno@clisp.org>
7209
7210         Work around towlower, towupper bug on mingw.
7211         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
7212         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
7213         * doc/posix-functions/towlower.texi: Mention the mingw bug.
7214         * doc/posix-functions/towupper.texi: Likewise.
7215         Reported by Eric Blake.
7216
7217 2009-09-08  Jim Meyering  <meyering@redhat.com>
7218
7219         build: don't try to run autoheader if we don't use it
7220         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
7221         is not used in configure.ac.
7222
7223 2009-09-08  Eric Blake  <ebb9@byu.net>
7224
7225         euidaccess: fix compilation error
7226         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
7227
7228         rawmemchr: relax license
7229         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
7230         okay.
7231         Reported by Jim Meyering.
7232
7233         mkfifoat: new module
7234         * modules/mkfifoat: New file.
7235         * lib/mkfifoat.c: Likewise.
7236         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
7237         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
7238         * modules/sys_stat (Makefile.am): Use them.
7239         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
7240         * MODULES.html.sh (File system functions): Mention module.
7241         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
7242         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
7243         * modules/mkfifoat-tests: New test.
7244         * tests/test-mkfifoat.c: Likewise.
7245
7246         strchrnul: relax license
7247         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
7248         okay.
7249         Reported by Jim Meyering.
7250
7251 2009-09-08  Eric Blake  <ebb9@byu.net>
7252
7253         fstatat: fix compilation on Solaris
7254         * lib/fstatat.c (includes): Add fcntl.h.
7255         Reported by Pádraig Brady.
7256
7257 2009-09-07  Eric Blake  <ebb9@byu.net>
7258
7259         rename: modernize replacement
7260         * modules/rename (Depends-on): Add stdio.
7261         (configure.ac): Declare witness.
7262         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
7263         stdio take care of replacement.
7264         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
7265         * modules/stdio (Makefile.am): Substitute them.
7266         * lib/stdio.in.h (rename): Declare replacement.
7267         * lib/rename.c (includes): Allow cross-compilation to non-windows
7268         machines.
7269         * doc/posix-functions/rename.texi (rename): Improve
7270         documentation.
7271
7272         stdio: sort witness names
7273         * modules/stdio (Makefile.am): Sort replacements.
7274         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
7275         * lib/stdio.in.h: Likewise.
7276
7277         getcwd: minor cleanups
7278         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
7279         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
7280
7281         openat: provide more convenience names
7282         * modules/faccessat (configure.ac): Add C witness.
7283         * lib/unistd.in.h (readlinkat): Fix typo.
7284         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
7285         convenience wrappers.
7286         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
7287         wrappers in syntax checks.
7288
7289 2009-09-06  Eric Blake  <ebb9@byu.net>
7290
7291         doc: fix comments in recent patches
7292         * lib/faccessat.c: Mention correct function.
7293         * lib/fchmodat.c: Likewise.
7294         * lib/fchownat.c: Likewise.
7295         * lib/symlinkat.c: Likewise.
7296         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
7297         constants.
7298
7299         faccessat, symlinkat: continue cleanup of previous patch
7300         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
7301         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
7302         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
7303         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
7304         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
7305         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
7306         set.
7307
7308 2009-09-06  Bruno Haible  <bruno@clisp.org>
7309
7310         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
7311         (fstatat): Declare if GNULIB_FSTATAT is set.
7312         (mkdirat): Declare if GNULIB_MKDIRAT is set.
7313         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
7314         (unlinkat): Declare if GNULIB_UNLINKAT is set.
7315         * modules/fcntl-h (Files): Remove m4/openat.m4.
7316         * modules/sys_stat (Files): Remove m4/openat.m4.
7317         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
7318         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
7319         * modules/unistd (Files): Remove m4/openat.m4.
7320         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
7321         GNULIB_OPENAT.
7322         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
7323         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
7324         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
7325         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
7326         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
7327         gl_OPENAT_DEFAULTS.
7328         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
7329         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
7330         Don't require gl_OPENAT_DEFAULTS.
7331         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
7332         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
7333         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
7334         (gl_OPENAT_DEFAULTS): Remove macro.
7335
7336 2009-09-06  Bruno Haible  <bruno@clisp.org>
7337
7338         * modules/openat (configure.ac): Remove unneeded witness.
7339
7340 2009-09-06  Bruno Haible  <bruno@clisp.org>
7341
7342         Set errno to ENOSYS when a function is entirely unsupported.
7343         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
7344         EOPNOTSUPP.
7345         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
7346         * modules/chown (Depends-on): Remove errno.
7347
7348 2009-09-06  Bruno Haible  <bruno@clisp.org>
7349
7350         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
7351
7352 2009-09-06  Bruno Haible  <bruno@clisp.org>
7353
7354         * lib/sys_stat.in.h: Fix preprocessor command indentation.
7355
7356 2009-09-06  Ben Pfaff  <blp@gnu.org>
7357             Bruno Haible  <bruno@clisp.org>
7358
7359         Work around a glibc bug in strtok_r.
7360         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
7361         Undefine if UNDEFINE_STRTOK_R is set.
7362         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
7363         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
7364         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
7365         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
7366         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
7367         UNDEFINE_STRTOK_R.
7368         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
7369
7370 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
7371
7372         exclude: minor fix
7373         * lib/exclude.c: Include wctype.h
7374
7375 2009-09-06  Akim Demaille  <demaille@gostai.com>
7376
7377         bootstrap: improve error message
7378         * build-aux/bootstrap (find_tool): Upon failure, report the list
7379         of candidates.
7380         Honor the initial value of the envvar.
7381
7382 2009-09-05  Eric Blake  <ebb9@byu.net>
7383
7384         symlinkat: new module
7385         * modules/symlinkat: New file.
7386         * lib/symlinkat.c: Likewise.
7387         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
7388         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
7389         * modules/unistd (Makefile.am): Use them.
7390         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
7391         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
7392         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
7393         * MODULES.html.sh (File system functions): Mention module.
7394         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
7395         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
7396         * modules/symlinkat-tests: New test.
7397         * tests/test-symlinkat.c: Likewise.
7398
7399         test-openat-safer: add more checks
7400         * tests/test-openat-safer.c (main): Check more code paths.
7401
7402 2009-09-05  Jim Meyering  <meyering@redhat.com>
7403
7404         syntax-check: detect unnecessary inclusion of openat.h
7405         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
7406
7407 2009-09-05  Bruno Haible  <bruno@clisp.org>
7408
7409         Support towlower, towupper.
7410         * doc/posix-functions/towlower.texi: Mention module wctype.
7411         * doc/posix-functions/towupper.texi: Likewise.
7412         * lib/wctype.in.h (towlower, towupper): New functions.
7413         * tests/test-wctype.c: Include stdio.h, stdlib.h.
7414         (ASSERT): New macro.
7415         (e): New variable.
7416         (main): Test also towlower, towupper. Test WEOF argument.
7417         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
7418
7419 2009-09-05  Bruno Haible  <bruno@clisp.org>
7420
7421         Fix conversion behaviour when the input is invalid.
7422         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
7423         mark occurring in first pass of indirect conversion.
7424         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
7425         input.
7426         Found by clang's static analyzer.
7427
7428 2009-09-05  Bruno Haible  <bruno@clisp.org>
7429
7430         * tests/test-striconveh.c (main): Test indirect conversion on platforms
7431         where direct conversion is possible.
7432
7433 2009-09-04  Eric Blake  <ebb9@byu.net>
7434
7435         openat: fail with ENOENT on empty name
7436         * lib/openat-proc.c (openat_proc_name): Special-case the empty
7437         buffer.
7438
7439         link-follow: fix logic bug in prior patch
7440         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
7441         reversed sense of yes and no in prior patch.  Avoid confusing
7442         compilation failure with desired semantics.
7443
7444         link-follow: accomodate mingw and cross-compilation
7445         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
7446         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
7447         cross-compilation results to -1, to make linkat easier to
7448         implement when cross-compiling.  Trivially support mingw.
7449         * modules/link-follow (configure.ac): Call new name.
7450         * NEWS: Mention this.
7451
7452 2009-09-03  Eric Blake  <ebb9@byu.net>
7453
7454         faccessat: compile replacement
7455         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
7456         needed.
7457
7458         fts: fix compilation error
7459         * lib/fts.c (includes): Re-add "openat.h", for
7460         openat_needs_fchdir.
7461
7462         faccessat: new module
7463         * modules/faccessat: New file.
7464         * lib/faccessat.c: Likewise.
7465         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
7466         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
7467         * modules/unistd (Makefile.am): Use it.
7468         * lib/unistd.in.h (faccessat): Declare it.
7469         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
7470         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
7471         * MODULES.html.sh (File system functions): Mention it.
7472         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
7473         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
7474
7475         euidaccess: prefer POSIX over non-standard implementation
7476         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
7477         * lib/euidaccess.c (euidaccess): Use it if available.
7478
7479         openat: make template easier to use
7480         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
7481         AT_FUNC_F2 to be undefined.
7482         (VALIDATE_FLAG): New macro; use it to reject bad flags.
7483         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
7484         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
7485         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
7486         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
7487         Likewise.
7488         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
7489         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
7490         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
7491         Likewise.
7492
7493         openat: declare in POSIX headers
7494         * NEWS: Mention this.
7495         * modules/openat (configure.ac): Declare witnesses.
7496         (Depends-on): Add fcntl-h, sys_stat, unistd.
7497         (Include): Mention correct headers.
7498         * modules/fcntl-h (Depends-on): Add link-warning.
7499         (Files): Add openat.m4.
7500         (Makefile.am): Substitute witnesses.
7501         * modules/sys_stat (Files, Makefile.am): Likewise.
7502         * modules/unistd (Files, Makefile.am): Likewise.
7503         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
7504         (gl_OPENAT_DEFAULTS): New macro.
7505         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
7506         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
7507         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
7508         (SYS_STAT_H): Remove unused variable.
7509         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
7510         * lib/fcntl--.h (includes): Remove unneeded header.
7511         * lib/openat-safer.c (includes): Likewise.
7512         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
7513         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
7514         appropriate headers.
7515         (__OPENAT_PREFIX): Delete.
7516         * lib/fcntl.in.h (openat): Provide declaration.
7517         (AT_FDCWD): Fix Solaris bug.
7518         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
7519         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
7520         * lib/fchmodat.c (includes):  Adjust to find declaration.
7521         * lib/fchownat.c (includes): Likewise.
7522         * lib/mkdirat.c (includes): Likewise.
7523         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
7524         still visible.
7525
7526 2009-09-02  Eric Blake  <ebb9@byu.net>
7527
7528         errno: use consistently
7529         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
7530         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
7531         * lib/canonicalize.c (ELOOP): Likewise.
7532         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
7533         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
7534         * lib/lchown.c (EOPNOTSUPP): Likewise.
7535         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
7536         * lib/savewd.c (ESTALE): Likewise.
7537         * lib/settime.c (ENOSYS): Likewise.
7538         * lib/utimens.c (ENOSYS): Likewise.
7539         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
7540         * lib/chdir-safer.c (ELOOP): Likewise.
7541         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
7542         * modules/c-stack (Depends-on): Add errno.
7543         * modules/canonicalize (Depends-on): Likewise.
7544         * modules/chdir-safer (Depends-on): Likewise.
7545         * modules/fdopendir (Depends-on): Likewise.
7546         * modules/inet_ntop (Depends-on): Likewise.
7547         * modules/inet_pton (Depends-on): Likewise.
7548         * modules/lchown (Depends-on): Likewise.
7549         * modules/openat (Depends-on): Likewise.
7550         * modules/savewd (Depends-on): Likewise.
7551         * modules/settime (Depends-on): Likewise.
7552         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
7553
7554         fts: avoid leaking fds
7555         * modules/fts (Depends-on): Add cloexec.
7556         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
7557         flag.
7558
7559         fts: make directory fds more robust
7560         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
7561         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
7562
7563         backupfile, chdir-long, fts, savedir: make safer
7564         * lib/backupfile.c (includes): Use "dirent--.h", since
7565         numbered_backup can write to stderr during readdir.
7566         * lib/savedir.c (includes): Likewise.
7567         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
7568         emulation can write to stderr on failure.
7569         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
7570         * lib/getcwd.c: Document why opendir_safer is unused.
7571         * lib/glob.c: Likewise.
7572         * lib/scandir.c: Likewise.
7573         * lib/openat-proc.c: Likewise, for open_safer.
7574         * modules/backupfile (Depends-on): Add dirent-safer.
7575         * modules/savedir (Depends-on): Likewise.
7576         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
7577         * modules/chdir-long (Depends-on): Add openat-safer.
7578
7579         openat-safer: new module
7580         * modules/openat-safer: New file.
7581         * lib/openat-safer.c: Likewise.
7582         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
7583         * lib/fcntl-safer.h (openat_safer): Declare.
7584         * lib/fcntl--.h (openat): Override.
7585         * MODULES.html.sh (File descriptor based I/O): Mention it.
7586         * lib/openat.h: Add double-inclusion guards.
7587         * lib/openat.c (includes): Only include "fcntl-safer.h", not
7588         "fcntl--.h", so we can implement openat.
7589         * modules/openat-safer-tests: New test.
7590         * tests/test-openat-safer.c: New file.
7591
7592         dirent-safer: new module
7593         * modules/dirent-safer: New file.
7594         * lib/dirent--.h: Likewise.
7595         * lib/dirent-safer.h: Likewise.
7596         * lib/opendir-safer.c: Likewise.
7597         * m4/dirent-safer.m4: Likewise.
7598         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
7599         * modules/dirent-safer-tests: New test.
7600         * tests/test-dirent-safer.c: New file.
7601         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
7602
7603         fdopendir: optimize on mingw
7604         * lib/unistd.in.h (_gl_directory_name): New prototype.
7605         * lib/fchdir.c (_gl_directory_name): Implement it.
7606         (fchdir): Use it to simplify implementation.
7607         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
7608         fchdir, when available, to avoid calling [f]chdir().
7609
7610         fdopendir: split into its own module
7611         * lib/openat.c (fdopendir): Move...
7612         * lib/fdopendir.c: ...into new file.
7613         * modules/fdopendir: New module.
7614         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
7615         * modules/openat (Depends-on): Add fdopendir.
7616         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
7617         fdopendir here.
7618         * modules/savedir (Depends-on): Only need fdopendir, not full
7619         openat.
7620         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
7621         * lib/openat.h (fdopendir): Drop prototype.
7622         * lib/dirent.in.h (fdopendir): Provide prototype.
7623         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
7624         * modules/dirent (Makefile.am): Substitute them.
7625         * MODULES.html.sh (File system functions): Mention it.
7626         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
7627         * modules/fdopendir-tests: New file.
7628         * tests/test-fdopendir.c: Likewise.
7629
7630         fchdir: use more consistent macro convention
7631         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
7632         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
7633         REPLACE_FCHDIR, rather than relying on config.h macros.
7634         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
7635         inside a single make-time REPLACE_FCHDIR block, rather than using
7636         the config.h FCHDIR_REPLACEMENT.
7637         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
7638         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
7639         Manage fstat replacement.
7640         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
7641         REPLACE_FCHDIR.
7642         * modules/sys_stat (Files): Add m4/unistd_h.m4.
7643         (Makefile.am): Substitute REPLACE_FCHDIR.
7644         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
7645         FCHDIR_REPLACEMENT.
7646         * lib/dup-safer.c (dup_safer): Likewise.
7647         * lib/dup2.c (rpl_dup2): Likewise.
7648         * lib/dup3.c (rpl_dup3): Likewise.
7649         * lib/open.c (rpl_open): Likewise.
7650
7651         fchdir: simplify error handling, and support dup3
7652         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
7653         stdbool, malloc-posix, realloc-posix.
7654         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
7655         (ensure_dirs_slot): Return false on allocation failure.
7656         (rpl_dup2): Delete.
7657         (_gl_register_dup): New function.
7658         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
7659         (_gl_register_fd): Close fd on allocation failure.
7660         * lib/fcntl.in.h (_gl_register_fd): Update signature.
7661         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
7662         prototype.
7663         (rpl_dup2_fchdir): Delete prototype.
7664         * lib/open.c (open): Update caller.
7665         * lib/dup2.c (dup2): Track fchdir metadata.
7666         * lib/dup3.c (dup3): Likewise.
7667         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
7668         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
7669
7670 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7671
7672         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
7673         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
7674         don't pass arguments to AC_OUTPUT.
7675
7676 2009-09-02  Bruno Haible  <bruno@clisp.org>
7677
7678         * modules/mkdtemp (License): Relicense under LGPLv2+.
7679         Reported by Paolo Bonzini.
7680
7681 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7682
7683         Replace uses of obsolete autoconf macros in Jim's modules.
7684         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
7685         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
7686         can evoke a warning from autoconf when run with -Wobsolete
7687         enabled.  They were declared obsolete for good reasons (see
7688         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
7689         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
7690         should not continue using the deprecated macros.
7691         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
7692         obsolete Autoconf macros with modern counterparts.
7693         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
7694         * m4/dos.m4 (gl_AC_DOS): Likewise.
7695         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
7696         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
7697         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
7698         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
7699         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
7700         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
7701         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
7702         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
7703         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
7704         Likewise.
7705         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
7706         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
7707         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
7708         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
7709         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
7710         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
7711
7712 2009-09-01  Eric Blake  <ebb9@byu.net>
7713
7714         fchdir: fix off-by-one bug in previous patch
7715         * lib/fchdir.c (rpl_fstat): Use correct bounds.
7716         (_gl_unregister_fd): Delete useless if.
7717
7718 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
7719
7720         maint.mk: sort the list of syntax-check rules
7721         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
7722         easier to get a sense of progress when the rules are run sequentially
7723         and take a long time.
7724
7725 2009-09-01  Simon Josefsson  <simon@josefsson.org>
7726
7727         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
7728         * modules/netinet_in: Likewise.
7729         * modules/sys_file: Likewise.
7730         * modules/sys_ioctl: Likewise.
7731         * modules/sys_select: Likewise.
7732         * modules/sys_socket: Likewise.
7733         * modules/sys_stat: Likewise.
7734         * modules/sys_time: Likewise.
7735         * modules/sys_times: Likewise.
7736         * modules/sys_utsname: Likewise.
7737         * modules/sys_wait: Likewise.
7738
7739 2009-09-01  Jim Meyering  <meyering@redhat.com>
7740
7741         fts: help ensure that return values are not ignored
7742         * lib/fts_.h (__GNUC_PREREQ): Define.
7743         (__attribute_warn_unused_result__): Define.
7744         (fts_children, fts_close, fts_open, fts_read): Declare with
7745         __attribute_warn_unused_result__.
7746
7747         fts: fts_close now fails also when closing a dir file descriptor fails
7748         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
7749         and propagate to caller, along with errno.
7750
7751         announce-gen: correct formatting in --help output
7752         * build-aux/announce-gen (usage): Move the one-line description in
7753         --help output "up", to where it belongs, just after Usage:.
7754
7755 2009-08-31  Eric Blake  <ebb9@byu.net>
7756
7757         fchdir: port to mingw
7758         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
7759         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
7760         opened, then use a substitute.
7761         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
7762         replacement.
7763         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
7764         (_gl_register_fd): No need to check stat if open already filters
7765         all directories.
7766         (fchdir): Fix error condition to match POSIX.
7767         * modules/fchdir (Depends-on): Add sys_stat.
7768         * doc/posix-functions/open.texi (open): Document the limitation.
7769         * modules/fchdir-tests: New file.
7770         * tests/test-fchdir.c: Likewise.
7771
7772         canonicalize: allow cross-testing from cygwin to mingw
7773         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
7774         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
7775         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
7776         Likewise.
7777         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
7778         target does not support symlinks.
7779         * tests/test-canonicalize-lgpl.sh: Likewise.
7780
7781         chown: avoid compilation warning on mingw
7782         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
7783         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
7784         mingw.
7785         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
7786         * modules/chown (Depends-on): Add errno.
7787
7788 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
7789
7790         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
7791         command.
7792
7793 2009-08-31  Jim Meyering  <meyering@redhat.com>
7794
7795         canonicalize: remove useless initialization
7796         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
7797         initialization of local, "end".
7798
7799 2009-08-30  Bruno Haible  <bruno@clisp.org>
7800
7801         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
7802         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
7803         ENOSYS.
7804
7805 2009-08-30  Bruno Haible  <bruno@clisp.org>
7806
7807         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
7808         /usr/xpg4/bin/tr when it exists.
7809         * tests/test-pipe-filter-gi1.sh: Likewise.
7810
7811 2009-08-30  Bruno Haible  <bruno@clisp.org>
7812
7813         Work around deficient /usr/bin/id program on Solaris.
7814         * tests/test-file-has-acl.sh (ID): New variable.
7815         * tests/test-set-mode-acl.sh (ID): Likewise.
7816         * tests/test-copy-acl.sh (ID): Likewise.
7817         * tests/test-copy-file.sh (ID): Likewise.
7818
7819 2009-08-30  Bruno Haible  <bruno@clisp.org>
7820
7821         New module 'xstriconveh'.
7822         * lib/xstriconveh.h: New file.
7823         * lib/xstriconveh.c: New file.
7824         * modules/xstriconveh: New file.
7825
7826 2009-08-30  Bruno Haible  <bruno@clisp.org>
7827
7828         Make it easier to use mem_cd_iconveh.
7829         * lib/striconveh.h (iconveh_t): New type.
7830         (iconveh_open, iconveh_close): New declarations.
7831         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
7832         with a single 'const iconveh_t *' argument.
7833         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
7834         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
7835         with a single 'const iconveh_t *' argument.
7836         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
7837         * tests/test-striconveh.c (main): Update.
7838         * NEWS: Mention the change.
7839
7840 2009-08-30  Bruno Haible  <bruno@clisp.org>
7841
7842         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
7843         problem.
7844
7845 2009-08-30  Bruno Haible  <bruno@clisp.org>
7846
7847         Work around iconv_open problem on Solaris.
7848         * lib/iconv_open-solaris.gperf: New file.
7849         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
7850         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
7851         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
7852         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
7853         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
7854         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
7855
7856 2009-08-29  Jim Meyering  <meyering@redhat.com>
7857
7858         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
7859         * top/maint.mk (cvs-check): Remove target; it was just an alias
7860         to the better-named vc-diff-check.
7861         (maintainer-distcheck): Remove rule.  It was used only from
7862         the (alpha/beta/major) target, and all of its commands but one
7863         were coreutils-specific.
7864         (vc-dist): Remove rule.
7865         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
7866         Run vc-diff-check, not vc-dist.
7867         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
7868
7869 2009-08-27  Bruno Haible  <bruno@clisp.org>
7870
7871         * tests/test-bitrotate.c (main): Remove test that uses a shift count
7872         of 0.
7873
7874 2009-08-27  Bruno Haible  <bruno@clisp.org>
7875
7876         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
7877         compilers.
7878         * doc/func.texi: Document the SunPRO C bug.
7879
7880 2009-08-27  Bruno Haible  <bruno@clisp.org>
7881
7882         Fix link error on Solaris.
7883         * tests/test-parse-duration.c (xstrdup): Remove function.
7884
7885 2009-08-26  Pádraig Brady  <P@draigbrady.com>
7886
7887         ignore-value: handle pointer types, too
7888         * lib/ignore-value.h (__attribute__): Remove definition.
7889         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
7890         of a more concise and more-often effective "(void) i" statement.
7891         (ignore_ptr): New function to suppress warnings from functions that
7892         return pointers, and to make it explicit that one function doesn't
7893         handle all cases.
7894
7895 2009-08-25  Bruno Haible  <bruno@clisp.org>
7896
7897         dup2: work around a Linux bug.
7898         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
7899         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
7900         * doc/posix-functions/dup2.texi: Mention the Linux bug.
7901         Reported by Simon Josefsson.
7902
7903 2009-08-25  Jim Meyering  <meyering@redhat.com>
7904
7905         libguestfs uses gnulib
7906         * users.txt: Add libguestfs.
7907
7908 2009-08-24  Eric Blake  <ebb9@byu.net>
7909
7910         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
7911         * lib/pipe2.c (includes): Add binary-io.h.
7912         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
7913
7914 2009-08-24  Bruno Haible  <bruno@clisp.org>
7915
7916         Tolerate declared but missing accept4 syscall.
7917         * lib/accept4.c (accept4): Invoke original accept4 function first, if
7918         available.
7919         * lib/sys_socket.in.h (accept4): If the function is already present,
7920         override it.
7921         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
7922         * modules/accept4 (Makefile.am): Compile accept4.c always.
7923         Reported by Paolo Bonzini and Eric Blake.
7924
7925 2009-08-23  Bruno Haible  <bruno@clisp.org>
7926
7927         New module 'accept4'.
7928         * lib/sys_socket.in.h (accept4): New declaration.
7929         * lib/accept4.c: New file.
7930         * m4/accept4.m4: New file.
7931         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
7932         GNULIB_ACCEPT4, HAVE_ACCEPT4.
7933         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
7934         HAVE_ACCEPT4.
7935         * modules/accept4: New file.
7936         * doc/glibc-functions/accept4.texi: Mention the new module.
7937
7938 2009-08-24  Jim Meyering  <meyering@redhat.com>
7939
7940         progname: also set global program_invocation_name, when possible
7941         Before this change, a libtool-enabled program that calls glibc's
7942         error function would report the program name as
7943         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
7944         * modules/progname (configure.ac): Check for a declaration of
7945         program_invocation_name.
7946         * lib/progname.c:  Include <errno.h>.
7947         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
7948         Set program_invocation_name.
7949
7950 2009-08-23  Bruno Haible  <bruno@clisp.org>
7951
7952         * lib/dup3.c: Include <string.h>.
7953
7954 2009-08-23  Bruno Haible  <bruno@clisp.org>
7955
7956         * lib/dup3.c (dup3): Test only once whether the system actually exists.
7957         * lib/pipe2.c (pipe2): Likewise.
7958         Suggested by Eric Blake.
7959
7960 2009-08-23  Bruno Haible  <bruno@clisp.org>
7961
7962         Tolerate declared but missing dup3 syscall.
7963         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
7964         * lib/unistd.in.h (dup3): If the function is already present,
7965         override it.
7966         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
7967         * modules/dup3 (Makefile.am): Compile dup3.c always.
7968         Reported by Paolo Bonzini.
7969
7970 2009-08-23  Bruno Haible  <bruno@clisp.org>
7971
7972         Tolerate declared but missing pipe2 syscall.
7973         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
7974         available.
7975         * lib/unistd.in.h (pipe2): If the function is already present,
7976         override it.
7977         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
7978         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
7979         Reported by Paolo Bonzini.
7980
7981 2009-08-23  Bruno Haible  <bruno@clisp.org>
7982
7983         * lib/pipe2.c (pipe2): Move #ifs inside function.
7984
7985 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
7986
7987         quotearg: document limitations of quote_these_too
7988         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
7989         those limitations are created.
7990         * lib/quotearg.h (set_char_quoting): Document that digits and
7991         letters that are special after backslash are not permitted.
7992         (quotearg_char): Cross-reference set_char_quoting documentation.
7993
7994 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
7995
7996         quotearg: implement custom_quoting_style
7997         * lib/quotearg.c: (struct quoting_options): Add left_quote and
7998         right_quote fields.
7999         (set_custom_quoting): New public function.
8000         (quotearg_buffer_restyled): Add left_quote and right_quote
8001         arguments, handle them very much like locale quoting, and update
8002         all uses.
8003         (quotearg_n_custom): New public function.
8004         (quotearg_n_custom_mem): New public function.
8005         (quotearg_custom): New public function.
8006         (quotearg_custom_mem): New public function.
8007         * lib/quotearg.h: Prototype and document new public functions.
8008         (enum quoting_style): For escape_quoting_style and
8009         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
8010         ignored even though they're otherwise like c_quoting_style.
8011         Add custom_quoting_style member and document with comparison to
8012         clocale_quoting_style.
8013         * tests/test-quotearg.c (custom_quotes): New array.
8014         (custom_results): New array.
8015         (main): Extend to test custom quoting.
8016
8017 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
8018
8019         quotearg: fix right quote escaping when it's in quote_these_too
8020         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
8021         quote, be sure to prepend only one backslash.
8022         * tests/test-quotearg.c (use_quote_double_quotes): New function.
8023         (main): Test it.
8024
8025 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
8026
8027         quotearg-tests: test escaping of embedded locale quotes
8028         * tests/test-quotearg.c (struct result_strings): Add member for
8029         new input.
8030         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
8031         (inputs): Add new input.
8032         (results_g): Add expected results.
8033         (flag_results): Likewise.
8034         (locale_results): Likewise.
8035         (compare_strings): Check those.
8036
8037 2009-08-23  Bruno Haible  <bruno@clisp.org>
8038
8039         Tests for module 'dup3'.
8040         * modules/dup3-tests: New file.
8041         * tests/test-dup3.c: New file.
8042
8043         New module 'dup3'.
8044         * lib/unistd.in.h (dup3): New declaration.
8045         * lib/dup3.c: New file.
8046         * m4/dup3.m4: New file.
8047         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
8048         HAVE_DUP3.
8049         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
8050         * modules/dup3: New file.
8051         * doc/glibc-functions/dup3.texi: Mention the new module.
8052
8053 2009-08-23  Bruno Haible  <bruno@clisp.org>
8054
8055         Tweak the dup2 test.
8056         * tests/test-dup2.c (main): Create the test file empty. Verify that an
8057         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
8058         the test file is still empty. Fix argument order of lseek.
8059
8060 2009-08-23  Bruno Haible  <bruno@clisp.org>
8061
8062         Avoid test link errors when the modules getopt-gnu, gettext are used.
8063         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
8064         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8065
8066 2009-08-23  Bruno Haible  <bruno@clisp.org>
8067
8068         Fix getdtablesize() on mingw.
8069         * lib/getdtablesize.c (getdtablesize): Implement differently.
8070         * lib/unistd.in.h (getdtablesize): Improve comment.
8071
8072 2009-08-23  Bruno Haible  <bruno@clisp.org>
8073
8074         New module 'mkostemp'.
8075         Based on Ulrich Drepper's 2007-08-10 change in glibc.
8076         * lib/stdlib.in.h (mksotemp): New declaration.
8077         * lib/mkostemp.c: New file, from glibc with modifications.
8078         * lib/tempname.h (GT_FILE): Remove outdated comment.
8079         (gen_tempname): Add flags argument.
8080         * lib/tempname.c (__GT_BIGFILE): Remove macro.
8081         (__GT_FILE): Map to 1.
8082         (small_open, large_open): Remove macros.
8083         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
8084         * lib/mkstemp.c (mkstemp): Update.
8085         * lib/mkdtemp.c (mkdtemp): Likewise.
8086         * m4/mkostemp.m4: New file.
8087         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
8088         HAVE_MKOSTEMP.
8089         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
8090         HAVE_MKOSTEMP.
8091         * modules/mkostemp: New file, based on modules/mkstemp.
8092         * doc/glibc-functions/mkostemp.texi: Mention the new module.
8093         * NEWS: Mention the change.
8094
8095 2009-08-23  Bruno Haible  <bruno@clisp.org>
8096
8097         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
8098         Reported by Eric Blake.
8099
8100 2009-08-23  Bruno Haible  <bruno@clisp.org>
8101
8102         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
8103         Reported by Eric Blake.
8104
8105 2009-08-23  Bruno Haible  <bruno@clisp.org>
8106
8107         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
8108         * modules/pipe2 (Depends-on): Likewise.
8109
8110 2009-08-23  Eric Blake  <ebb9@byu.net>
8111
8112         fcntl-h: add O_TTY_INIT support
8113         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
8114         * tests/test-fcntl-h.c (o): Test it.
8115         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
8116
8117         fcntl-h: rename from fcntl, in preparation for fcntl(2)
8118         * modules/fcntl: Move <fcntl.h> header replacement...
8119         * modules/fcntl-h: ...to new name, so as not to collide with
8120         like-named function.
8121         * tests/test-fcntl.c: Rename...
8122         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
8123         * modules/fcntl-tests: Rename...
8124         * modules/fcntl-h-tests: ...to this.  Update test file name.
8125         * modules/chdir-long (Depends-on): Update clients.
8126         * modules/chdir-safer (Depends-on): Likewise.
8127         * modules/fcntl-safer (Depends-on): Likewise.
8128         * modules/fts (Depends-on): Likewise.
8129         * modules/mkancesdirs (Depends-on): Likewise.
8130         * modules/mkdir-p (Depends-on): Likewise.
8131         * modules/open (Depends-on): Likewise.
8132         * modules/savewd (Depends-on): Likewise.
8133         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
8134         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
8135
8136 2009-08-22  Bruno Haible  <bruno@clisp.org>
8137
8138         * modules/binary-io (License): Relicense under LGPL.
8139         * modules/pipe2 (License): Likewise.
8140
8141 2009-08-22  Bruno Haible  <bruno@clisp.org>
8142
8143         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
8144         return value.
8145         * lib/pipe-filter-gi.c (filter_init): Likewise.
8146         Reported by Eric Blake.
8147
8148 2009-08-22  Bruno Haible  <bruno@clisp.org>
8149
8150         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
8151         * modules/pipe (Depends-on): Add pipe2.
8152
8153 2009-08-22  Bruno Haible  <bruno@clisp.org>
8154
8155         Tests for module 'pipe2'.
8156         * modules/pipe2-tests: New file.
8157         * tests/test-pipe2.c: New file.
8158
8159         New module 'pipe2'.
8160         * lib/unistd.in.h (pipe2): New declaration.
8161         * lib/pipe2.c: New file.
8162         * m4/pipe2.m4: New file.
8163         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
8164         HAVE_PIPE2.
8165         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
8166         * modules/pipe2: New file.
8167         * doc/glibc-functions/pipe2.texi: Mention the new module.
8168
8169 2009-08-22  Bruno Haible  <bruno@clisp.org>
8170
8171         Reference some new glibc functions.
8172         * doc/glibc-functions/accept4.texi: New file.
8173         * doc/glibc-functions/dup3.texi: New file.
8174         * doc/glibc-functions/mkostemp.texi: New file.
8175         * doc/glibc-functions/pipe2.texi: New file.
8176         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
8177         (Glibc sys/socket.h): Refer to accept4.
8178         (Glibc unistd.h): Refer to dup3, pipe2.
8179         Reported by Eric Blake.
8180
8181 2009-08-22  Jim Meyering  <meyering@redhat.com>
8182             Bruno Haible  <bruno@clisp.org>
8183
8184         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
8185         This makes it so packages using automake-1.11's silent-rules option
8186         can print e.g., a single "GEN    configmake.h" line, rather than
8187         the 30+ statements that perform the job.  If you want to see the
8188         actual commands, you can still run "make V=1".
8189         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
8190         so that make output is abbreviated when those variables are defined
8191         appropriately.
8192         * modules/argz: Likewise.
8193         * modules/arpa_inet: Likewise.
8194         * modules/byteswap: Likewise.
8195         * modules/configmake: Likewise.
8196         * modules/dirent: Likewise.
8197         * modules/errno: Likewise.
8198         * modules/fcntl: Likewise.
8199         * modules/float: Likewise.
8200         * modules/fnmatch: Likewise.
8201         * modules/getopt-posix: Likewise.
8202         * modules/glob: Likewise.
8203         * modules/iconv_open: Likewise.
8204         * modules/inttypes: Likewise.
8205         * modules/localcharset: Likewise.
8206         * modules/locale: Likewise.
8207         * modules/math: Likewise.
8208         * modules/netdb: Likewise.
8209         * modules/netinet_in: Likewise.
8210         * modules/poll: Likewise.
8211         * modules/posix_spawnp-tests: Likewise.
8212         * modules/sched: Likewise.
8213         * modules/search: Likewise.
8214         * modules/selinux-h: Likewise.
8215         * modules/signal: Likewise.
8216         * modules/spawn: Likewise.
8217         * modules/stdarg: Likewise.
8218         * modules/stdbool: Likewise.
8219         * modules/stddef: Likewise.
8220         * modules/stdint: Likewise.
8221         * modules/stdio: Likewise.
8222         * modules/stdlib: Likewise.
8223         * modules/string: Likewise.
8224         * modules/strings: Likewise.
8225         * modules/sys_file: Likewise.
8226         * modules/sys_ioctl: Likewise.
8227         * modules/sys_select: Likewise.
8228         * modules/sys_socket: Likewise.
8229         * modules/sys_stat: Likewise.
8230         * modules/sys_time: Likewise.
8231         * modules/sys_times: Likewise.
8232         * modules/sys_utsname: Likewise.
8233         * modules/sys_wait: Likewise.
8234         * modules/sysexits: Likewise.
8235         * modules/time: Likewise.
8236         * modules/unistd: Likewise.
8237         * modules/wchar: Likewise.
8238         * modules/wctype: Likewise.
8239
8240 2009-08-22  Jim Meyering  <meyering@redhat.com>
8241
8242         announce-gen: detect write failure
8243         * build-aux/announce-gen: Add Coda at end.
8244         Remove equivalent-but-more-verbose block at top.
8245
8246 2009-08-19  Akim Demaille  <demaille@gostai.com>
8247
8248         bootstrap: --help to stdout.
8249         * bootstrap (usage): Don't send --help to stderr.
8250         Use a here doc instead of a long string.
8251
8252 2009-08-21  Eric Blake  <ebb9@byu.net>
8253
8254         test-popen-safer: split from test-popen
8255         * tests/test-popen.c (main): Move...
8256         * tests/test-popen.h: ...into new file.
8257         * tests/test-popen-safer2.c: New file.
8258         * modules/popen-tests (Files): Add test-popen.h.
8259         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
8260         Suggested by Bruno Haible.
8261
8262         test-fcntl-safer: split from test-open
8263         * tests/test-open.c (main): Move...
8264         * tests/test-open.h: ...into new file.
8265         * tests/test-fcntl-safer.c: New file.
8266         * modules/open-tests (Files): Add test-open.h.
8267         * modules/fcntl-safer-tests: New file.
8268         Suggested by Bruno Haible.
8269
8270         test-fopen-safer: split from test-fopen
8271         * tests/test-fopen.c (main): Move...
8272         * tests/test-fopen.h: ...into new file.
8273         * tests/test-fopen-safer.c: New file.
8274         * modules/fopen-tests (Files): Add test-fopen.h.
8275         * modules/fopen-safer-tests: New file.
8276         Suggested by Bruno Haible.
8277
8278 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
8279
8280         popen-safer: test O_CLOEXEC at run-time.
8281         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
8282
8283 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
8284
8285         fcntl: move more flags to the header
8286         * lib/cloexec.c: Do not define FD_CLOEXEC here.
8287         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
8288         * lib/fcntl.in.h: Do both things here.
8289
8290 2009-08-21  Jim Meyering  <meyering@redhat.com>
8291
8292         consistently remove $@-t before redirecting to it
8293         * modules/argz: Remove $@-t and $@ before redirecting to the former.
8294         * modules/alloca-opt: Likewise.
8295         * modules/byteswap: Likewise.
8296         * modules/fnmatch: Likewise.
8297         * modules/getopt-posix: Likewise.
8298         * modules/glob: Likewise.
8299         * modules/poll: Likewise.
8300         * modules/posix_spawnp-tests: Likewise.
8301         * modules/sys_socket: Likewise.
8302         * modules/sysexits: Likewise.
8303
8304 2009-08-21  Eric Blake  <ebb9@byu.net>
8305
8306         popen: simplify access to original popen
8307         * lib/popen.c (rpl_popen): No need to worry about popen being a
8308         macro.
8309         Reported by Bruno Haible.
8310
8311 2009-08-20  Eric Blake  <ebb9@byu.net>
8312
8313         build: avoid some compiler warnings
8314         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
8315         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
8316         type.
8317         (new_exclude_segment, excluded_file_pattern_p)
8318         (excluded_file_name_p): Reduce scope.
8319         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
8320         old-style declaration.
8321
8322 2009-08-20  Simon Josefsson  <simon@josefsson.org>
8323
8324         * tests/test-exclude1.sh: Handle Windows EOL.
8325         * tests/test-exclude2.sh: Likewise.
8326         * tests/test-exclude3.sh: Likewise.
8327         * tests/test-exclude4.sh: Likewise.
8328         * tests/test-exclude5.sh: Likewise.
8329         * tests/test-exclude6.sh: Likewise.
8330         * tests/test-exclude7.sh: Likewise.
8331
8332 2009-08-19  Akim Demaille  <demaille@gostai.com>
8333
8334         bootstrap: find sha1sum when named gsha1sum.
8335         * bootstrap (find_tool): New.
8336         ($SHA1SUM): New.
8337         Use it.
8338
8339 2009-08-20  Jim Meyering  <meyering@redhat.com>
8340
8341         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
8342         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
8343         expression that converts "." in a file name to "\." in the resulting
8344         regexp.  Start with a dummy statement, so that prior shell variable
8345         definitions are expanded portably.  Reported by Simon Josefsson.
8346
8347 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
8348
8349         Fix polling for writeability of a screen buffer.
8350         * lib/poll.c: Distinguish input and screen buffers for the
8351         Win32 implementation.
8352         * lib/select.c: Likewise.
8353
8354 2009-08-19  Eric Blake  <ebb9@byu.net>
8355
8356         popen-safer: prevent popen from clobbering std descriptors
8357         * modules/popen-safer: New file.
8358         * lib/popen-safer.c: Likewise.
8359         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
8360         * lib/stdio--.h (popen): Provide override.
8361         * lib/stdio-safer.h (popen_safer): Provide declaration.
8362         * tests/test-popen.c (includes): Partially test this.
8363         * modules/popen-safer-tests: New file, for more tests.
8364         * tests/test-popen-safer.c: Likewise.
8365         * MODULES.html.sh (file stream based Input/Output): Mention it.
8366
8367         tests: test some of the *-safer modules
8368         * modules/fopen-safer (Depends-on): Add fopen.
8369         * modules/fcntl-safer (Depends-on): Add fcntl.
8370         * modules/stdlib-safer (Depends-on): Add stdlib.
8371         (configure.ac): Set indicator.
8372         * modules/unistd-safer (configure.ac): Likewise.
8373         * modules/tmpfile-safer (configure.ac): Likewise.
8374         (Depends-on): Add tmpfile.
8375         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
8376         active.
8377         * tests/test-fopen.c (includes): Test safer versions when they are
8378         in use.
8379         * tests/test-open.c (includes): Likewise.
8380
8381         popen: fix cygwin 1.5 bug when stdin closed
8382         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
8383         * modules/popen: New file.
8384         * modules/popen-tests: Likewise.
8385         * tests/test-popen.c: Likewise.
8386         * m4/popen.m4: Likewise.
8387         * lib/popen.c: Likewise.
8388         * lib/stdio.in.h (popen): New declaration.
8389         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
8390         * modules/stdio (Makefile.am): Likewise.
8391         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
8392
8393 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
8394
8395         maint.mk: give full control over update-copyright exclusions
8396         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
8397         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
8398         (update-copyright): Don't force inclusion of top-level
8399         ChangeLog.  Don't force exclusion of all COPYING files, but make
8400         them the default exclusion instead.
8401
8402 2009-08-16  Bruno Haible  <bruno@clisp.org>
8403
8404         Fix test failures on Solaris 10.
8405         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
8406         tests when Solaris iconv() is used.
8407         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
8408         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
8409         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
8410         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
8411         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
8412
8413 2009-08-16  Bruno Haible  <bruno@clisp.org>
8414
8415         Fix test failures on Solaris 10.
8416         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
8417         'tr' program and pass it as first argument.
8418         * tests/test-pipe-filter-gi1.sh: Likewise.
8419         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
8420         program as first argument.
8421         * tests/test-pipe-filter-gi1.c (main): Likewise.
8422
8423 2009-08-16  Eric Blake  <ebb9@byu.net>
8424
8425         fpurge: fix previous commits
8426         * modules/fpurge (Makefile.am): Make replacement conditional,
8427         partially reverting 2007-04-29 change; missed in previous
8428         attempt.
8429         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
8430         is missing.
8431
8432 2009-08-16  Bruno Haible  <bruno@clisp.org>
8433
8434         Clarify fpurge's effect on the file position.
8435         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
8436         * tests/test-fpurge.c (main): Make a second pass for checking the file
8437         position.
8438
8439 2009-08-16  Bruno Haible  <bruno@clisp.org>
8440
8441         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
8442         declaration of fpurge is missing.
8443         * tests/test-fpurge.c (main): Check that the file has not more contents
8444         than expected. Close the file before removing it.
8445
8446 2009-08-15  Eric Blake  <ebb9@byu.net>
8447
8448         fpurge: don't wrap working cygwin implementation
8449         * lib/fpurge.c (fpurge): Fix comment typo.
8450         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
8451         1.7 to avoid replacement.
8452         * tests/test-fpurge.c (main): Enhance test.
8453
8454 2009-08-15  Eric Blake  <ebb9@byu.net>
8455         and Jim Meyering  <meyering@redhat.com>
8456
8457         test-update-copyright: skip if perl is insufficient
8458         * tests/test-update-copyright.sh: Failure to run maintainer tool
8459         should not cause testsuite failure on cygwin 1.5.
8460
8461 2009-08-14  Eric Blake  <ebb9@byu.net>
8462
8463         doc: mention more functions added in cygwin 1.7.0
8464         * doc/posix-headers/limits.texi (limits.h): Update for recent
8465         cygwin additions.
8466         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
8467         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
8468         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
8469         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
8470         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
8471
8472 2009-08-14  Eric Blake  <ebb9@byu.net>
8473
8474         maint.mk: simplify update-copyright rule
8475         * top/maint.mk (update-copyright-local): Delete, and document how
8476         to do it in cfg.mk instead.
8477         (update-copyright-exclude-regexp): Delete, and document how to do
8478         it in .x-update-copyright instead.
8479         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
8480         exclude ChangeLog.
8481
8482 2009-08-14  Bruno Haible  <bruno@clisp.org>
8483
8484         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
8485
8486 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
8487
8488         maint.mk: support update-copyright-env
8489         * top/maint.mk (update-copyright-env): Define place-holder.
8490         (update-copyright): Expand $(update-copyright-env) before
8491         invoking update-copyright.
8492
8493 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
8494
8495         update-copyright: implement forced reformatting
8496         * build-aux/update-copyright: Implement and document
8497         UPDATE_COPYRIGHT_FORCE.
8498         * tests/test-update-copyright.sh: Test it.
8499
8500 2009-08-14  Eric Blake  <ebb9@byu.net>
8501         and Bruno Haible  <bruno@clisp.org>
8502
8503         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
8504         * tests/test-locale.c: Revert previous patch related to NULL.
8505         * tests/test-stdio.c: Likewise.
8506         * tests/test-stdlib.c: Likewise.
8507         * tests/test-string.c: Likewise.
8508         * tests/test-unistd.c: Likewise.
8509         * modules/time-tests (Depends-on): Add verify.
8510         * modules/wchar-tests (Depends-on): Likewise.
8511         * tests/test-time.c: Test for NULL compliance.
8512         * tests/test-wchar.c: Likewise.
8513         * modules/locale (Depends-on): Add stddef.
8514         * modules/stdio (Depends-on): Likewise.
8515         * modules/stdlib (Depends-on): Likewise.
8516         * modules/string (Depends-on): Likewise.
8517         * modules/time (Depends-on): Likewise.
8518         * modules/unistd (Depends-on): Likewise.
8519         * modules/wchar (Depends-on): Likewise.
8520         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
8521         * lib/stdlib.in.h (includes): Likewise.
8522         * lib/string.in.h (includes): Likewise.
8523         * lib/time.in.h (includes): Likewise.
8524         * lib/unistd.in.h (includes): Likewise.
8525         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
8526         replaced.
8527         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
8528         * m4/stddef_h.m4: New file.
8529         * modules/stddef: Likewise.
8530         * lib/stddef.in.h: Likewise.
8531         * modules/stddef-tests: Likewise.
8532         * tests/test-stddef.c: Likewise.
8533         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
8534         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
8535         * doc/posix-headers/locale.texi (locale.h): Likewise.
8536         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
8537         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
8538         * doc/posix-headers/string.texi (string.h): Likewise.
8539         * doc/posix-headers/time.texi (time.h): Likewise.
8540         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
8541         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
8542
8543 2009-08-14  Eric Blake  <ebb9@byu.net>
8544
8545         doc: improve git diff of texinfo files
8546         * .gitattributes: Add rule for *.texi files, with hint on how to
8547         use it.
8548         Copied from m4, and based on a report by Bruno Haible.
8549
8550 2009-08-14  Bruno Haible  <bruno@clisp.org>
8551
8552         Disable multithread support by default on Cygwin 1.5.x for real.
8553         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
8554
8555 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
8556
8557         update-copyright: much ado about intervals
8558         * build-aux/update-copyright: Implement and document
8559         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
8560         of copyright year intervals.
8561         Also, document UPDATE_COPYRIGHT_YEAR.
8562         * tests/test-update-copyright.sh: Test it.
8563
8564         update-copyright: convert 2-digit to 4-digit years
8565         * build-aux/update-copyright: Implement and document.
8566         * tests/test-update-copyright.sh: Update.
8567
8568 2009-08-14  Jim Meyering  <meyering@redhat.com>
8569
8570         test-exclude: avoid coreutils "make check" failure
8571         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
8572         just as in test-argmatch.c.
8573
8574 2009-08-13  Eric Blake  <ebb9@byu.net>
8575
8576         test-dup2: fix bad assumption
8577         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
8578         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
8579
8580         test-version-etc: fix CRLF portability issue
8581         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
8582         recognize \r.
8583         * tests/test-argp-version-etc-1.sh: Likewise.
8584
8585         getopt: update client modules
8586         * modules/argp (Depends-on): Use getopt-gnu.
8587         * modules/git-merge-changelog (Depends-on): Likewise.
8588         * modules/long-options (Depends-on): Likewise.
8589         * modules/xstrtol (Depends-on): Likewise.
8590
8591 2009-08-13  Simon Josefsson  <simon@josefsson.org>
8592
8593         * tests/test-version-etc.sh: Don't fail on different
8594         project/version.  Don't fail on CRLF differences.  Rewrite to use
8595         multiple -e instead of multiple sed forks, suggested by Eric Blake
8596         <ebb9@byu.net>.
8597         * tests/test-argp-version-etc-1.sh: Likewise.
8598
8599 2009-08-13  Simon Josefsson  <simon@josefsson.org>
8600
8601         * tests/test-version-etc.sh: Don't fail on different
8602         project/version.
8603
8604 2009-08-12  Bruno Haible  <bruno@clisp.org>
8605
8606         Tests for modules 'getopt-posix', 'getopt-gnu'.
8607         * modules/getopt-posix-tests: New file.
8608         * tests/test-getopt.c: New file.
8609         * tests/test-getopt.h: New file.
8610         * tests/test-getopt_long.h: New file.
8611
8612         New modules 'getopt-posix', 'getopt-gnu'.
8613         * modules/getopt-gnu: New file, renamed from modules/getopt.
8614         * modules/getopt-posix: New file.
8615         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
8616         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
8617         (gl_GETOPT): Remove macro.
8618         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
8619         Disable the test against BSD systems that declare optreset. Test
8620         against mingw bug. Test against lack of support of optional arguments
8621         on many platforms.
8622         * doc/glibc-headers/getopt.texi: Update module name and list of
8623         relevant platforms.
8624         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
8625         'getopt-gnu' and more portability problems.
8626         * NEWS: Mention the changes.
8627
8628 2009-08-12  Bruno Haible  <bruno@clisp.org>
8629
8630         Ensure that optarg etc. get declared by <unistd.h>.
8631         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
8632         AC_USE_SYSTEM_EXTENSIONS.
8633         * modules/getopt (Depends-on): Add 'extensions'.
8634
8635 2009-08-12  Bruno Haible  <bruno@clisp.org>
8636
8637         Avoid test link errors.
8638         * modules/pipe-filter-ii-tests (Makefile.am): Define
8639         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
8640         * modules/pipe-filter-gi-tests (Makefile.am): Define
8641         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
8642         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8643
8644 2009-08-12  Bruno Haible  <bruno@clisp.org>
8645
8646         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
8647         gl_GETOPT_SUBSTITUTE before.
8648         (gl_GETOPT): Use it.
8649         * m4/argp.m4 (gl_ARGP): Update.
8650         Reported by Sergey Poznyakoff.
8651
8652         * m4/getopt.m4: Reorder macros.
8653         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
8654         (gl_GETOPT_SUBSTITUTE): Remove macro.
8655
8656 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
8657
8658         Minor improvement in gitlog-to-changelog
8659
8660         * build-aux/gitlog-to-changelog: New option `--format' makes
8661         output format string configurable.
8662
8663 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
8664
8665         Optimize exclude: use hash tables for non-wildcard patterns.
8666
8667         * lib/exclude.c: Include hash.h and mbuiter.h
8668         (struct exclude_pattern, exclude_segment): New data types.
8669         (struct exclude): Rewrite.
8670         (fnmatch_pattern_has_wildcards): New function.
8671         (new_exclude_segment, free_exclude_segment): New functions.
8672         (excluded_file_pattern_p, excluded_file_name_p): New functions.
8673         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
8674         * lib/exclude.h (is_fnmatch_pattern): New prototype.
8675         * modules/exclude: Depend on hash and mbuiter.
8676
8677         * modules/exclude-tests: New file.
8678         * tests/test-exclude.c: New file.
8679         * tests/test-exclude1.sh: New file.
8680         * tests/test-exclude2.sh: New file.
8681         * tests/test-exclude3.sh: New file.
8682         * tests/test-exclude4.sh: New file.
8683         * tests/test-exclude5.sh: New file.
8684         * tests/test-exclude6.sh: New file.
8685         * tests/test-exclude7.sh: New file.
8686
8687 2009-08-12  Bruno Haible  <bruno@clisp.org>
8688
8689         Ensure that getopt() gets declared by <unistd.h>.
8690         * lib/unistd.in.h: Conditionally include getopt.h.
8691         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
8692         Set GNULIB_UNISTD_H_GETOPT.
8693         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
8694         GNULIB_UNISTD_H_GETOPT.
8695         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
8696
8697 2009-08-12  Bruno Haible  <bruno@clisp.org>
8698
8699         Clarify logic.
8700         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
8701         gl_replace_getopt instead of GETOPT_H.
8702
8703 2009-08-12  Bruno Haible  <bruno@clisp.org>
8704
8705         * m4/getopt.m4: Add comments.
8706
8707 2009-08-12  Bruno Haible  <bruno@clisp.org>
8708
8709         Disable multithread support by default on Cygwin 1.5.x.
8710         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
8711         set gl_use_threads=no if not specified otherwise.
8712
8713 2009-08-11  Bruno Haible  <bruno@clisp.org>
8714
8715         Avoid compilation error on NetBSD 5.0.
8716         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
8717         * tests/test-stdio.c: Likewise.
8718         * tests/test-stdlib.c: Likewise.
8719         * tests/test-string.c: Likewise.
8720         * tests/test-unistd.c: Likewise.
8721         Reported by Greg Troxel <gdt@ir.bbn.com>
8722         at <https://savannah.gnu.org/support/?106973>.
8723
8724 2009-08-11  Bruno Haible  <bruno@clisp.org>
8725
8726         * modules/dup2-tests (Depends-on): Remove close.
8727
8728         Undo 2009-07-19 commit.
8729         * modules/acl-tests (Depends-on): Remove close.
8730         * modules/binary-io-tests (Depends-on): Likewise.
8731         * modules/closein-tests (Depends-on): Likewise.
8732         * modules/flock-tests (Depends-on): Likewise.
8733         * modules/fsync-tests (Depends-on): Likewise.
8734         * modules/lseek-tests (Depends-on): Likewise.
8735         * modules/pipe-tests (Depends-on): Likewise.
8736         * modules/posix_spawn-tests (Depends-on): Likewise.
8737         * modules/posix_spawnp-tests (Depends-on): Likewise.
8738         * modules/stat-time-tests (Depends-on): Likewise.
8739         * modules/yesno-tests (Depends-on): Likewise.
8740
8741 2009-08-10  Bruno Haible  <bruno@clisp.org>
8742
8743         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
8744
8745 2009-08-10  Bruno Haible  <bruno@clisp.org>
8746
8747         Fix a gcc warning.
8748         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
8749
8750 2009-08-10  Bruno Haible  <bruno@clisp.org>
8751
8752         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
8753         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
8754         not only the first time.
8755         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
8756         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
8757         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
8758         is 1, not only the the first time.
8759
8760 2009-08-10  Bruno Haible  <bruno@clisp.org>
8761
8762         Make it possible to use module 'gethostname' without module 'close'.
8763         * lib/unistd.in.h (close): Evoke a link error only if
8764         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
8765         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
8766         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
8767         * modules/unistd (Makefile.am): Substitute
8768         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
8769         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
8770         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
8771         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
8772         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
8773         * modules/sys_ioctl (Makefile.am): Substitute
8774         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
8775         * modules/socket (configure.ac): On native Windows, set
8776         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
8777         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
8778         Reported by Sam Steingold <sds@gnu.org>.
8779
8780 2009-08-10  Bruno Haible  <bruno@clisp.org>
8781
8782         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
8783         * modules/ioctl (configure.ac): Likewise.
8784
8785 2009-08-10  Bruno Haible  <bruno@clisp.org>
8786
8787         Avoid collision between gnulib wrapper and libintl wrapper.
8788         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
8789         already defined in intl/printf.c.
8790         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
8791         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
8792
8793 2009-08-09  Bruno Haible  <bruno@clisp.org>
8794
8795         Make <sys/select.h> really self-contained, also on Solaris 10.
8796         * lib/sys_select.in.h: Include <string.h>.
8797         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
8798         Solaris 10 problem.
8799         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
8800         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
8801         Reported by Jim Meyering.
8802
8803 2009-08-09  Bruno Haible  <bruno@clisp.org>
8804
8805         Avoid warnings from 'aclocal' that are due to a use of macro name
8806         AM_XGETTEXT_OPTION that is not defined in automake.
8807         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
8808         automake.
8809         * modules/error (configure.ac): Likewise.
8810         * modules/propername (configure.ac): Likewise.
8811         * modules/vasprintf (configure.ac): Likewise.
8812         * modules/verror (configure.ac): Likewise.
8813         * modules/xprintf (configure.ac): Likewise.
8814         * modules/xvasprintf (configure.ac): Likewise.
8815
8816 2009-08-08  Bruno Haible  <bruno@clisp.org>
8817
8818         Avoid compilation error in C++ mode.
8819         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
8820         Reported by Sam Steingold <sds@gnu.org>.
8821
8822 2009-08-08  Bruno Haible  <bruno@clisp.org>
8823
8824         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
8825         for the various Unix platforms.
8826         * doc/posix-headers/limits.texi: Update platforms list regarding
8827         HOST_NAME_MAX.
8828         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8829
8830 2009-08-07  Jim Meyering  <meyering@redhat.com>
8831
8832         selinux-at: fix typo in a comment
8833         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
8834         Spotted by Paolo Bonzini.
8835
8836         selinux-at: remove redundant m4 code, add documentation
8837         * modules/selinux-at (configure.ac): Remove redundant code.
8838         LIB_SELINUX is already set via the dependent module, selinux-h.
8839         (Include): Add quotes around selinux-at.h.
8840         * lib/selinux-at.h: Add documentation.
8841         Reported by Bruno Haible in
8842         http://marc.info/?l=gnulib-bug&m=124958988300749
8843
8844 2009-08-07  Bruno Haible  <bruno@clisp.org>
8845
8846         Avoid link error on MacOS X 10.3 and 10.4.
8847         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
8848         on non-ELF systems.
8849         * lib/argp-pv.c (argp_program_version): Likewise.
8850         Reported by Simon Josefsson.
8851
8852 2009-08-07  Simon Josefsson  <simon@josefsson.org>
8853
8854         * tests/test-version-etc.sh: Use $EXEEXT.
8855
8856 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
8857
8858         update-copyright: update documentation to point to maint.mk
8859         * build-aux/update-copyright: Here.
8860
8861 2009-08-06  Jim Meyering  <meyering@redhat.com>
8862
8863         maint.mk: support update-copyright-local
8864         * top/maint.mk (update-copyright-local): Define place-holder.
8865         (update-copyright): Depend on $(update-copyright-local).
8866
8867 2009-08-06  Jim Meyering  <meyering@redhat.com>
8868
8869         selinux-at: new module
8870         Initially written for coreutils, this module will soon be
8871         used by findutils, too.
8872         * MODULES.html.sh [Misc]: Add selinux-at.
8873         * lib/selinux-at.h: New file, from coreutils.
8874         * lib/selinux-at.c: Likewise.
8875         * modules/selinux-at: Likewise.
8876         (License): Change from LGPL to GPL, since it depends
8877         on the GPL'd openat module.
8878
8879         doc: update README
8880         * README: Remove references to cogito.
8881         Remove cvs-repo-updating instructions from 2007.
8882         Don't imply that CVS is better if you have limited disk space.
8883
8884 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
8885
8886         update-copyright: support C-style comments
8887         * build-aux/update-copyright: Implement and document.
8888         * tests/test-update-copyright.sh: Test.
8889
8890 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
8891
8892         update-copyright: support omitted "(C)"
8893         * build-aux/update-copyright: Implement and document.  Also,
8894         allow variable whitespace before "(C)".
8895         * tests/test-update-copyright.sh: Test.
8896
8897 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
8898
8899         update-copyright: don't trip on non-FSF copyright statements
8900         * build-aux/update-copyright: Fix so that the first correctly
8901         formatted FSF copyright statement is recognized no matter what
8902         appears before it.  Update documentation.
8903         * tests/test-update-copyright.sh: Test that.
8904
8905 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
8906
8907         update-copyright: clean up code a little
8908         * build-aux/update-copyright: Append "_re" to the name of any
8909         variable holding a regular expression.
8910         Replace "old" and "new" with "stmt" in variable names.
8911         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
8912         handled correctly.
8913         Format code more consistently.
8914
8915 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
8916
8917         update-copyright-tests: improve portability
8918         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
8919         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
8920
8921 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
8922
8923         update-copyright: support @copyright{} and &copy;
8924         * build-aux/update-copyright: Implement and document.
8925         * tests/test-update-copyright.sh: Test.
8926
8927 2009-08-04  Jim Meyering  <meyering@redhat.com>
8928
8929         update-copyright-tests: correctly test EOL=\r\n handling
8930         * tests/test-update-copyright.sh: Put \r at the end of some lines
8931         for the dos-eol tests.  Based on a patch by Joel E. Denny.
8932
8933         maint.mk: make update-copyright exclusion list more configurable
8934         * top/maint.mk (update-copyright): Default to excluding COPYING,
8935         but allow an override, in case someone does want to update that file.
8936
8937         maint.mk: don't update copyright date in COPYING
8938         * top/maint.mk (update-copyright): Exclude COPYING.
8939
8940         maint.mk: add a copyright-updating rule
8941         * top/maint.mk (update-copyright): New rule.
8942         Derived from coreutils/Makefile.am.
8943
8944         update-copyright: rename some variables
8945         * build-aux/update-copyright: Rename a few variables for clarity.
8946         Tweak syntax.  List Joel E. Denny as coauthor.
8947
8948 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
8949
8950         update-copyright: fix bug for 2-digit last year and add tests
8951         * build-aux/update-copyright: Fix bug.
8952         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
8953         specified.
8954         * modules/update-copyright-tests: New
8955         * tests/test-update-copyright.sh: New.
8956
8957 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
8958
8959         update-copyright: handle leading tabs in line prefix
8960         * build-aux/update-copyright: Count leading tabs as 8 spaces
8961         when computing margin.  This helps with the formatting of
8962         ChangeLogs, for example.
8963         Fix documentation a little.
8964
8965 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
8966
8967         update-copyright: support EOL=\r\n
8968         * build-aux/update-copyright: Implement that.
8969
8970 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
8971
8972         update-copyright: automatically format copyright statements
8973         * build-aux/update-copyright: Implement that.
8974         Also, be a little more predictable and safer by always failing
8975         when the full copyright format is not perfectly recognized as an
8976         unbroken whole.  Discussed at
8977         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
8978         Rewrite documentation.
8979
8980 2009-08-03  Bruno Haible  <bruno@clisp.org>
8981
8982         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
8983
8984 2009-08-02  Bruno Haible  <bruno@clisp.org>
8985
8986         Tests for module 'uname'.
8987         * modules/uname-tests: New file.
8988         * tests/test-uname.c: New file.
8989
8990         New module 'uname'.
8991         * lib/uname.c: New file.
8992         * m4/uname.m4: New file.
8993         * modules/uname: New file.
8994         * doc/posix-functions/uname.texi: Mention the new module.
8995
8996 2009-08-02  Bruno Haible  <bruno@clisp.org>
8997
8998         Tests for module 'sys_utsname'.
8999         * modules/sys_utsname-tests: New file.
9000         * tests/test-sys_utsname.c: New file.
9001
9002         New module 'sys_utsname'.
9003         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
9004         * m4/sys_utsname_h.m4: New file.
9005         * modules/sys_utsname: New file.
9006         * doc/posix-headers/sys_utsname.texi: Mention the new module.
9007
9008 2009-08-02  Bruno Haible  <bruno@clisp.org>
9009
9010         Implicitly initialize the sockets library.
9011         * lib/gethostname.c: Include sockets.h.
9012         (rpl_gethostname): Invoke gl_sockets_startup.
9013         * lib/socket.c: Include sockets.h.
9014         (rpl_socket): Invoke gl_sockets_startup.
9015         * modules/gethostname (Depends-on): Add sockets.
9016         * modules/socket (Depends-on): Likewise.
9017         * tests/test-poll.c: Don't include sockets.h.
9018         (main): Don't invoke gl_sockets_startup.
9019         * tests/test-select.c: Don't include sockets.h.
9020         (main): Don't invoke gl_sockets_startup.
9021
9022 2009-08-02  Bruno Haible  <bruno@clisp.org>
9023
9024         Allow multiple calls to gl_sockets_startup.
9025         * lib/sockets.c (initialized_sockets_version): New variable.
9026         (gl_sockets_startup): Do nothing if already called for this or a higher
9027         version.
9028         (gl_sockets_cleanup): Reset initialized_sockets_version.
9029
9030 2009-08-03  Simon Josefsson  <simon@josefsson.org>
9031
9032         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
9033         different project/version.
9034
9035 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
9036             Bruno Haible  <bruno@clisp.org>
9037
9038         Tests for module 'pipe-filter-gi'.
9039         * modules/pipe-filter-gi-tests: New file.
9040         * tests/test-pipe-filter-gi1.sh: New file.
9041         * tests/test-pipe-filter-gi1.c: New file.
9042         * tests/test-pipe-filter-gi2.sh: New file.
9043         * tests/test-pipe-filter-gi2-main.c: New file.
9044         * tests/test-pipe-filter-gi2-child.c: New file.
9045
9046         New module 'pipe-filter-gi'.
9047         * lib/pipe-filter-gi.c: New file.
9048         * modules/pipe-filter-gi: New file.
9049
9050 2009-08-02  Bruno Haible  <bruno@clisp.org>
9051             Paolo Bonzini  <bonzini@gnu.org>
9052
9053         Tests for module 'pipe-filter-ii'.
9054         * modules/pipe-filter-ii-tests: New file.
9055         * tests/test-pipe-filter-ii1.sh: New file.
9056         * tests/test-pipe-filter-ii1.c: New file.
9057         * tests/test-pipe-filter-ii2.sh: New file.
9058         * tests/test-pipe-filter-ii2-main.c: New file.
9059         * tests/test-pipe-filter-ii2-child.c: New file.
9060
9061         New module 'pipe-filter-ii'.
9062         * lib/pipe-filter.h: New file.
9063         * lib/pipe-filter-ii.c: New file.
9064         * lib/pipe-filter-aux.h: New file.
9065         * modules/pipe-filter-ii: New file.
9066
9067 2009-08-02  Simon Josefsson  <simon@josefsson.org>
9068
9069         * lib/gc-libgcrypt.c: Change copyright to FSF.
9070         * lib/gc-gnulib.c: Likewise.
9071
9072 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
9073
9074         * lib/gethostname.c: Include limits.h.
9075
9076 2009-08-02  Simon Josefsson  <simon@josefsson.org>
9077             Bruno Haible  <bruno@clisp.org>
9078
9079         Ensure HOST_NAME_MAX as part of the gethostname module.
9080         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
9081         define also HOST_NAME_MAX.
9082         * tests/test-gethostname.c: Include <limits.h>.
9083         (main): Check also HOST_NAME_MAX.
9084         * doc/posix-headers/limits.texi: Document the mingw problem.
9085
9086 2009-08-02  Bruno Haible  <bruno@clisp.org>
9087
9088         * lib/gethostname.c (gethostname): Fix handling of large len argument.
9089         Add comments.
9090
9091 2009-03-31  Simon Josefsson  <simon@josefsson.org>
9092
9093         * lib/gethostname.c: Add Windows wrapper.
9094         * m4/gethostname.m4: Look for gethostname in -lws2_32.
9095         * modules/gethostname: Depend on sys_socket & errno, for also
9096         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
9097         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
9098
9099 2009-07-31  Jim Meyering  <meyering@redhat.com>
9100
9101         getloadavg: fix symbol name in comment
9102         * lib/getloadavg.c: Correct a typo I introduced when adding
9103         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
9104         Matt Kraai spotted the problem.
9105
9106 2009-07-29  Matt Kraai  <mkraai@beckman.com>
9107
9108         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
9109         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
9110         code also if ! defined N_NAME_POINTER.
9111         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
9112         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
9113         but the n_name member is a 12-byte array.
9114
9115 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
9116
9117         update-copyright: generalize comment handling
9118         * build-aux/update-copyright: Handle copyright statements
9119         within more comment styles.
9120         Document usage.
9121         Report any file with an external copyright holder or parse failure.
9122
9123 2009-07-29  Jim Meyering  <meyering@redhat.com>
9124
9125         mktime: correct setting of REPLACE_MKTIME
9126         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
9127
9128         update-copyright: new module
9129         * modules/update-copyright: New file.
9130         * build-aux/update-copyright: New file.
9131         * MODULES.html.sh (maint+release support): Add update-copyright.
9132
9133 2009-07-27  Bruno Haible  <bruno@clisp.org>
9134
9135         Fix compilation error when <ctime> is used and mktime is replaced.
9136         * lib/time.in.h (mktime): New declaration.
9137         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
9138         REPLACE_MKTIME instead of defining mktime in config.h.
9139         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
9140         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
9141         Reported by Ross McFarland <rwmcfa1@neces.com>.
9142
9143 2009-07-27  Bruno Haible  <bruno@clisp.org>
9144
9145         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
9146         Reported by Matt Kraai <mkraai@beckman.com>.
9147
9148 2009-07-25  Jim Meyering  <meyering@redhat.com>
9149
9150         maint.mk: avoid warnings about missing files
9151         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
9152         diagnostic when .prev-version does not exist.
9153         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
9154         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
9155         nonexistent cfg.mk.
9156         Suggestions from Simon Josefsson.
9157
9158 2009-07-25  Bruno Haible  <bruno@clisp.org>
9159
9160         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
9161         defined as macros. Needed on QNX 6.4.1.
9162         Reported by Matt Kraai <mkraai@beckman.com>.
9163
9164 2009-07-23  Jim Meyering  <meyering@redhat.com>
9165
9166         maint.mk: invoke "make dist" with a working value of XZ_OPT
9167         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
9168
9169 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
9170
9171         Make fseeko.c compile on QNX.
9172         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
9173
9174 2009-07-22  Peter Simons  <simons@cryp.to>
9175
9176         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
9177         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
9178         * lib/md4.h: Likewise.
9179         * lib/md5.h: Likewise.
9180         * lib/sha1.h: Likewise.
9181         * lib/sha256.h: Likewise.
9182         * lib/sha512.h: Likewise.
9183
9184         tests-sha1: don't assign literal string to 'char *' variable
9185         * tests/test-sha1.c (main): Declare locals with "const" to match
9186         attributes of the right hand side.
9187
9188 2009-07-21  Eric Blake  <ebb9@byu.net>
9189
9190         dup2: fix more mingw problems
9191         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
9192         fd to itself.
9193         * doc/posix-functions/dup2.texi (dup2): Document the bug.
9194         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
9195         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
9196         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
9197         care of mingw bugs.
9198
9199 2009-07-21  Jim Meyering  <meyering@redhat.com>
9200
9201         vc-list-files: avoid failure when /bin/sh is dash
9202         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
9203         On some Debian based systems, /bin/sh is a symlink to dash, and running
9204         this command would omit the "/" following each 'tests' prefix:
9205           dash -x build-aux/vc-list-files -C . tests
9206         That is because bash and dash work differently:
9207           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
9208           bash ok
9209           dash odd
9210
9211 2009-07-21  Eric Blake  <ebb9@byu.net>
9212
9213         dup2-tests: test previous patch
9214         * modules/dup2-tests: New file.
9215         * tests/test-dup2.c: Likewise.
9216         * tests/test-open.c (main): Avoid unspecified behavior.
9217         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
9218         test.
9219
9220         dup2: work around mingw and cygwin 1.5 bug
9221         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
9222         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
9223         * modules/unistd (Makefile.am): Substitute it.
9224         * lib/unistd.in.h (dup2): Declare the replacement.
9225         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
9226         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
9227         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
9228         * modules/execute (Depends-on): Add dup2.
9229         * modules/fseterr (Depends-on): Likewise.
9230         * modules/pipe (Depends-on): Likewise.
9231         * modules/posix_spawn-internal (Depends-on): Likewise.
9232
9233 2009-07-21  Bruno Haible  <bruno@clisp.org>
9234
9235         * modules/.gitattributes: New file.
9236
9237 2009-07-20  Bruno Haible  <bruno@clisp.org>
9238
9239         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
9240         (main): Use it.
9241
9242 2009-07-20  Eric Blake  <ebb9@byu.net>
9243
9244         test-pipe: make a bit more robust.
9245         * tests/test-pipe.c (myerr): Allow error messages regardless of
9246         what we do to stderr.
9247         (test_pipe): Rearrange to avoid deadlock.
9248         (child_main): Try a larger read, to ensure we avoided deadlock.
9249         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
9250         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
9251         if misused.
9252
9253 2009-07-19  Jim Meyering  <meyering@redhat.com>
9254
9255         fts: avoid false-positive cycle-detection
9256         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
9257         for each new command line argument.
9258
9259 2009-07-19  Bruno Haible  <bruno@clisp.org>
9260
9261         Fix build error on mingw with the modules sys_select and unistd.
9262         * modules/acl-tests (Depends-on): Add close.
9263         * modules/binary-io-tests (Depends-on): Likewise.
9264         * modules/closein-tests (Depends-on): Likewise.
9265         * modules/flock-tests (Depends-on): Likewise.
9266         * modules/fsync-tests (Depends-on): Likewise.
9267         * modules/lseek-tests (Depends-on): Likewise.
9268         * modules/pipe-tests (Depends-on): Likewise.
9269         * modules/posix_spawn-tests (Depends-on): Likewise.
9270         * modules/posix_spawnp-tests (Depends-on): Likewise.
9271         * modules/stat-time-tests (Depends-on): Likewise.
9272         * modules/yesno-tests (Depends-on): Likewise.
9273
9274 2009-07-19  Bruno Haible  <bruno@clisp.org>
9275
9276         Unify conditionals.
9277         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
9278         macros, not at the compiler macros.
9279         * lib/pipe.c: Likewise.
9280         * lib/execute.c: Likewise.
9281         * lib/spawni.c: Likewise.
9282
9283 2009-07-19  Bruno Haible  <bruno@clisp.org>
9284
9285         Fix handling of closed stdin/stdout/stderr on mingw.
9286         * lib/w32spawn.h: Include unistd.h.
9287         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
9288         file descriptor with O_NOINHERIT flag.
9289         (fd_safer_noinherit): New function, based on fd-safer.c.
9290         (dup_safer_noinherit): New function, based on dup-safer.c.
9291         (undup_safer_noinherit): New function.
9292         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
9293         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
9294         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
9295         instead of fd_safer.
9296         * tests/test-pipe.c: Include <windows.h>.
9297         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
9298
9299         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
9300         from main.
9301         (test_pipe): Pass an extra argument for disambiguation.
9302         (main): Invoke parent_main or child_main.
9303
9304         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
9305         consistently.
9306
9307 2009-07-18  Eric Blake  <ebb9@byu.net>
9308
9309         test-pipe: fix mingw build
9310         * tests/test-pipe.c (main): Avoid fcntl on mingw.
9311
9312 2009-07-18  Bruno Haible  <bruno@clisp.org>
9313
9314         * modules/pipe-tests (Makefile.am): Fix typo.
9315
9316 2009-07-18  Eric Blake  <ebb9@byu.net>
9317
9318         error: fix mingw build
9319         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
9320         Reported by Bruno Haible.
9321
9322         error: avoid undefined use of stdout
9323         * lib/error.c (error, error_at_line): Check that fd 1 is open
9324         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
9325         is handling faults and the close_stdout module wants to report the
9326         detection of closed stdout as an error.
9327
9328 2009-07-17  Eric Blake  <ebb9@byu.net>
9329
9330         pipe: be robust in face of closed fds
9331         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
9332         should cause child to misbehave.
9333         * modules/pipe-tests: New module.
9334         * tests/test-pipe.c: New file.
9335         * tests/test-pipe.sh: New file.
9336         Reported by Akim Demaille.
9337
9338 2009-07-14  Bruno Haible  <bruno@clisp.org>
9339
9340         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
9341         Reported by anonymous kc.
9342
9343 2009-07-07  Jim Meyering  <meyering@redhat.com>
9344
9345         maint.mk: don't look for translatable strings in *.m4 or *.mk
9346         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
9347         when searching for translatable strings.
9348
9349 2009-07-05  Jim Meyering  <meyering@redhat.com>
9350
9351         remove superfluous parentheses in STREQ definition
9352         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
9353         * lib/getugroups.c (STREQ): Likewise.
9354         * lib/fnmatch.c (STREQ): Likewise.
9355         Spotted by Bruno Haible.
9356
9357 2009-07-04  Jim Meyering  <meyering@redhat.com>
9358
9359         argv-iter: new module
9360         * MODULES.html.sh: Add argv-iter.
9361         * lib/argv-iter.c, lib/argv-iter.h: New files.
9362         * modules/argv-iter: New file.
9363         * modules/argv-iter-tests: New file.
9364         * tests/test-argv-iter.c: Test it.
9365
9366 2009-07-04  Bruno Haible  <bruno@clisp.org>
9367
9368         Fix assertion.
9369         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
9370         contains more exact copies of a given entry than file2, leave the extra
9371         copies unpaired rather than aborting.
9372         Reported by Eric Blake.
9373
9374 2009-07-02  Bruno Haible  <bruno@clisp.org>
9375
9376         Speedup git-merge-changelog for git cherry-pick.
9377         * lib/git-merge-changelog.c (struct entries_mapping): New type.
9378         (entries_mapping_get): New function, extracted from compute_mapping.
9379         (entries_mapping_reverse_get): New function.
9380         (compute_mapping): Add a 'full' argument. Return the result in a
9381         'struct entries_mapping'.
9382         (main): Update. Access the mappings through entries_mapping_get.
9383         Reported by Eric Blake.
9384
9385 2009-07-02  Bruno Haible  <bruno@clisp.org>
9386
9387         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
9388         best_i.
9389
9390 2009-07-02  Bruno Haible  <bruno@clisp.org>
9391
9392         Speed up approximate search for matching ChangeLog entries.
9393         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
9394         argument. Call fstrcmp_bounded instead of fstrcmp.
9395         (compute_mapping, try_split_merged_entry, main): Update callers.
9396
9397 2009-07-02  Bruno Haible  <bruno@clisp.org>
9398
9399         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
9400
9401 2009-06-30  Bruno Haible  <bruno@clisp.org>
9402
9403         Reduce the number of uc_is_cased calls.
9404         * lib/unicase.h (casing_suffix_context_t): Add
9405         'first_char_except_ignorable' field.
9406         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
9407         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
9408         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
9409         Update initializer.
9410         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
9411         case-ignorable characters.
9412         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
9413         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
9414         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
9415         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
9416         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
9417
9418 2009-06-30  Bruno Haible  <bruno@clisp.org>
9419
9420         Tests for module 'unicase/ignorable'.
9421         * modules/unicase/ignorable-tests: New file.
9422         * tests/unicase/test-ignorable.c: New file, generated by
9423         gen-uni-tables.
9424
9425         Tests for module 'unicase/cased'.
9426         * modules/unicase/cased-tests: New file.
9427         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
9428         * tests/unicase/test-predicate-part1.h: New file, derived from
9429         tests/unictype/test-predicate-part1.h.
9430         * tests/unicase/test-predicate-part2.h: New file, same as
9431         tests/unictype/test-predicate-part2.h.
9432
9433         Fix evaluation of "Before C" condition of FINAL_SIGMA.
9434         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
9435         (output_casing_properties): New function.
9436         (main): Call it.
9437         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
9438         * lib/unicase/cased.c: Include unictype/bitmap.h.
9439         (uc_is_cased): Define through a bitmap lookup.
9440         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
9441         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
9442         (uc_is_case_ignorable): Define through a bitmap lookup.
9443         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
9444         lib/unictype/bitmap.h.
9445         (Depends-on): Add inline. Clean up.
9446         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
9447         lib/unictype/bitmap.h.
9448         (Depends-on): Add inline. Clean up.
9449         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
9450         recognition.
9451         * tests/unicase/test-u16-tolower.c (main): Likewise.
9452         * tests/unicase/test-u32-tolower.c (main): Likewise.
9453
9454 2009-06-30  Bruno Haible  <bruno@clisp.org>
9455
9456         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
9457         * lib/unicase/u16-casemap.c: Likewise.
9458         * lib/unicase/u32-casemap.c: Likewise.
9459
9460 2009-06-29  Bruno Haible  <bruno@clisp.org>
9461
9462         Define u32_casefold as a wrapper around u32_ct_casefold.
9463         * lib/unicase/u32-casefold.c: Update.
9464         * modules/unicase/u32-casefold (Depends-on): Add
9465         unicase/u32-ct-casefold, unicase/empty-prefix-context,
9466         unicase/empty-suffix-context. Clean up.
9467
9468         Define u16_casefold as a wrapper around u16_ct_casefold.
9469         * lib/unicase/u16-casefold.c: Update.
9470         * modules/unicase/u16-casefold (Depends-on): Add
9471         unicase/u16-ct-casefold, unicase/empty-prefix-context,
9472         unicase/empty-suffix-context. Clean up.
9473
9474         Define u8_casefold as a wrapper around u8_ct_casefold.
9475         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
9476         * lib/unicase/u8-casefold.c: Update.
9477         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
9478         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
9479
9480         Define u32_totitle as a wrapper around u32_ct_totitle.
9481         * lib/unicase/u32-totitle.c: Update.
9482         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
9483         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
9484
9485         Define u16_totitle as a wrapper around u16_ct_totitle.
9486         * lib/unicase/u16-totitle.c: Update.
9487         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
9488         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
9489
9490         Define u8_totitle as a wrapper around u8_ct_totitle.
9491         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
9492         functions.
9493         (FUNC): Delegate to U_CT_TOTITLE.
9494         * lib/unicase/u8-totitle.c: Update.
9495         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
9496         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
9497
9498         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
9499         invocation.
9500         * modules/unicase/u32-tolower (Depends-on): Add
9501         unicase/empty-prefix-context, unicase/empty-suffix-context.
9502
9503         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
9504         invocation.
9505         * modules/unicase/u16-tolower (Depends-on): Add
9506         unicase/empty-prefix-context, unicase/empty-suffix-context.
9507
9508         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
9509         * modules/unicase/u8-tolower (Depends-on): Add
9510         unicase/empty-prefix-context, unicase/empty-suffix-context.
9511
9512         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
9513         invocation.
9514         * modules/unicase/u32-toupper (Depends-on): Add
9515         unicase/empty-prefix-context, unicase/empty-suffix-context.
9516
9517         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
9518         invocation.
9519         * modules/unicase/u16-toupper (Depends-on): Add
9520         unicase/empty-prefix-context, unicase/empty-suffix-context.
9521
9522         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
9523         * modules/unicase/u8-toupper (Depends-on): Add
9524         unicase/empty-prefix-context, unicase/empty-suffix-context.
9525
9526         New module 'unicase/u32-ct-casefold'.
9527         * lib/unicase/u32-ct-casefold.c: New file.
9528         * modules/unicase/u32-ct-casefold: New file.
9529
9530         New module 'unicase/u16-ct-casefold'.
9531         * lib/unicase/u16-ct-casefold.c: New file.
9532         * modules/unicase/u16-ct-casefold: New file.
9533
9534         New module 'unicase/u8-ct-casefold'.
9535         * lib/unicase/u8-ct-casefold.c: New file.
9536         * lib/unicase/u-ct-casefold.h: New file, derived from
9537         lib/unicase/u-casefold.h.
9538         * modules/unicase/u8-ct-casefold: New file.
9539
9540         New module 'unicase/u32-ct-totitle'.
9541         * lib/unicase/u32-ct-totitle.c: New file.
9542         * modules/unicase/u32-ct-totitle: New file.
9543
9544         New module 'unicase/u16-ct-totitle'.
9545         * lib/unicase/u16-ct-totitle.c: New file.
9546         * modules/unicase/u16-ct-totitle: New file.
9547
9548         New module 'unicase/u8-ct-totitle'.
9549         * lib/unicase/u8-ct-totitle.c: New file.
9550         * lib/unicase/u-ct-totitle.h: New file, derived from
9551         lib/unicase/u-totitle.h.
9552         * modules/unicase/u8-ct-totitle: New file.
9553
9554         New module 'unicase/u32-ct-tolower'.
9555         * lib/unicase/u32-ct-tolower.c: New file.
9556         * modules/unicase/u32-ct-tolower: New file.
9557
9558         New module 'unicase/u16-ct-tolower'.
9559         * lib/unicase/u16-ct-tolower.c: New file.
9560         * modules/unicase/u16-ct-tolower: New file.
9561
9562         New module 'unicase/u8-ct-tolower'.
9563         * lib/unicase/u8-ct-tolower.c: New file.
9564         * modules/unicase/u8-ct-tolower: New file.
9565
9566         New module 'unicase/u32-ct-toupper'.
9567         * lib/unicase/u32-ct-toupper.c: New file.
9568         * modules/unicase/u32-ct-toupper: New file.
9569
9570         New module 'unicase/u16-ct-toupper'.
9571         * lib/unicase/u16-ct-toupper.c: New file.
9572         * modules/unicase/u16-ct-toupper: New file.
9573
9574         New module 'unicase/u8-ct-toupper'.
9575         * lib/unicase/u8-ct-toupper.c: New file.
9576         * modules/unicase/u8-ct-toupper: New file.
9577
9578         Add context arguments to u*_casemap functions.
9579         * lib/unicase/unicasemap.h: Include unicase.h.
9580         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
9581         suffix_context arguments.
9582         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
9583         functions.
9584         (FUNC): Add prefix_context and suffix_context arguments. Use
9585         uc_is_cased and uc_is_case_ignorable.
9586         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
9587         * lib/unicase/u16-casemap.c: Likewise.
9588         * lib/unicase/u32-casemap.c: Likewise.
9589         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
9590         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
9591         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
9592         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
9593         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
9594         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
9595
9596         New module 'unicase/u32-suffix-context'.
9597         * lib/unicase/u32-suffix-context.c: New file.
9598         * modules/unicase/u32-suffix-context: New file.
9599
9600         New module 'unicase/u16-suffix-context'.
9601         * lib/unicase/u16-suffix-context.c: New file.
9602         * modules/unicase/u16-suffix-context: New file.
9603
9604         New module 'unicase/u8-suffix-context'.
9605         * lib/unicase/u8-suffix-context.c: New file.
9606         * lib/unicase/u-suffix-context.h: New file.
9607         * modules/unicase/u8-suffix-context: New file.
9608
9609         New module 'unicase/empty-suffix-context'.
9610         * lib/unicase/empty-suffix-context.c: New file.
9611         * modules/unicase/empty-suffix-context: New file.
9612
9613         New module 'unicase/u32-prefix-context'.
9614         * lib/unicase/u32-prefix-context.c: New file.
9615         * modules/unicase/u32-prefix-context: New file.
9616
9617         New module 'unicase/u16-prefix-context'.
9618         * lib/unicase/u16-prefix-context.c: New file.
9619         * modules/unicase/u16-prefix-context: New file.
9620
9621         New module 'unicase/u8-prefix-context'.
9622         * lib/unicase/u8-prefix-context.c: New file.
9623         * lib/unicase/u-prefix-context.h: New file.
9624         * lib/unicase/context.h: New file.
9625         * modules/unicase/u8-prefix-context: New file.
9626
9627         New module 'unicase/empty-prefix-context'.
9628         * lib/unicase/empty-prefix-context.c: New file.
9629         * modules/unicase/empty-prefix-context: New file.
9630
9631         New module 'unicase/ignorable'.
9632         * lib/unicase/ignorable.c: New file.
9633         * modules/unicase/ignorable: New file.
9634
9635         New module 'unicase/cased'.
9636         * lib/unicase/caseprop.h: New file.
9637         * lib/unicase/cased.c: New file.
9638         * modules/unicase/cased: New file.
9639
9640         New functions for case mapping of substrings.
9641         * lib/unicase.h (casing_prefix_context_t): New type.
9642         (unicase_empty_prefix_context): New variable.
9643         (u8_casing_prefix_context, u16_casing_prefix_context,
9644         u32_casing_prefix_context, u8_casing_prefixes_context,
9645         u16_casing_prefixes_context, u32_casing_prefixes_context): New
9646         declarations.
9647         (casing_suffix_context_t): New type.
9648         (unicase_empty_suffix_context): New variable.
9649         (u8_casing_suffix_context, u16_casing_suffix_context,
9650         u32_casing_suffix_context, u8_casing_suffixes_context,
9651         u16_casing_suffixes_context, u32_casing_suffixes_context,
9652         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
9653         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
9654         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
9655         declarations.
9656
9657 2009-06-28  Jim Meyering  <meyering@redhat.com>
9658
9659         boostrap: indent only with spaces
9660         * build-aux/bootstrap: Indent only with spaces, never TABs.
9661
9662         bootstrap: split long lines
9663         * build-aux/bootstrap: Keep line length < 80.
9664
9665         bootstrap: sync from coreutils
9666         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
9667         just as autoreconf does.  Verify a list of prerequisite
9668         package-name,version-number pairs if defined in bootstrap.conf.
9669         Refer to README-prereq, if prerequisites are not satisfied.
9670
9671 2009-06-27  Eric Blake  <ebb9@byu.net>
9672
9673         tests: add test for bogus NULL definition
9674         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
9675         * tests/test-stdlib.c: Likewise.
9676         * tests/test-string.c: Likewise.
9677         * tests/test-locale.c: Likewise.
9678         * tests/test-unistd.c: Likewise.
9679         * modules/stdio-tests (Depends-on): Add verify.
9680         * modules/stdlib-tests (Depends-on): Likewise.
9681         * modules/string-tests (Depends-on): Likewise.
9682         * modules/locale-tests (Depends-on): Likewise.
9683         * modules/unistd-tests (Depends-on): Likewise.
9684
9685 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
9686
9687         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
9688         self-explaining comment.
9689         * m4/selinux-selinux-h: Update serial.
9690         (gl_LIBSELINUX): New macro, adding a warning for missing development
9691         packages to code extracted from...
9692         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
9693         Add warning for missing development packages here, too.
9694
9695 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
9696
9697         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
9698
9699 2009-06-25  Eric Blake  <ebb9@byu.net>
9700
9701         version-etc: fix regression
9702         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
9703         gcc.
9704         (version_etc): Use it, to catch bugs with trailing NULL.
9705         * lib/version-etc.c (version_etc_arn): Delete unused argument.
9706         (version_etc_va): Fix logic bug.
9707         * modules/version-etc-tests: Add test.
9708         * tests/test-version-etc.c: New file.
9709         * tests/test-version-etc.sh: Likewise.
9710
9711 2009-06-25  Sam Steingold  <sds@gnu.org>
9712
9713         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
9714         mbtowc declaration.
9715
9716 2009-06-25  Eric Blake  <ebb9@byu.net>
9717
9718         fpurge: migrate into <stdio.h>
9719         * lib/fpurge.h: Delete...
9720         * lib/stdio.in.h (fpurge): ...and declare here, instead.
9721         * lib/fpurge.c (fpurge): Change declaring header.
9722         * modules/fpurge (Files): Drop deleted file.
9723         (Depends-on): Add stdio.
9724         (configure.ac): Set witness.
9725         * modules/stdio (Makefile.am): Support fpurge macros.
9726         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
9727         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
9728         * lib/fflush.c: Update client.
9729         * tests/test-fpurge.c: Likewise.
9730         * NEWS: Mention the change.
9731
9732 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
9733
9734         * lib/argp-version-etc.c (program_authors): Add const
9735         qualifier.
9736         * lib/version-etc.c: Fix typos in the comments.
9737         * modules/argp-version-etc: Depends on version-etc.
9738
9739 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
9740
9741         argp-version-etc: new module.
9742
9743         * lib/argp-version-etc.c: New file.
9744         * lib/argp-version-etc.h: New file.
9745         * modules/argp-version-etc: New file.
9746         * modules/argp-version-etc-tests: New file.
9747         * tests/test-argp-version-etc.c: New test.
9748         * tests/test-argp-version-etc-1.sh: New test.
9749
9750 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
9751
9752         Provide additional interfaces and documentation for version-etc
9753         module.
9754
9755         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
9756         interfaces.
9757         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
9758         prototypes.
9759
9760 2009-06-24  Bruno Haible  <bruno@clisp.org>
9761
9762         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
9763         HAVE_LIB${NAME} macro.
9764         Reported by Sam Steingold <sds@gnu.org>.
9765
9766 2009-06-23  Simon Josefsson  <simon@josefsson.org>
9767
9768         * modules/hash-tests (test_hash_LDADD): Link to libintl when
9769         needed.
9770
9771 2009-06-21  Bruno Haible  <bruno@clisp.org>
9772
9773         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
9774         work.
9775         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
9776         together with LIB${NAME}, LTLIB${NAME}.
9777         Reported by Sam Steingold <sds@gnu.org>.
9778
9779 2009-06-20  Jim Meyering  <meyering@redhat.com>
9780
9781         tests: make sc_require_test_exit_idiom more generic
9782         * top/maint.mk (Exit_witness_file): New overridable variable.
9783         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
9784         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
9785
9786 2009-06-19  Jim Meyering  <meyering@redhat.com>
9787
9788         hash: reverse order of src/dst parameters in an internal interface
9789         * lib/hash.c (transfer_entries): Reverse order of parameters to
9790         put DST before SRC.  Adjust callers.
9791
9792         tests: test-hash: avoid wholesale duplication
9793         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
9794         Instead, use a loop and add a single conditional.
9795
9796         tests: test-hash: allow seed selection via a command line argument
9797         * tests/test-hash.c (get_seed): New function.
9798         (main): Use it.
9799
9800 2009-06-19  Eric Blake  <ebb9@byu.net>
9801
9802         hash: avoid memory leak on allocation failure
9803         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
9804         failure.  Factor repeated algorithm...
9805         (transfer_entries): ...into new helper routine.
9806         (hash_delete): React to hash_rehash return value.
9807
9808         hash: reduce memory pressure in hash_rehash no-op case
9809         * lib/hash.c (next_prime): Avoid overflow.
9810         (hash_initialize): Factor bucket size computation...
9811         (compute_bucket_size): ...into new helper function.
9812         (hash_rehash): Use new function and open coding to reduce memory
9813         pressure, and avoid a memory leak in USE_OBSTACK code.
9814         Reported by Jim Meyering.
9815
9816 2009-06-18  Eric Blake  <ebb9@byu.net>
9817
9818         hash: make rotation more obvious
9819         * modules/hash (Depends-on): Add bitrotate and stdint.
9820         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
9821         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
9822         (SIZE_MAX): Rely on headers for definition.
9823         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
9824         (raw_hasher): Use rotr_sz.
9825         Suggested by Jim Meyering.
9826
9827         hash: fix memory leak in last patch
9828         * lib/hash.c (hash_rehash): Avoid memory leak.
9829
9830         hash: avoid no-op rehashing
9831         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
9832
9833         hash: provide default callback functions
9834         * lib/hash.c (raw_hasher, raw_comparator): New functions.
9835         (hash_initialize): Use them as defaults.
9836         * tests/test-hash.c (main): Test this.
9837
9838         hash: minor optimization
9839         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
9840         when possible.
9841         (hash_initialize): Document this promise.
9842         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
9843         * tests/test-hash.c (hash_compare_strings): Test this.
9844
9845 2009-06-18  Bruno Haible  <bruno@clisp.org>
9846
9847         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
9848         going to be replaced anyway.
9849
9850 2009-06-18  Bruno Haible  <bruno@clisp.org>
9851
9852         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
9853         in one place.
9854         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
9855         be replaced anyway.
9856
9857 2009-06-18  Eric Blake  <ebb9@byu.net>
9858
9859         hash: check for resize before insertion
9860         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
9861         threshold before insertion, so that a pathological hash_rehash
9862         that fills every bucket can still trigger another rehash.
9863
9864 2009-06-18  Jim Meyering  <meyering@redhat.com>
9865
9866         hash-tests: add a loop around the small tests
9867         * tests/test-hash.c (main): Repeat small tests with selected
9868         small initial table sizes.
9869
9870 2009-06-17  Eric Blake  <ebb9@byu.net>
9871
9872         hash: minor cleanups
9873         * lib/hash.h (hash_entry): Make opaque, by moving...
9874         * lib/hash.c (hash_entry): ...here.
9875         (hash_insert): Clarify restrictions on what can be inserted.
9876         (hash_get_next): Clarify when it is safe to remove an element
9877         during traversal.
9878         (check_tuning): Skip verification when tuning is known safe.
9879         (hash_initialize): Clarify restrictions on tuning.
9880
9881 2009-06-17  Jim Meyering  <jim@meyering.net>
9882         and Eric Blake  <ebb9@byu.net>
9883
9884         hash-tests: new module
9885         * modules/hash-tests: New file.
9886         * tests/test-hash.c: New file.
9887
9888 2009-06-17  Eric Blake  <ebb9@byu.net>
9889
9890         strstr-simple: document new module
9891         * MODULES.html.sh: Document new module.
9892
9893         strstr, strcasestr: replace on platforms with broken memchr
9894         * modules/strstr: Split into...
9895         * modules/strstr-simple: ...new module that does not care about
9896         performance, but does care about glibc bug.
9897         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
9898         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
9899         if platform memchr is broken, per Debian bug 521737.
9900         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
9901         memchr.
9902         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
9903         * doc/posix-functions/strstr.texi (strstr): Document the fix.
9904         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
9905         * modules/mountlist (Depends-on): Add strstr-simple.
9906         * modules/gen-uni-tables (Depends-on): Likewise.
9907         * modules/argz (Depends-on): Add strstr.
9908
9909 2009-06-17  Bruno Haible  <bruno@clisp.org>
9910
9911         * modules/posix_spawn-internal (Depends-on): Add errno.
9912
9913 2009-06-17  Bruno Haible  <bruno@clisp.org>
9914
9915         Define missing ESTALE on Interix 3.5.
9916         * lib/errno.in.h (ESTALE): Assign a value if missing.
9917         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
9918         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
9919         missing.
9920         * doc/posix-headers/errno.texi: Mention the Interix bug.
9921         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
9922
9923 2009-06-15  Eric Blake  <ebb9@byu.net>
9924
9925         memchr, memchr2: add valgrind exception
9926         * lib/memchr.valgrind: New file.
9927         * lib/memchr2.valgrind: New file.
9928         * modules/memchr (Files): Distribute valgrind file.
9929         * modules/memchr2 (Files): Likewise.
9930
9931         docs: memchr is no longer obsolete
9932         * MODULES.html.sh: Move memchr from obsolete to string.h section.
9933         * lib/string.in.h (memchr): Simplify logic.
9934
9935 2009-06-14  Jim Meyering  <meyering@redhat.com>
9936
9937         link-follow: fix the "checking..." message to not mention trailing slash
9938         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
9939         never considered trailing slashes.
9940
9941 2009-06-14  Bruno Haible  <bruno@clisp.org>
9942
9943         * m4/memchr.m4: Mention also the bug on IA-64.
9944         * doc/posix-functions/memchr.texi: Likewise.
9945
9946 2009-06-12  Eric Blake  <ebb9@byu.net>
9947
9948         memchr: detect broken x86_64 and alpha implementations
9949         * modules/memchr-tests (Depends-on): Move mmap detection...
9950         * modules/memchr (Depends-on): ...here.
9951         (configure.ac): Set indicator.
9952         * lib/string.in.h (memchr): Declare replacement.
9953         * modules/string (Makefile.am): Trigger replacement.
9954         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
9955         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
9956         bugs.
9957         * doc/posix-functions/memchr.texi (memchr): Document the bug.
9958         * modules/getpagesize (License): Relax license.
9959
9960 2009-06-11  Bruno Haible  <bruno@clisp.org>
9961
9962         * lib/idpriv.h: Add more references.
9963
9964 2009-06-08  Bruno Haible  <bruno@clisp.org>
9965
9966         Tests for module 'idpriv-droptemp'.
9967         * modules/idpriv-droptemp-tests: New file.
9968         * tests/test-idpriv-droptemp.sh: New file.
9969         * tests/test-idpriv-droptemp.su.sh: New file.
9970         * tests/test-idpriv-droptemp.c: New file.
9971
9972         New module 'idpriv-droptemp'.
9973         * lib/idpriv-droptemp.c: New file.
9974         * modules/idpriv-droptemp: New file.
9975
9976 2009-06-08  Bruno Haible  <bruno@clisp.org>
9977
9978         Tests for module 'idpriv-drop'.
9979         * modules/idpriv-drop-tests: New file.
9980         * tests/test-idpriv-drop.sh: New file.
9981         * tests/test-idpriv-drop.su.sh: New file.
9982         * tests/test-idpriv-drop.c: New file.
9983
9984         New module 'idpriv-drop'.
9985         * lib/idpriv.h: New file.
9986         * lib-idpriv-drop.c: New file.
9987         * m4/idpriv.m4: New file.
9988         * modules/idpriv-drop: New file.
9989
9990 2009-06-08  Bruno Haible  <bruno@clisp.org>
9991
9992         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
9993         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
9994         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
9995         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
9996         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
9997         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
9998         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
9999
10000 2009-06-08  Eric Blake  <ebb9@byu.net>
10001
10002         test-strstr: use memory fence, when possible
10003         * tests/test-strstr.c (main): Use memory fence, in order to be
10004         more likely to trigger Debian bug 521737.
10005         * modules/strstr-tests (Files): Pull in additional files.
10006
10007         memchr: no longer obsolete, for wider field testing
10008         * modules/memchr (Status, Notice): Delete, this module is no
10009         longer obsolete.
10010         * modules/vasnprintf (Depends-on): Add memchr.
10011
10012 2009-06-07  Jim Meyering  <meyering@redhat.com>
10013
10014         hash: declare some functions with the warn_unused_result attribute
10015         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
10016
10017 2009-06-07  Bruno Haible  <bruno@clisp.org>
10018
10019         * tests/test-alignof.c: Don't test int64_t if it does not exist.
10020         Reported by Eric Blake.
10021
10022 2009-06-06  Eric Blake  <ebb9@byu.net>
10023
10024         test-alignof: fix typo with long double
10025         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
10026         compiler error.
10027
10028 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
10029
10030         Escape non-texinfo { and }s.
10031         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
10032         markup error.
10033
10034 2009-06-04  Jim Meyering  <meyering@redhat.com>
10035
10036         gitlog-to-changelog: don't infloop on an empty commit log
10037         * build-aux/gitlog-to-changelog: Warn about an empty log message.
10038         Reported by Boris Petersen <transacid@centerim.org>.
10039
10040 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
10041
10042         version-etc: extend for packagers
10043         Add three new configure options, intended for packagers:
10044           --with-packager="packager name"
10045           --with-packager-version="packager-specific version"
10046           --with-packager-bug-reports="packager bug reporting"
10047         An example with coreutils:
10048           $ ./configure \
10049             --with-packager=Gentoo \
10050             --with-packager-bug-report=http://bugs.gentoo.org/ \
10051             --with-packager-version="patchset 1.6"
10052           $ ./src/ls --version | head -n2
10053           ls (GNU coreutils) 7.1-dirty
10054           Packaged by Gentoo (patchset 1.6)
10055         Note that the bug reporting info via --help doesn't show up because
10056         coreutils uses its own custom emit_bug_reporting_address() implementation
10057         in src/system.h.  If it didn't, it'd look like:
10058           $ ./src/ls --help | tail -n4
10059           Report bugs to <bug-coreutils@gnu.org>.
10060           Report Gentoo bugs to <http://bugs.gentoo.org/>.
10061           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
10062           General help using GNU software: <http://www.gnu.org/gethelp/>.
10063         * lib/version-etc.c: Print new information, if provided.
10064         * m4/version-etc.m4: New file.
10065         * modules/version-etc (Files): Add m4/version-etc.m4.
10066         (configure.ac): Add gl_VERSION_ETC.
10067
10068 2009-05-31  Bruno Haible  <bruno@clisp.org>
10069
10070         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
10071         and 'int64_t'.
10072         * modules/alignof-tests (Dependencies): Add stdint.
10073         Reported by Eric Blake.
10074
10075 2009-05-31  Bruno Haible  <bruno@clisp.org>
10076
10077         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
10078         restriction due to compiler bugs.
10079         Reported by Eric Blake.
10080
10081 2009-05-31  Simon Josefsson  <simon@josefsson.org>
10082             Bruno Haible  <bruno@clisp.org>
10083
10084         Fix test-alignof failure.
10085         * lib/alignof.h (alignof_slot): New macro.
10086         (alignof_type): New macro, with the same semantics as the previous
10087         'alignof'.
10088         (alignof): Alias to alignof_slot.
10089         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
10090         check that the results are usable as constant expressions.
10091
10092 2009-05-31  Bruno Haible  <bruno@clisp.org>
10093
10094         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
10095         * tests/test-memchr.c (main): Check that memchr does not read past the
10096         first occurrence of the byte.
10097         * tests/test-strstr.c (main): Update comment.
10098         Suggested by Eric Blake.
10099
10100 2009-05-30  Bruno Haible  <bruno@clisp.org>
10101
10102         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
10103         detail how to use dumpbin.
10104         Reported by David Byron <dbyron@dbyron.com>.
10105
10106 2009-06-02  Simon Josefsson  <simon@josefsson.org>
10107
10108         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
10109
10110 2009-06-02  Simon Josefsson  <simon@josefsson.org>
10111
10112         * m4/manywarnings.m4: Add GCC 4.4 warnings.
10113
10114 2009-05-28  Bruno Haible  <bruno@clisp.org>
10115
10116         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
10117         build-aux/ files.
10118
10119 2009-05-28  Simon Josefsson  <simon@josefsson.org>
10120
10121         * gnulib-tool (func_import): Transform license on build-aux/ files too.
10122
10123 2009-05-27  Simon Josefsson  <simon@josefsson.org>
10124
10125         * gnulib-tool (sed_transform_main_lib_file)
10126         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
10127         regexps.
10128
10129 2009-05-26  Simon Josefsson  <simon@josefsson.org>
10130
10131         * tests/test-strstr.c: Add another self-test.
10132         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
10133         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
10134
10135 2009-05-23  Bruno Haible  <bruno@clisp.org>
10136
10137         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
10138         change.
10139
10140 2009-05-21  Bruno Haible  <bruno@clisp.org>
10141
10142         Simplify use of mode_t varargs.
10143         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
10144         uses 'mode_t' or 'int'.
10145         * lib/openat.c (openat): Likewise.
10146         * lib/open-safer.c (open_safer): Likewise.
10147         * m4/mode_t.m4: New file.
10148         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
10149         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
10150         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
10151         * modules/open (Files): Add m4/mode_t.m4.
10152         * modules/openat (Files): Likewise.
10153         * modules/fcntl-safer (Files): Likewise.
10154         Suggested by Eric Blake.
10155
10156 2009-05-21  Pádraig Brady  <P@draigbrady.com>
10157
10158         * doc/glibc-functions/fallocate.texi: New file.
10159         * doc/gnulib.texi: Include it.
10160
10161 2009-05-21  Eric Blake  <ebb9@byu.net>
10162             Bruno Haible  <bruno@clisp.org>
10163
10164         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
10165         invocations.
10166         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
10167
10168 2009-05-21  Eric Blake  <ebb9@byu.net>
10169             Bruno Haible  <bruno@clisp.org>
10170
10171         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
10172         include_next. Fix of 2008-11-20 commit.
10173         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
10174         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
10175         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
10176         NEXT_MATH_H.
10177         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
10178         instead of NEXT_MATH_H.
10179
10180 2009-05-21  Bruno Haible  <bruno@clisp.org>
10181
10182         Avoid redefinition warnings for SIZE_MAX.
10183         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
10184         Reported by Simon Josefsson.
10185
10186 2009-05-21  Bruno Haible  <bruno@clisp.org>
10187
10188         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
10189         AC_CACHE_VAL.
10190
10191 2009-05-20  Bruno Haible  <bruno@clisp.org>
10192
10193         Make zeroptr.h work on mingw.
10194         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
10195         mprotect.
10196         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
10197         * modules/memchr2-tests (configure.ac): Likewise.
10198         * modules/memcmp-tests (configure.ac): Likewise.
10199         * modules/memmem-tests (configure.ac): Likewise.
10200         * modules/memrchr-tests (configure.ac): Likewise.
10201         Reported by Simon Josefsson.
10202
10203 2009-05-20  Simon Josefsson  <simon@josefsson.org>
10204
10205         * tests/test-glob.c: Include string.h for strcmp prototype.
10206
10207 2009-05-20  Simon Josefsson  <simon@josefsson.org>
10208
10209         * modules/getdelim (Depends-on): Add explicit stdint, although it
10210         was implicitly already pulled in via realloc-posix.
10211         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
10212
10213 2009-05-20  Simon Josefsson  <simon@josefsson.org>
10214
10215         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
10216         G. Christensen" <tgc@jupiterrise.com>.
10217         * m4/sys_socket_h.m4: Check for sa_family_t.
10218         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
10219         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
10220         * tests/test-sys_socket.c: Check that sa_family_t works.
10221
10222 2009-05-18  Eric Blake  <ebb9@byu.net>
10223
10224         maint.mk: allow gnulib_dir in VPATH build
10225         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
10226
10227 2009-05-15  Jim Meyering  <meyering@redhat.com>
10228
10229         maint.mk: Give gnulib_dir a default definition.
10230         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
10231         Thus, most packages no longer need to specify this variable in cfg.mk
10232
10233 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
10234
10235         rename.m4: fix typos that would make non-mingw cross-configure fail
10236         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
10237
10238 2009-05-13  Eric Blake  <ebb9@byu.net>
10239
10240         mmap-anon: avoid out-of-order autoconf expansion
10241         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
10242         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
10243         * modules/memchr-tests (Depends-on): Add extensions.
10244         * modules/memchr2-tests (Depends-on): Add extensions.
10245         * modules/memcmp-tests (Depends-on): Add extensions.
10246         * modules/memmem-tests (Depends-on): Add extensions.
10247         * modules/memrchr-tests (Depends-on): Add extensions.
10248
10249 2009-05-13  Bruno Haible  <bruno@clisp.org>
10250
10251         Make some tests ISO C 99 compliant.
10252         * tests/zerosize-ptr.h: New file.
10253         * tests/test-memchr.c: Include zerosize-ptr.h.
10254         (main): Use a zero-size object pointer instead of NULL.
10255         * tests/test-memchr2.c: Include zerosize-ptr.h.
10256         (main): Use a zero-size object pointer instead of NULL.
10257         * tests/test-memcmp.c: Include zerosize-ptr.h.
10258         (main): Use a zero-size object pointer instead of NULL.
10259         * tests/test-memmem.c: Include zerosize-ptr.h.
10260         (main): Use a zero-size object pointer instead of NULL.
10261         * tests/test-memrchr.c: Include zerosize-ptr.h.
10262         (main): Use a zero-size object pointer instead of NULL.
10263         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
10264         m4/mmap-anon.m4.
10265         (Depends-on): Add getpagesize.
10266         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
10267         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
10268         m4/mmap-anon.m4.
10269         (Depends-on): Add getpagesize.
10270         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
10271         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
10272         m4/mmap-anon.m4.
10273         (Depends-on): Add getpagesize.
10274         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
10275         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
10276         m4/mmap-anon.m4.
10277         (Depends-on): Add getpagesize.
10278         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
10279         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
10280         m4/mmap-anon.m4.
10281         (Depends-on): Add getpagesize.
10282         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
10283
10284 2009-05-12  Bruno Haible  <bruno@clisp.org>
10285
10286         Tests for module 'alignof'.
10287         * modules/alignof-tests: New file.
10288         * tests/test-alignof.c: New file.
10289
10290 2009-05-12  Bruno Haible  <bruno@clisp.org>
10291
10292         Fix alignof macro.
10293         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
10294         vendor compilers that are always correct.
10295
10296 2009-05-12  Bruno Haible  <bruno@clisp.org>
10297
10298         Make the MAP_ANONYMOUS detection work on HP-UX 11.
10299         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
10300         not whether its fully works.
10301
10302 2009-05-12  Bruno Haible  <bruno@clisp.org>
10303
10304         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
10305
10306 2009-05-12  Jim Meyering  <meyering@redhat.com>
10307
10308         * top/maint.mk: Adjust backslash alignment.
10309
10310 2009-05-11  Simon Josefsson  <simon@josefsson.org>
10311
10312         * top/maint.mk: Make $(srcdir)/build-aux configurable.
10313
10314 2009-05-11  Eric Blake  <ebb9@byu.net>
10315
10316         argp: avoid undefined behavior
10317         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
10318         macros.
10319
10320 2009-05-08  Simon Josefsson  <simon@josefsson.org>
10321
10322         * tests/test-vc-list-files-git.sh: Do git config of user.email and
10323         user.name to prevent git commit from complaining.
10324
10325 2009-05-10  Bruno Haible  <bruno@clisp.org>
10326
10327         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
10328         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
10329         it rewrites every file name only once.
10330         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
10331
10332 2009-05-08  Bruno Haible  <bruno@clisp.org>
10333
10334         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
10335         instead of 'max'.
10336
10337 2009-05-08  Simon Josefsson  <simon@josefsson.org>
10338
10339         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
10340         sockaddr_storage test.
10341
10342 2009-05-07  Simon Josefsson  <simon@josefsson.org>
10343
10344         * modules/sys_socket (Makefile.am): Substitute
10345         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
10346         * m4/sys_socket_h.m4: Check for sockaddr_storage.
10347         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
10348         * tests/test-sys_socket.c: Check sockaddr_storage.
10349
10350 2009-05-08  Bruno Haible  <bruno@clisp.org>
10351
10352         New module 'alignof'.
10353         * lib/alignof.h: New file.
10354         * modules/alignof: New file.
10355
10356 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
10357             Bruno Haible  <bruno@clisp.org>
10358
10359         Fix test-file-has-acl on FreeBSD.
10360         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
10361         mask is implicitly added.
10362         * tests/test-file-has-acl.c: Include <signal.h>.
10363         (main): Terminate the test after 5 seconds.
10364         * modules/acl-tests (configure.ac): Check for alarm function.
10365
10366 2009-05-04  Bruno Haible  <bruno@clisp.org>
10367
10368         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
10369         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
10370         * modules/errno (configure.ac): Drop AC_REQUIRE.
10371         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
10372         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
10373
10374 2009-05-04  Simon Josefsson  <simon@josefsson.org>
10375
10376         * modules/glob-tests: New module.
10377         * tests/test-glob.c: Add.
10378
10379 2009-05-04  Simon Josefsson  <simon@josefsson.org>
10380
10381         * modules/fnmatch-tests: New module.
10382         * tests/test-fnmatch.c: Add.
10383
10384 2009-05-04  Eric Blake  <ebb9@byu.net>
10385
10386         maint: make the new no-submodule-changes rule VPATH-safe
10387         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
10388
10389 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
10390             Bruno Haible  <bruno@clisp.org>
10391
10392         acl: Fix infinite loop on FreeBSD.
10393         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
10394         of return value from acl_get_entry.
10395         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
10396         Likewise.
10397
10398 2009-05-03  Bruno Haible  <bruno@clisp.org>
10399
10400         * lib/acl-internal.h (acl_entries): Clarify return value.
10401         * lib/acl_entries.c (acl_entries): Likewise.
10402
10403 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
10404
10405         Bug fix in acl module.
10406         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
10407
10408 2009-05-03  Bruno Haible  <bruno@clisp.org>
10409
10410         Create gperf-generated file in the source dir, not in the build dir.
10411         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
10412         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
10413         * modules/unicase/locale-language (unicase/locale-languages.h):
10414         Likewise.
10415         * modules/unicase/special-casing (unicase/special-casing-table.h):
10416         Likewise.
10417         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
10418         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
10419         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
10420         Reported by Ralf Wildenhues.
10421
10422 2009-05-03  Bruno Haible  <bruno@clisp.org>
10423
10424         * modules/fnmatch (Description, configure.ac): Taken from
10425         fnmatch-posix.
10426         * modules/fnmatch-posix: Turn into a symbolic reference to the
10427         'fnmatch' module, and deprecate.
10428         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
10429
10430 2009-05-03  Bruno Haible  <bruno@clisp.org>
10431
10432         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
10433         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
10434         Reported by Ralf Wildenhues.
10435
10436 2009-05-04  Simon Josefsson  <simon@josefsson.org>
10437
10438         * m4/fnmatch.m4: Fix fnmatch re-define.
10439
10440 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
10441
10442         priv-set: new module and tests; adapt write-any-file
10443         * lib/priv-set.c: New file.
10444         * lib/priv-set.h: New file.
10445         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
10446         * lib/write-any-file.c: Simplify by using priv-set module.
10447         * m4/priv-set.m4: New file.
10448         * modules/priv-set: New file.
10449         * modules/unlinkdir: Add dependency on priv-set module.
10450         * modules/write-any-file: Likewise.
10451
10452         Tests for module 'priv-set'.
10453         * modules/priv-set-tests: New file.
10454         * tests/test-priv-set.c: New file.
10455
10456 2009-05-03  Jim Meyering  <meyering@redhat.com>
10457             Bruno Haible  <bruno@clisp.org>
10458
10459         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
10460         use the converted UTF-8 variant of the name instead.
10461
10462 2009-05-03  Jim Meyering  <meyering@redhat.com>
10463
10464         tests: tighten some getdate tests
10465         * tests/test-getdate.c (main): Tighten tests: require equality,
10466         not just greater than.  Set TZ envvar to UTC0.
10467
10468 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
10469
10470         getdate: correctly interpret "next monday" when run on a Monday
10471         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
10472         that e.g., "next tues" (when run on a tuesday) results in a date
10473         that is one week in the future, and not today's date.
10474         I.e., add a week when the wday is the same as the current one.
10475         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
10476         and earlier by Martin Bernreuther and Jan Minář.
10477         * tests/test-getdate.c (main): Check that "next DAY" is always in
10478         the future and that "last DAY" is always in the past.
10479
10480 2009-05-02  Jim Meyering  <meyering@redhat.com>
10481
10482         build: ensure that a release build fails when a submodule is unclean
10483         * top/maint.mk (no-submodule-changes): New rule.
10484         (alpha beta major): Depend on it.
10485
10486 2009-05-02  Bruno Haible  <bruno@clisp.org>
10487
10488         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
10489         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
10490         shell variable gl_fnmatch_required to detect which variant is
10491         requested.
10492         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
10493         gl_FUNC_FNMATCH_POSIX.
10494         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
10495         exclude fnmatch-posix.
10496
10497 2009-05-02  Bruno Haible  <bruno@clisp.org>
10498
10499         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
10500         * modules/mbsrtowcs (License): Change to LGPLv2+.
10501         * modules/strnlen1 (License): Likewise.
10502         Reported by Simon Josefsson.
10503
10504 2009-05-02  Bruno Haible  <bruno@clisp.org>
10505
10506         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
10507         "cross".
10508         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
10509         gnulib-tool was called with option --source-base=lib.
10510
10511 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10512
10513         Use automake *-local hooks without commands, for extensibility.
10514         * modules/localcharset (Makefile.am): Rename install-exec-local
10515         rule to install-exec-localcharset, and make it a prerequisite of
10516         install-exec-local.  Likewise, rename the uninstall-local rule to
10517         uninstall-localcharset, and make it a prerequisite of the former.
10518
10519 2009-05-01  Bruno Haible  <bruno@clisp.org>
10520
10521         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
10522         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
10523         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
10524         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
10525         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
10526         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
10527         m4/locale-zh.m4, m4/codeset.m4.
10528
10529         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
10530         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
10531         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
10532         m4/locale-zh.m4.
10533
10534         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
10535         REPLACE_WCRTOMB if mbstate_t must be replaced.
10536         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
10537         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
10538
10539 2009-05-01  Bruno Haible  <bruno@clisp.org>
10540
10541         Avoid compiler warnings when redefining macros defined by <libintl.h>.
10542         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
10543         dngettext, dcngettext, textdomain, bindtextdomain,
10544         bind_textdomain_codeset): Undefine before redefining.
10545
10546 2009-04-30  Bruno Haible  <bruno@clisp.org>
10547
10548         Fix bug introduced on 2009-04-25.
10549         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
10550         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
10551         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
10552         is defined.
10553         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
10554         is defined.
10555         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
10556         is defined.
10557         Reported by Elbert_Pol <elbert.pol@gmail.com>.
10558
10559 2009-04-28  Bruno Haible  <bruno@clisp.org>
10560
10561         Comment tweaks.
10562         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
10563         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
10564         * lib/unicase.h (u*_casexfrm): Likewise.
10565         Reported by Paolo Bonzini.
10566
10567 2009-04-28  Bruno Haible  <bruno@clisp.org>
10568
10569         Fix a compilation error.
10570         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
10571         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
10572         Reported by Jim Meyering.
10573
10574 2009-04-27  Bruno Haible  <bruno@clisp.org>
10575
10576         New module 'libunistring'.
10577         * modules/libunistring: New file.
10578         * m4/libunistring.m4: New file.
10579         * MODULES.html.sh (Unicode string functions): Add it.
10580
10581 2009-04-27  Eric Blake  <ebb9@byu.net>
10582
10583         maint.mk: allow package-specific header to provide <config.h>
10584         * top/maint.mk (sc_require_config_h): New variable.
10585         (sc_require_config_h, sc_require_config_h_first): Use it.
10586
10587 2009-04-27  Simon Josefsson  <simon@josefsson.org>
10588
10589         * top/maint.mk (sc_avoid_if_before_free): Except
10590         useless-if-before-free script.
10591
10592 2009-04-27  Eric Blake  <ebb9@byu.net>
10593
10594         maintainer-makefile: depend on all required helper scripts
10595         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
10596         useless-if-before-free.
10597         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
10598         version, rather than assuming gnulib checkout is available.
10599         Reported by Simen Josefsson.
10600
10601 2009-04-26  Bruno Haible  <bruno@clisp.org>
10602
10603         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
10604         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
10605         "../" or "..".
10606
10607 2009-04-26  Bruno Haible  <bruno@clisp.org>
10608
10609         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
10610         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
10611         AC_LIB_HAVE_LINKFLAGS.
10612
10613 2009-04-26  Bruno Haible  <bruno@clisp.org>
10614
10615         Simplify calling convention of u*_conv_from_encoding.
10616         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
10617         u32_conv_from_encoding): Expect a resultbuf argument and return the
10618         result directly as a pointer.
10619         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
10620         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
10621         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
10622         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
10623         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
10624         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
10625         Update.
10626         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
10627         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
10628         * lib/vasnprintf.c (VASNPRINTF): Update.
10629         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
10630         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
10631         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
10632         * NEWS: Mention the change.
10633
10634 2009-04-26  Bruno Haible  <bruno@clisp.org>
10635
10636         Simplify calling convention of u*_conv_to_encoding.
10637         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
10638         u32_conv_to_encoding): Expect a resultbuf argument and return the
10639         result directly as a pointer.
10640         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
10641         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
10642         freeing scaled_offsets if mem_iconveha failed.
10643         * lib/unicase/u-casexfrm.h (FUNC): Update.
10644         * lib/uninorm/u-normxfrm.h (FUNC): Update.
10645         * lib/vasnprintf.c (VASNPRINTF): Update.
10646         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
10647         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
10648         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
10649         * NEWS: Mention the change.
10650
10651 2009-04-26  Bruno Haible  <bruno@clisp.org>
10652
10653         Avoid test failures on AIX and OSF/1.
10654         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
10655         malloc(0).
10656         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
10657         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
10658         Likewise.
10659         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
10660         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
10661         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
10662         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
10663         * doc/posix-functions/malloc.texi: Document the portability problem
10664         related to malloc(0).
10665
10666 2009-04-26  Bruno Haible  <bruno@clisp.org>
10667
10668         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
10669         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
10670         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
10671
10672 2009-04-25  Bruno Haible  <bruno@clisp.org>
10673
10674         Avoid link error when creating a namespace clean library.
10675         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
10676         as macro with arguments if already defined as an alias.
10677         * lib/signbitf.c (gl_signbitf): Don't undefine.
10678         * lib/signbitd.c (gl_signbitd): Don't undefine.
10679         * lib/signbitl.c (gl_signbitl): Don't undefine.
10680
10681 2009-04-25  Jim Meyering  <meyering@redhat.com>
10682
10683         vc-list-files: fix another quoting bug
10684         * build-aux/vc-list-files: Avoid sed backslash expansion
10685         of pathological directory names.
10686
10687 2009-04-25  Eric Blake  <ebb9@byu.net>
10688
10689         vc-list-files: fix shell quoting error
10690         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
10691         timestamp.
10692
10693 2009-04-25  Jim Meyering  <meyering@redhat.com>
10694
10695         vc-list-files: restore lost functionality with subdir argument
10696         * build-aux/vc-list-files: When given a non-"." sub-directory
10697         argument, substitute the $dir/ prefix back onto each resulting name.
10698         Otherwise, coreutils' root_tests check would fail.
10699
10700 2009-04-24  Eric Blake  <ebb9@byu.net>
10701
10702         vc-list-files: ignore git symlinks
10703         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
10704         than ls-files, to ignore git symlinks.
10705
10706         maint.mk: import improvements from m4
10707         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
10708         (move_if_change): Delete unused macro.
10709         (news-date-check, vc-diff-check): Support VPATH builds.
10710         (announcement): Likewise.  Split --bootstrap-tools list...
10711         (boostrap-tools): ...into separate list, which can be overridden
10712         in cfg.mk.
10713         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
10714         requiring dependency on useless-if-before-free module.
10715         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
10716         Support VPATH builds.
10717
10718 2009-04-24  Jim Meyering  <meyering@redhat.com>
10719
10720         maint.mk: remove coreutils-specific rules and variables
10721         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
10722         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
10723         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
10724
10725         maint.mk: remove obsolete rule
10726         * top/maint.mk (rel-check): Remove rule.
10727         (WGET, WGETFLAGS): Remove now-unused variables.
10728
10729 2009-04-24  Simon Josefsson  <simon@josefsson.org>
10730
10731         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
10732         consistency.
10733
10734         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
10735         '$(PATH_SEPARATOR)' instead of ':'.
10736
10737 2009-04-24  Simon Josefsson  <simon@josefsson.org>
10738
10739         * lib/getopt1.c (main): Use 'const' for static array.
10740
10741 2009-04-24  Simon Josefsson  <simon@josefsson.org>
10742
10743         * top/maint.mk: Sync with coreutils.
10744         * NEWS: Explain incompatibilities.
10745
10746 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
10747             Bruno Haible  <bruno@clisp.org>
10748
10749         Fix cross-compilation results.
10750         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
10751         statement, as third argument of AC_TRY_RUN.
10752         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
10753         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
10754         Likewise.
10755         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
10756         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
10757         Likewise.
10758         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
10759         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
10760         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
10761
10762 2009-04-20  Bruno Haible  <bruno@clisp.org>
10763
10764         Avoid test failure on mingw.
10765         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
10766
10767 2009-04-20  Bruno Haible  <bruno@clisp.org>
10768
10769         Avoid compilation error on mingw.
10770         * modules/localename-tests (Depends-on): Add locale.
10771
10772 2009-04-19  Bruno Haible  <bruno@clisp.org>
10773
10774         Support for building a shared library on Windows platforms.
10775         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
10776         (main): Test the presence of UNINORM_NFC here.
10777         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
10778         (main): Test the presence of UNINORM_NFD here.
10779         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
10780         (main): Test the presence of UNINORM_NFKC here.
10781         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
10782         (main): Test the presence of UNINORM_NFKD here.
10783
10784 2009-04-19  Bruno Haible  <bruno@clisp.org>
10785
10786         Avoid a compiler warning.
10787         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
10788         Change type of variable 'sequence'.
10789
10790 2009-04-19  Bruno Haible  <bruno@clisp.org>
10791
10792         * modules/configmake (Makefile.am): When the contents of configmake.h
10793         does not change, arrange to preserve its modification time.
10794
10795 2009-04-17  Simon Josefsson  <simon@josefsson.org>
10796
10797         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
10798         gettext domain.
10799
10800 2009-04-16  Jim Meyering  <meyering@redhat.com>
10801
10802         useless-if-before-free: improve conversion code
10803         * build-aux/useless-if-before-free: Adjust code-in-comment to match
10804         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
10805
10806 2009-04-14  Bruno Haible  <bruno@clisp.org>
10807
10808         * modules/fcntl (Depends-on): Add extensions.
10809         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
10810
10811 2009-04-12  Ben Pfaff  <blp@gnu.org>
10812
10813         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
10814         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
10815
10816 2009-03-20  Ben Pfaff  <blp@gnu.org>
10817
10818         Make rename replace existing destinations on Windows.
10819         * m4/rename.m4: Add test for Mingw.
10820         * lib/rename.c: Add rename replacement that uses MoveFileEx with
10821         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
10822         * doc/posix-functions/rename.texi: Document.
10823
10824 2009-04-10  Bruno Haible  <bruno@clisp.org>
10825
10826         New include file "iconveh.h".
10827         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
10828         * lib/striconveh.h: Include it.
10829         (enum iconv_ilseq_handler): Remove definition.
10830         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
10831         striconveh.h.
10832         * lib/striconveha.c: Include striconveh.h.
10833         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
10834         * modules/striconveh (Files): Add lib/iconveh.h.
10835         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
10836         lib/striconveh.h.
10837
10838 2009-04-10  Bruno Haible  <bruno@clisp.org>
10839
10840         * lib/uniconv.h: Update comment.
10841
10842 2009-04-10  Bruno Haible  <bruno@clisp.org>
10843
10844         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
10845         always.
10846         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
10847         * lib/unistr/u16-mbtouc-aux.c: Likewise.
10848         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
10849         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
10850         "unistring-notinline.h", so that the function gets defined always.
10851         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
10852         * lib/unistr/u8-uctomb.c: Likewise.
10853         * lib/unistr/u16-mbtouc.c: Likewise.
10854         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
10855         * lib/unistr/u16-uctomb.c: Likewise.
10856         * lib/unistr/u32-mbtouc.c: Likewise.
10857         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
10858         * lib/unistr/u32-uctomb.c: Likewise.
10859
10860 2009-04-10  Bruno Haible  <bruno@clisp.org>
10861
10862         Mark 'utime' obsolete.
10863         * modules/utime (Status, Notice): New sections.
10864         Suggested by Jim Meyering.
10865
10866         Fix cross-compile guess for utime test.
10867         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
10868         autoconf.
10869         * doc/posix-functions/utime.texi: Give more precisions.
10870         Reported by Jan <ipif@ymail.com>.
10871
10872 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
10873
10874         filevercmp: correct today's change
10875         * lib/filevercmp.c: Also handle coreutils' test inputs.
10876         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
10877
10878         Fix regression in 'filevercmp' module. Thanks Sven Joachim
10879         for reporting it.
10880         * lib/filevercmp.c: Special handle for "", "." and "..".
10881         * tests/test-filevercmp.c: Enlarge the set suite.
10882
10883 2009-04-07  Jim Meyering  <meyering@redhat.com>
10884
10885         useless-if-before-free: show how to remove braced useless free, too
10886         * build-aux/useless-if-before-free: still only in a comment, though.
10887
10888 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
10889
10890         maint.mk: import changes to syntax-check macros from coreutils
10891         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
10892         Use them in the relevant macros.
10893
10894 2009-04-06  Bruno Haible  <bruno@clisp.org>
10895
10896         Fix unportable use of bit-fields.
10897         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
10898         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
10899         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
10900
10901 2009-04-06  Bruno Haible  <bruno@clisp.org>
10902
10903         Avoid test failures on AIX and OSF/1.
10904         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
10905         that malloc(0) = NULL.
10906         * tests/unicase/test-u8-tolower.c (check): Likewise.
10907         * tests/unicase/test-u8-totitle.c (check): Likewise.
10908         * tests/unicase/test-u8-toupper.c (check): Likewise.
10909         * tests/unicase/test-u16-casefold.c (check): Likewise.
10910         * tests/unicase/test-u16-tolower.c (check): Likewise.
10911         * tests/unicase/test-u16-totitle.c (check): Likewise.
10912         * tests/unicase/test-u16-toupper.c (check): Likewise.
10913         * tests/unicase/test-u32-casefold.c (check): Likewise.
10914         * tests/unicase/test-u32-tolower.c (check): Likewise.
10915         * tests/unicase/test-u32-totitle.c (check): Likewise.
10916         * tests/unicase/test-u32-toupper.c (check): Likewise.
10917         * tests/uninorm/test-u8-nfc.c (check): Likewise.
10918         * tests/uninorm/test-u8-nfd.c (check): Likewise.
10919         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
10920         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
10921         * tests/uninorm/test-u16-nfc.c (check): Likewise.
10922         * tests/uninorm/test-u16-nfd.c (check): Likewise.
10923         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
10924         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
10925         * tests/uninorm/test-u32-nfc.c (check): Likewise.
10926         * tests/uninorm/test-u32-nfd.c (check): Likewise.
10927         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
10928         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
10929
10930 2009-04-05  Bruno Haible  <bruno@clisp.org>
10931
10932         Work around an autoconf limitation.
10933         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
10934         comment line if it would be longer than 3 KB.
10935
10936 2009-04-05  Bruno Haible  <bruno@clisp.org>
10937
10938         Avoid test failure with libiconv-1.13.
10939         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
10940         of the expected test results.
10941
10942 2009-04-05  Bruno Haible  <bruno@clisp.org>
10943
10944         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
10945         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
10946         that it should be installed.
10947
10948 2009-04-05  Bruno Haible  <bruno@clisp.org>
10949
10950         * gnulib-tool: New option --copy-file.
10951         (func_usage): Document it.
10952         (func_dest_tmpfilename): Moved out of func_import.
10953         (func_add_file, func_update_file): New functions, extracted from
10954         func_import.
10955         (func_import): Update.
10956
10957 2009-04-05  Karl Berry  <karl@gnu.org>
10958
10959         * README: prominently mention gnulib-tool.
10960         Rearrange sections so getting the code is near the top.
10961
10962 2009-04-05  Bruno Haible  <bruno@clisp.org>
10963
10964         * lib/unicase.h: Mention u*_cmp2.
10965         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
10966         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
10967         * lib/unicase/ulc-casecmp.c: Likewise.
10968         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
10969         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
10970         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
10971         unistr/u8-cmp.
10972         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
10973         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
10974         unistr/u16-cmp.
10975         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
10976         unistr/u32-cmp.
10977
10978         * lib/uninorm.h: Mention u*_cmp2.
10979         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
10980         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
10981         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
10982         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
10983         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
10984         unistr/u8-cmp.
10985         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
10986         unistr/u16-cmp.
10987         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
10988         unistr/u32-cmp.
10989
10990         New module 'unistr/u32-cmp2'.
10991         * lib/unistr/u32-cmp2.c: New file.
10992         * modules/unistr/u32-cmp2: New file.
10993
10994         New module 'unistr/u16-cmp2'.
10995         * lib/unistr/u16-cmp2.c: New file.
10996         * modules/unistr/u16-cmp2: New file.
10997
10998         New module 'unistr/u8-cmp2'.
10999         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
11000         * lib/unistr/u8-cmp2.c: New file.
11001         * lib/unistr/u-cmp2.h: New file.
11002         * modules/unistr/u8-cmp2: New file.
11003
11004 2009-04-05  Bruno Haible  <bruno@clisp.org>
11005
11006         * lib/unictype.h (uc_property_is_valid): New macro.
11007         * tests/unictype/test-pr_byname.c (main): Use it.
11008
11009         * lib/unistr.h: Doc fixes.
11010         * lib/uniconv.h: Doc fixes.
11011         * lib/unictype.h: Doc fixes.
11012
11013 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
11014
11015         Port coreutils 7.2 to Solaris 8.
11016
11017         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
11018         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
11019         for Solaris 8.  This is a bit of a hack, as it means it's the
11020         caller's responsibility to add -lnsl if needed, but most likely it
11021         won't be needed since only getaddrinfo uses this and getaddrinfo
11022         isn't needed on Solaris 8.
11023
11024         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
11025         problem to Solaris 8 encountered with coreutils 7.2, which
11026         resulted in a message "fnmatch.c:292: warning: passing argument 4
11027         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
11028         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
11029
11030 2009-04-03  Simon Josefsson  <simon@josefsson.org>
11031
11032         * m4/ld-version-script.m4: Add FIXME comment.
11033
11034 2009-04-02  Simon Josefsson  <simon@josefsson.org>
11035
11036         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
11037         SOVERSION variable.
11038
11039 2009-04-02  Bruno Haible  <bruno@clisp.org>
11040
11041         * Makefile (info, html, dvi, pdf): Combine the rules.
11042         Suggested by Jim Meyering.
11043
11044 2009-04-01  Bruno Haible  <bruno@clisp.org>
11045
11046         * Makefile (info, html, dvi, pdf): New targets.
11047         Reported by Reuben Thomas <rrt@sc3d.org>.
11048
11049 2009-04-01  Bruno Haible  <bruno@clisp.org>
11050
11051         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
11052         can be put into PATH.
11053         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
11054
11055 2009-04-01  Bruno Haible  <bruno@clisp.org>
11056
11057         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
11058
11059 2009-04-01  Bruno Haible  <bruno@clisp.org>
11060
11061         Rename module 'visibility'.
11062         * modules/lib-symbol-visibility: Renamed from modules/visibility.
11063         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
11064         * doc/gnulib.texi: Update.
11065         * MODULES.html.sh (Misc): Update.
11066         * NEWS: Mention the change.
11067
11068 2009-04-01  Simon Josefsson  <simon@josefsson.org>
11069
11070         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
11071         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
11072         Eric Blake <ebb9@byu.net> for review.
11073         * MODULES.html.sh: Add lib-msvc-compat.
11074         * doc/gnulib.texi: Link to new section.
11075         * m4/ld-output-def.m4: New file.
11076         * doc/ld-output-def.texi: New file.
11077
11078 2009-04-01  Simon Josefsson  <simon@josefsson.org>
11079
11080         Rename ld-version-script to lib-symbol-versions.  Suggested by
11081         Bruno Haible <bruno@clisp.org>.
11082         * modules/ld-version-script: Renamed to lib-symbol-versions.
11083         * doc/ld-version-script.texi: Fix module name.
11084         * MODULES.html.sh: Add lib-symbol-versions.
11085
11086 2009-03-31  Simon Josefsson  <simon@josefsson.org>
11087
11088         * modules/u64-tests: New file.
11089         * tests/test-u64.c: New file.
11090
11091 2009-03-04  Simon Josefsson  <simon@josefsson.org>
11092
11093         * MODULES.html.sh: Mention u64.
11094         * modules/u64: New module.
11095         * modules/crypto/sha512: Depend on u64 module instead of providing
11096         u64.h.
11097
11098 2009-03-27  Eric Blake  <ebb9@byu.net>
11099
11100         test-strerror: make debugging EAI_SYSTEM easier
11101         * modules/getaddrinfo-tests (Depends-on): Add strerror.
11102         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
11103         failure was EAI_SYSTEM.
11104
11105 2009-03-25  Bruno Haible  <bruno@clisp.org>
11106
11107         Fix a problem with --enable-relocatable on Solaris 7.
11108         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
11109         since 2008-02-24.
11110
11111 2009-03-25  Eric Blake  <ebb9@byu.net>
11112
11113         test-sockets: avoid gcc warning
11114         * tests/test-sockets.c (main): Silence compiler warning.
11115
11116 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
11117
11118         New modules nproc, pthread, contributed by Glen Lenker.
11119
11120         * MODULES.html.sh: Add pthread, nproc.
11121         * lib/nproc.c: New file.
11122         * lib/nproc.h: New file.
11123         * lib/pthread.in.h: New file.
11124         * m4/pthread.m4: New file.
11125         * modules/nproc: New file.
11126         * modules/pthread: New file.
11127
11128 2009-03-24  Simon Josefsson  <simon@josefsson.org>
11129
11130         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
11131         New variable.
11132
11133 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
11134
11135         filevercmp: handle simple~ and numbered.~3~ backup suffixes
11136         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
11137         * tests/test-filevercmp.c: Add tests for backup suffixes.
11138
11139 2009-03-24  Simon Josefsson  <simon@josefsson.org>
11140
11141         * modules/stdlib (Depends-on): Add stdint, needed when defining
11142         struct random_data on, for example, HP-UX 10.20.  Reported by
11143         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
11144
11145 2009-03-24  Simon Josefsson  <simon@josefsson.org>
11146
11147         * lib/readline.c (readline): Call fflush on stdout after printing
11148         prompt.
11149
11150 2009-03-20  Bruno Haible  <bruno@clisp.org>
11151
11152         Remove dependency from 'close' module to -lws2_32 on native Windows.
11153         * lib/close-hook.h: New file.
11154         * lib/close-hook.c: New file.
11155         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
11156         w32sock.h.
11157         (_gl_close_fd_maybe_socket): Remove function.
11158         (rpl_close): Invoke execute_all_close_hooks instead of
11159         _gl_close_fd_maybe_socket.
11160         * lib/sockets.c: Include close-hook.h, w32sock.h.
11161         (close_fd_maybe_socket): New function, essentially from lib/close.c.
11162         (close_sockets_hook): New variable.
11163         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
11164         (gl_sockets_cleanup): Unregister it.
11165         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
11166         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
11167         * modules/close-hook: New file.
11168         * modules/close (Files): Remove lib/w32sock.h.
11169         (Depends-on): Add close-hook.
11170         (Link): Remove section.
11171         * modules/sockets (Files): Add lib/w32sock.h.
11172         (Depends-on): Add close-hook.
11173         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
11174         invocation.
11175         * NEWS: Mention that LIB_CLOSE is gone.
11176
11177 2009-03-23  Eric Blake  <ebb9@byu.net>
11178
11179         signal-tests: test previous patch
11180         * tests/test-signal.c: New file.
11181         * modules/signal-tests: Likewise.
11182
11183         signal.h: always support 'volatile sig_atomic_t'
11184         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
11185         (gl_SIGNAL_H_DEFAULTS): Add a default.
11186         * modules/signal (Makefile.am): Substitute if needed.
11187         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
11188         users can blindly add volatile.
11189         * doc/posix-headers/signal.texi (signal.h): Document it.
11190         Reported by Matthew Woehlke.
11191
11192 2009-03-23  Jim Meyering  <meyering@redhat.com>
11193
11194         pathmax: PATH_MAX: use pathconf only when available
11195         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
11196         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
11197         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
11198         This avoids a link failure in a PSP cross-compilation environment
11199         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
11200
11201         * lib/vasnprintf.c (divide): Fix typo in comment.
11202
11203 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11204
11205         * gnulib-tool (func_filter_filelist): Fix comment.
11206
11207 2009-03-20  Bruno Haible  <bruno@clisp.org>
11208
11209         Make sockets.h self-contained.
11210         * lib/sockets.c: Include sockets.h first.
11211         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
11212
11213 2009-03-19  Eric Blake  <ebb9@byu.net>
11214
11215         doc: mention more functions added in cygwin 1.7.0
11216         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
11217         addition.
11218         * doc/posix-functions/log2f.texi: Likewise.
11219
11220 2009-03-19  Jim Meyering  <meyering@redhat.com>
11221
11222         fsusage: avoid syntax error due to statement-before-declaration
11223         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
11224         after all declarations.  Reported by Matthew Woehlke in
11225         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
11226
11227 2009-03-18  Eric Blake  <ebb9@byu.net>
11228
11229         build-aux/compile: sync from automake
11230         * build-aux/compile: New file, from automake.
11231         * config/srclist.txt: Mention build-aux/compile.
11232
11233 2009-03-17  Bruno Haible  <bruno@clisp.org>
11234
11235         * lib/git-merge-changelog.c: Fix typo in comment.
11236         Reported by Reuben Thomas <rrt@sc3d.org>.
11237
11238 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
11239
11240         * m4/regex.m4: update and improve help for
11241         --without-included-regex.
11242
11243 2009-03-17  Simon Josefsson  <simon@josefsson.org>
11244
11245         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
11246         failure on missing include files.
11247
11248 2009-03-17  Eric Blake  <ebb9@byu.net>
11249
11250         doc: mention more functions added in cygwin 1.7.0
11251         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
11252         addition.
11253         * doc/posix-functions/fwscanf.texi: Likewise.
11254         * doc/posix-functions/swprintf.texi: Likewise.
11255         * doc/posix-functions/swscanf.texi: Likewise.
11256         * doc/posix-functions/vfwprintf.texi: Likewise.
11257         * doc/posix-functions/vfwscanf.texi: Likewise.
11258         * doc/posix-functions/vswprintf.texi: Likewise.
11259         * doc/posix-functions/vswscanf.texi: Likewise.
11260         * doc/posix-functions/vwprintf.texi: Likewise.
11261         * doc/posix-functions/vwscanf.texi: Likewise.
11262         * doc/posix-functions/wcscasecmp.texi: Likewise.
11263         * doc/posix-functions/wcsdup.texi: Likewise.
11264         * doc/posix-functions/wcsftime.texi: Likewise.
11265         * doc/posix-functions/wcsncasecmp.texi: Likewise.
11266         * doc/posix-functions/wprintf.texi: Likewise.
11267         * doc/posix-functions/wscanf.texi: Likewise.
11268         * doc/glibc-functions/gethostbyname2.texi: Likewise.
11269
11270 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11271
11272         maint.mk: really add $(AM_MAKEFLAGS)
11273         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
11274         was inadvertently omitted in the last commit.
11275         Spotted by Bruno Haible.
11276
11277         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
11278         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
11279         $(AM_MAKEFLAGS)' rather than plain `make'.
11280
11281         gnulib-tool: execute $MAKE not make
11282         * gnulib-tool: Default $MAKE to 'make'.
11283         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
11284         than make.  Initialize $MAKE in the do-autobuild script.
11285
11286         gnulib-tool: use $MAKE not make in generated files
11287         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
11288         make, in generated files.  Initialize $MAKE in the do-autobuild
11289         script.
11290
11291         * top/GNUmakefile (_have-git-version-gen): Fix typo.
11292
11293         GNUmakefile: disable parallelism only for multiple, recursive targets
11294         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
11295         additions in the Makefile.
11296         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
11297         by Automake.
11298         (.NOTPARALLEL): Only disable parallel builds if multiple targets
11299         are listed on the command line and at least one of them is
11300         listed in $(ALL_RECURSIVE_TARGETS).
11301
11302 2009-03-14  Bruno Haible  <bruno@clisp.org>
11303
11304         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
11305         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
11306         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
11307         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
11308         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
11309         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
11310         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
11311         unistr/u8-uctomb.
11312         * modules/unistr/u8-strchr (Depends-on): Likewise.
11313         * modules/unistr/u8-strrchr (Depends-on): Likewise.
11314         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
11315         unistr/u16-uctomb.
11316         * modules/unistr/u16-strchr (Depends-on): Likewise.
11317         * modules/unistr/u16-strrchr (Depends-on): Likewise.
11318
11319 2009-03-12  Bruno Haible  <bruno@clisp.org>
11320
11321         Work around select() bug on Interix 3.5.
11322         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
11323         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
11324         * m4/select.m4: New file.
11325         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
11326         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
11327         * modules/select (Files): Add m4/select.m4.
11328         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
11329         * modules/nanosleep (Depends-on): Add select.
11330         * modules/poll (Depends-on): Likewise.
11331         * doc/posix-functions/select.texi: Mention the Interix bug.
11332         Reported by Markus Duft <mduft@gentoo.org>.
11333
11334         * lib/select.c: Renamed from lib/winsock-select.c.
11335         * modules/select (Files): Add lib/select.c, remove
11336         lib/winsock-select.c.
11337         (configure.ac): Update.
11338
11339 2009-03-12  Jim Meyering  <meyering@redhat.com>
11340
11341         avoid gcc warnings about unused macro definitions
11342         * lib/readtokens.c (STREQ): Remove unused definition.
11343         * lib/xmalloc.c (SIZE_MAX): Likewise.
11344         * lib/openat-die.c (N_): Likewise.
11345         * lib/mountlist.c (SIZE_MAX): Remove definition.
11346         Instead, include <stdint.h>.
11347         * lib/readutmp.c: Likewise.
11348         * modules/readutmp (Depends-on): Add stdint.
11349         * modules/mountlist (Depends-on): Add stdint.
11350         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
11351
11352 2009-03-10  Bruno Haible  <bruno@clisp.org>
11353
11354         Tests for module 'mbmemcasecoll'.
11355         * modules/mbmemcasecoll-tests: New file.
11356         * tests/test-mbmemcasecoll1.sh: New file.
11357         * tests/test-mbmemcasecoll2.sh: New file.
11358         * tests/test-mbmemcasecoll3.sh: New file.
11359         * tests/test-mbmemcasecoll.c: New file.
11360
11361         New module 'mbmemcasecoll'.
11362         * lib/mbmemcasecoll.h: New file.
11363         * lib/mbmemcasecoll.c: New file.
11364         * modules/mbmemcasecoll: New file.
11365
11366         * tests/test-mbmemcasecmp.h: New file, extracted from
11367         tests/test-mbmemcasecmp.c.
11368         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
11369         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
11370         (main): Update.
11371         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
11372
11373 2009-03-09  Bruno Haible  <bruno@clisp.org>
11374
11375         Tests for module 'mbmemcasecmp'.
11376         * modules/mbmemcasecmp-tests: New file.
11377         * tests/test-mbmemcasecmp1.sh: New file.
11378         * tests/test-mbmemcasecmp2.sh: New file.
11379         * tests/test-mbmemcasecmp3.sh: New file.
11380         * tests/test-mbmemcasecmp.c: New file.
11381
11382         New module 'mbmemcasecmp'.
11383         * lib/mbmemcasecmp.h: New file.
11384         * lib/mbmemcasecmp.c: New file.
11385         * modules/mbmemcasecmp: New file.
11386
11387 2009-03-09  Bruno Haible  <bruno@clisp.org>
11388
11389         Tests for module 'unicase/ulc-casecoll'.
11390         * modules/unicase/ulc-casecoll-tests: New file.
11391         * tests/unicase/test-ulc-casecoll1.sh: New file.
11392         * tests/unicase/test-ulc-casecoll2.sh: New file.
11393         * tests/unicase/test-ulc-casecoll.c: New file.
11394
11395         New module 'unicase/ulc-casecoll'.
11396         * lib/unicase.h (ulc_casecoll): New declaration.
11397         * lib/unicase/ulc-casecoll.c: New file.
11398         * modules/unicase/ulc-casecoll: New file.
11399
11400         New module 'unicase/ulc-casexfrm'.
11401         * lib/unicase.h (ulc_casexfrm): New declaration.
11402         * lib/unicase/ulc-casexfrm.c: New file.
11403         * modules/unicase/ulc-casexfrm: New file.
11404
11405 2009-03-09  Bruno Haible  <bruno@clisp.org>
11406
11407         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
11408         invocations.
11409
11410         * m4/mbscasecmp.m4: Remove file.
11411         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
11412         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
11413
11414         * m4/mbscasestr.m4: Remove file.
11415         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
11416         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
11417
11418         * m4/mbschr.m4: Remove file.
11419         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
11420         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
11421
11422         * m4/mbscspn.m4: Remove file.
11423         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
11424         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
11425
11426         * m4/mbslen.m4: Remove file.
11427         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
11428         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
11429
11430         * m4/mbsncasecmp.m4: Remove file.
11431         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
11432         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
11433
11434         * m4/mbsnlen.m4: Remove file.
11435         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
11436         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
11437
11438         * m4/mbspbrk.m4: Remove file.
11439         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
11440         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
11441
11442         * m4/mbspcasecmp.m4: Remove file.
11443         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
11444         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
11445
11446         * m4/mbsrchr.m4: Remove file.
11447         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
11448         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
11449
11450         * m4/mbssep.m4: Remove file.
11451         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
11452         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
11453
11454         * m4/mbsspn.m4: Remove file.
11455         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
11456         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
11457
11458         * m4/mbsstr.m4: Remove file.
11459         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
11460         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
11461
11462         * m4/mbstok_r.m4: Remove file.
11463         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
11464         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
11465
11466         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
11467
11468         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
11469         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
11470
11471         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
11472
11473 2009-03-08  Bruno Haible  <bruno@clisp.org>
11474
11475         Tests for module 'unicase/ulc-casecmp'.
11476         * modules/unicase/ulc-casecmp-tests: New file.
11477         * tests/unicase/test-ulc-casecmp1.sh: New file.
11478         * tests/unicase/test-ulc-casecmp2.sh: New file.
11479         * tests/unicase/test-ulc-casecmp.c: New file.
11480
11481         New module 'unicase/ulc-casecmp'.
11482         * lib/unicase.h (ulc_casecmp): New declaration.
11483         * lib/unicase/ulc-casecmp.c: New file.
11484         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
11485         'const SRC_UNIT *'.
11486         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
11487         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
11488         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
11489         * modules/unicase/ulc-casecmp: New file.
11490
11491         Tests for module 'unicase/u32-is-cased'.
11492         * modules/unicase/u32-is-cased-tests: New file.
11493         * tests/unicase/test-u32-is-cased.c: New file.
11494
11495         Tests for module 'unicase/u16-is-cased'.
11496         * modules/unicase/u16-is-cased-tests: New file.
11497         * tests/unicase/test-u16-is-cased.c: New file.
11498
11499         Tests for module 'unicase/u8-is-cased'.
11500         * modules/unicase/u8-is-cased-tests: New file.
11501         * tests/unicase/test-u8-is-cased.c: New file.
11502         * tests/unicase/test-is-cased.h: New file.
11503
11504         New module 'unicase/u32-is-cased'.
11505         * lib/unicase/u32-is-cased.c: New file.
11506         * modules/unicase/u32-is-cased: New file.
11507
11508         New module 'unicase/u16-is-cased'.
11509         * lib/unicase/u16-is-cased.c: New file.
11510         * modules/unicase/u16-is-cased: New file.
11511
11512         New module 'unicase/u8-is-cased'.
11513         * lib/unicase/u8-is-cased.c: New file.
11514         * lib/unicase/u-is-cased.h: New file.
11515         * modules/unicase/u8-is-cased: New file.
11516
11517         Tests for module 'unicase/u32-is-casefolded'.
11518         * modules/unicase/u32-is-casefolded-tests: New file.
11519         * tests/unicase/test-u32-is-casefolded.c: New file.
11520
11521         Tests for module 'unicase/u16-is-casefolded'.
11522         * modules/unicase/u16-is-casefolded-tests: New file.
11523         * tests/unicase/test-u16-is-casefolded.c: New file.
11524
11525         Tests for module 'unicase/u8-is-casefolded'.
11526         * modules/unicase/u8-is-casefolded-tests: New file.
11527         * tests/unicase/test-u8-is-casefolded.c: New file.
11528         * tests/unicase/test-is-casefolded.h: New file.
11529
11530         New module 'unicase/u32-is-casefolded'.
11531         * lib/unicase/u32-is-casefolded.c: New file.
11532         * modules/unicase/u32-is-casefolded: New file.
11533
11534         New module 'unicase/u16-is-casefolded'.
11535         * lib/unicase/u16-is-casefolded.c: New file.
11536         * modules/unicase/u16-is-casefolded: New file.
11537
11538         New module 'unicase/u8-is-casefolded'.
11539         * lib/unicase/u8-is-casefolded.c: New file.
11540         * modules/unicase/u8-is-casefolded: New file.
11541
11542         Tests for module 'unicase/u32-is-titlecase'.
11543         * modules/unicase/u32-is-titlecase-tests: New file.
11544         * tests/unicase/test-u32-is-titlecase.c: New file.
11545
11546         Tests for module 'unicase/u16-is-titlecase'.
11547         * modules/unicase/u16-is-titlecase-tests: New file.
11548         * tests/unicase/test-u16-is-titlecase.c: New file.
11549
11550         Tests for module 'unicase/u8-is-titlecase'.
11551         * modules/unicase/u8-is-titlecase-tests: New file.
11552         * tests/unicase/test-u8-is-titlecase.c: New file.
11553         * tests/unicase/test-is-titlecase.h: New file.
11554
11555         New module 'unicase/u32-is-titlecase'.
11556         * lib/unicase/u32-is-titlecase.c: New file.
11557         * modules/unicase/u32-is-titlecase: New file.
11558
11559         New module 'unicase/u16-is-titlecase'.
11560         * lib/unicase/u16-is-titlecase.c: New file.
11561         * modules/unicase/u16-is-titlecase: New file.
11562
11563         New module 'unicase/u8-is-titlecase'.
11564         * lib/unicase/u8-is-titlecase.c: New file.
11565         * modules/unicase/u8-is-titlecase: New file.
11566
11567         Tests for module 'unicase/u32-is-lowercase'.
11568         * modules/unicase/u32-is-lowercase-tests: New file.
11569         * tests/unicase/test-u32-is-lowercase.c: New file.
11570
11571         Tests for module 'unicase/u16-is-lowercase'.
11572         * modules/unicase/u16-is-lowercase-tests: New file.
11573         * tests/unicase/test-u16-is-lowercase.c: New file.
11574
11575         Tests for module 'unicase/u8-is-lowercase'.
11576         * modules/unicase/u8-is-lowercase-tests: New file.
11577         * tests/unicase/test-u8-is-lowercase.c: New file.
11578         * tests/unicase/test-is-lowercase.h: New file.
11579
11580         New module 'unicase/u32-is-lowercase'.
11581         * lib/unicase/u32-is-lowercase.c: New file.
11582         * modules/unicase/u32-is-lowercase: New file.
11583
11584         New module 'unicase/u16-is-lowercase'.
11585         * lib/unicase/u16-is-lowercase.c: New file.
11586         * modules/unicase/u16-is-lowercase: New file.
11587
11588         New module 'unicase/u8-is-lowercase'.
11589         * lib/unicase/u8-is-lowercase.c: New file.
11590         * modules/unicase/u8-is-lowercase: New file.
11591
11592         Tests for module 'unicase/u32-is-uppercase'.
11593         * modules/unicase/u32-is-uppercase-tests: New file.
11594         * tests/unicase/test-u32-is-uppercase.c: New file.
11595
11596         Tests for module 'unicase/u16-is-uppercase'.
11597         * modules/unicase/u16-is-uppercase-tests: New file.
11598         * tests/unicase/test-u16-is-uppercase.c: New file.
11599
11600         Tests for module 'unicase/u8-is-uppercase'.
11601         * modules/unicase/u8-is-uppercase-tests: New file.
11602         * tests/unicase/test-u8-is-uppercase.c: New file.
11603         * tests/unicase/test-is-uppercase.h: New file.
11604
11605         New module 'unicase/u32-is-uppercase'.
11606         * lib/unicase/u32-is-uppercase.c: New file.
11607         * modules/unicase/u32-is-uppercase: New file.
11608
11609         New module 'unicase/u16-is-uppercase'.
11610         * lib/unicase/u16-is-uppercase.c: New file.
11611         * modules/unicase/u16-is-uppercase: New file.
11612
11613         New module 'unicase/u8-is-uppercase'.
11614         * lib/unicase/u8-is-uppercase.c: New file.
11615         * modules/unicase/u8-is-uppercase: New file.
11616
11617         New module 'unicase/u32-is-invariant'.
11618         * lib/unicase/u32-is-invariant.c: New file.
11619         * modules/unicase/u32-is-invariant: New file.
11620
11621         New module 'unicase/u16-is-invariant'.
11622         * lib/unicase/u16-is-invariant.c: New file.
11623         * modules/unicase/u16-is-invariant: New file.
11624
11625         New module 'unicase/u8-is-invariant'.
11626         * lib/unicase/u8-is-invariant.c: New file.
11627         * lib/unicase/invariant.h: New file.
11628         * lib/unicase/u-is-invariant.h: New file.
11629         * modules/unicase/u8-is-invariant: New file.
11630
11631         Tests for module 'unicase/u32-casecoll'.
11632         * modules/unicase/u32-casecoll-tests: New file.
11633         * tests/unicase/test-u32-casecoll.c: New file.
11634
11635         Tests for module 'unicase/u16-casecoll'.
11636         * modules/unicase/u16-casecoll-tests: New file.
11637         * tests/unicase/test-u16-casecoll.c: New file.
11638
11639         Tests for module 'unicase/u8-casecoll'.
11640         * modules/unicase/u8-casecoll-tests: New file.
11641         * tests/unicase/test-u8-casecoll.c: New file.
11642
11643         New module 'unicase/u32-casecoll'.
11644         * lib/unicase/u32-casecoll.c: New file.
11645         * modules/unicase/u32-casecoll: New file.
11646
11647         New module 'unicase/u16-casecoll'.
11648         * lib/unicase/u16-casecoll.c: New file.
11649         * modules/unicase/u16-casecoll: New file.
11650
11651         New module 'unicase/u8-casecoll'.
11652         * lib/unicase/u8-casecoll.c: New file.
11653         * lib/unicase/u-casecoll.h: New file.
11654         * modules/unicase/u8-casecoll: New file.
11655
11656         New module 'unicase/u32-casexfrm'.
11657         * lib/unicase/u32-casexfrm.c: New file.
11658         * modules/unicase/u32-casexfrm: New file.
11659
11660         New module 'unicase/u16-casexfrm'.
11661         * lib/unicase/u16-casexfrm.c: New file.
11662         * modules/unicase/u16-casexfrm: New file.
11663
11664         New module 'unicase/u8-casexfrm'.
11665         * lib/unicase/u8-casexfrm.c: New file.
11666         * lib/unicase/u-casexfrm.h: New file.
11667         * modules/unicase/u8-casexfrm: New file.
11668
11669         Tests for module 'unicase/u32-casecmp'.
11670         * modules/unicase/u32-casecmp-tests: New file.
11671         * tests/unicase/test-u32-casecmp.c: New file.
11672
11673         Tests for module 'unicase/u16-casecmp'.
11674         * modules/unicase/u16-casecmp-tests: New file.
11675         * tests/unicase/test-u16-casecmp.c: New file.
11676
11677         Tests for module 'unicase/u8-casecmp'.
11678         * modules/unicase/u8-casecmp-tests: New file.
11679         * tests/unicase/test-u8-casecmp.c: New file.
11680         * tests/unicase/test-casecmp.h: New file.
11681
11682         New module 'unicase/u32-casecmp'.
11683         * lib/unicase/u32-casecmp.c: New file.
11684         * modules/unicase/u32-casecmp: New file.
11685
11686         New module 'unicase/u16-casecmp'.
11687         * lib/unicase/u16-casecmp.c: New file.
11688         * modules/unicase/u16-casecmp: New file.
11689
11690         New module 'unicase/u8-casecmp'.
11691         * lib/unicase/u8-casecmp.c: New file.
11692         * lib/unicase/u-casecmp.h: New file.
11693         * modules/unicase/u8-casecmp: New file.
11694
11695         Tests for module 'unicase/u32-casefold'.
11696         * modules/unicase/u32-casefold-tests: New file.
11697         * tests/unicase/test-u32-casefold.c: New file.
11698
11699         Tests for module 'unicase/u16-casefold'.
11700         * modules/unicase/u16-casefold-tests: New file.
11701         * tests/unicase/test-u16-casefold.c: New file.
11702
11703         Tests for module 'unicase/u8-casefold'.
11704         * modules/unicase/u8-casefold-tests: New file.
11705         * tests/unicase/test-u8-casefold.c: New file.
11706
11707         New module 'unicase/u32-casefold'.
11708         * lib/unicase/u32-casefold.c: New file.
11709         * modules/unicase/u32-casefold: New file.
11710
11711         New module 'unicase/u16-casefold'.
11712         * lib/unicase/u16-casefold.c: New file.
11713         * modules/unicase/u16-casefold: New file.
11714
11715         New module 'unicase/u8-casefold'.
11716         * lib/unicase/u8-casefold.c: New file.
11717         * lib/unicase/u-casefold.h: New file.
11718         * modules/unicase/u8-casefold: New file.
11719
11720         New module 'unicase/tocasefold'.
11721         * lib/unicase/casefold.h: New file.
11722         * lib/unicase/tocasefold.c: New file.
11723         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
11724         * modules/unicase/tocasefold: New file.
11725
11726         Tests for module 'unicase/u32-totitle'.
11727         * modules/unicase/u32-totitle-tests: New file.
11728         * tests/unicase/test-u32-totitle.c: New file.
11729
11730         Tests for module 'unicase/u16-totitle'.
11731         * modules/unicase/u16-totitle-tests: New file.
11732         * tests/unicase/test-u16-totitle.c: New file.
11733
11734         Tests for module 'unicase/u8-totitle'.
11735         * modules/unicase/u8-totitle-tests: New file.
11736         * tests/unicase/test-u8-totitle.c: New file.
11737
11738         New module 'unicase/u32-totitle'.
11739         * lib/unicase/u32-totitle.c: New file.
11740         * modules/unicase/u32-totitle: New file.
11741
11742         New module 'unicase/u16-totitle'.
11743         * lib/unicase/u16-totitle.c: New file.
11744         * modules/unicase/u16-totitle: New file.
11745
11746         New module 'unicase/u8-totitle'.
11747         * lib/unicase/u8-totitle.c: New file.
11748         * lib/unicase/u-totitle.h: New file.
11749         * modules/unicase/u8-totitle: New file.
11750
11751         Tests for module 'unicase/u32-tolower'.
11752         * modules/unicase/u32-tolower-tests: New file.
11753         * tests/unicase/test-u32-tolower.c: New file.
11754
11755         Tests for module 'unicase/u16-tolower'.
11756         * modules/unicase/u16-tolower-tests: New file.
11757         * tests/unicase/test-u16-tolower.c: New file.
11758
11759         Tests for module 'unicase/u8-tolower'.
11760         * modules/unicase/u8-tolower-tests: New file.
11761         * tests/unicase/test-u8-tolower.c: New file.
11762
11763         New module 'unicase/u32-tolower'.
11764         * lib/unicase/u32-tolower.c: New file.
11765         * modules/unicase/u32-tolower: New file.
11766
11767         New module 'unicase/u16-tolower'.
11768         * lib/unicase/u16-tolower.c: New file.
11769         * modules/unicase/u16-tolower: New file.
11770
11771         New module 'unicase/u8-tolower'.
11772         * lib/unicase/u8-tolower.c: New file.
11773         * modules/unicase/u8-tolower: New file.
11774
11775         Tests for module 'unicase/u32-toupper'.
11776         * modules/unicase/u32-toupper-tests: New file.
11777         * tests/unicase/test-u32-toupper.c: New file.
11778
11779         Tests for module 'unicase/u16-toupper'.
11780         * modules/unicase/u16-toupper-tests: New file.
11781         * tests/unicase/test-u16-toupper.c: New file.
11782
11783         Tests for module 'unicase/u8-toupper'.
11784         * modules/unicase/u8-toupper-tests: New file.
11785         * tests/unicase/test-u8-toupper.c: New file.
11786
11787         New module 'unicase/u32-toupper'.
11788         * lib/unicase/u32-toupper.c: New file.
11789         * modules/unicase/u32-toupper: New file.
11790
11791         New module 'unicase/u16-toupper'.
11792         * lib/unicase/u16-toupper.c: New file.
11793         * modules/unicase/u16-toupper: New file.
11794
11795         New module 'unicase/u8-toupper'.
11796         * lib/unicase/u8-toupper.c: New file.
11797         * modules/unicase/u8-toupper: New file.
11798
11799         New module 'unicase/u32-casemap'.
11800         * lib/unicase/u32-casemap.c: New file.
11801         * modules/unicase/u32-casemap: New file.
11802
11803         New module 'unicase/u16-casemap'.
11804         * lib/unicase/u16-casemap.c: New file.
11805         * modules/unicase/u16-casemap: New file.
11806
11807         New module 'unicase/u8-casemap'.
11808         * lib/unicase/unicasemap.h: New file.
11809         * lib/unicase/u8-casemap.c: New file.
11810         * lib/unicase/u-casemap.h: New file.
11811         * modules/unicase/u8-casemap: New file.
11812
11813         New module 'unicase/special-casing'.
11814         * lib/unicase/special-casing.h: New file.
11815         * lib/unicase/special-casing.c: New file.
11816         * lib/unicase/special-casing-table.gperf: New file, generated by
11817         gen-uni-tables.c.
11818         * modules/unicase/special-casing: New file.
11819
11820         Tests for module 'unicase/locale-language'.
11821         * modules/unicase/locale-language-tests: New file.
11822         * tests/unicase/test-locale-language.sh: New file.
11823         * tests/unicase/test-locale-language.c: New file.
11824
11825         New module 'unicase/locale-language'.
11826         * lib/unicase/locale-language.c: New file.
11827         * lib/unicase/locale-languages.gperf: New file.
11828         * modules/unicase/locale-language: New file.
11829
11830         Generate more tables for case conversion and case folding.
11831         * lib/gen-uni-tables.c (SCC_*): New enum items.
11832         (struct special_casing_rule): New type.
11833         (casing_rules, num_casing_rules, allocated_casing_rules): New
11834         variables.
11835         (add_casing_rule, fill_casing_rules): New functions.
11836         (struct casefold_rule): New type.
11837         (casefolding_rules, num_casefolding_rules,
11838         allocated_casefolding_rules): New variables.
11839         (fill_casefolding_rules): New function.
11840         (unicode_casefold): New variable.
11841         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
11842         sort_casing_rules, output_casing_rules): New functions.
11843         (main): Accept to more arguments: SpecialCasing.txt and
11844         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
11845         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
11846         Output mapping for casefolding.
11847
11848         * lib/unicase.h: Include stdbool.h, uninorm.h.
11849         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
11850         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
11851         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
11852         arguments.
11853         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
11854         resultp arguments.
11855         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
11856         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
11857         resultp arguments.
11858         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
11859         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
11860         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
11861         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
11862         declarations.
11863         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
11864
11865 2009-03-08  Bruno Haible  <bruno@clisp.org>
11866
11867         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
11868         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
11869         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
11870         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
11871
11872 2009-03-07  Bruno Haible  <bruno@clisp.org>
11873
11874         Adjust u*_normcmp, u*_normcoll API.
11875         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
11876         u16_normcoll, u32_normcoll): Change failure conventions.
11877         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
11878         errno and return -1.
11879         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
11880
11881 2009-03-07  Bruno Haible  <bruno@clisp.org>
11882
11883         Tests for module 'uninorm/u32-normcoll'.
11884         * modules/uninorm/u32-normcoll-tests: New file.
11885         * tests/uninorm/test-u32-normcoll.c: New file.
11886
11887         Tests for module 'uninorm/u16-normcoll'.
11888         * modules/uninorm/u16-normcoll-tests: New file.
11889         * tests/uninorm/test-u16-normcoll.c: New file.
11890
11891         Tests for module 'uninorm/u8-normcoll'.
11892         * modules/uninorm/u8-normcoll-tests: New file.
11893         * tests/uninorm/test-u8-normcoll.c: New file.
11894
11895 2009-03-07  Bruno Haible  <bruno@clisp.org>
11896
11897         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
11898         tests/uninorm/test-u32-normcmp.c.
11899         * tests/uninorm/test-u32-normcmp.c: Include it.
11900         (test_nonascii): New function, extracted from main. Add some more
11901         tests.
11902         (main): Invoke test_ascii and test_nonascii.
11903         * modules/uninorm/u32-normcmp-tests (Files): Add
11904         tests/uninorm/test-u32-normcmp.h.
11905         (Depends-on): Remove uninorm/u32-normcmp.
11906
11907         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
11908         tests/uninorm/test-u16-normcmp.c.
11909         * tests/uninorm/test-u16-normcmp.c: Include it.
11910         (test_nonascii): New function, extracted from main. Add some more
11911         tests.
11912         (main): Invoke test_ascii and test_nonascii.
11913         * modules/uninorm/u16-normcmp-tests (Files): Add
11914         tests/uninorm/test-u16-normcmp.h.
11915         (Depends-on): Remove uninorm/u16-normcmp.
11916
11917         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
11918         tests/uninorm/test-u8-normcmp.c.
11919         * tests/uninorm/test-u8-normcmp.c: Include it.
11920         (test_nonascii): New function, extracted from main. Add some more
11921         tests.
11922         (main): Invoke test_ascii and test_nonascii.
11923         * modules/uninorm/u8-normcmp-tests (Files): Add
11924         tests/uninorm/test-u8-normcmp.h.
11925         (Depends-on): Remove uninorm/u8-normcmp.
11926
11927 2009-03-07  Bruno Haible  <bruno@clisp.org>
11928
11929         New module 'uninorm/u32-normcoll'.
11930         * lib/uninorm/u32-normcoll.c: New file.
11931         * modules/uninorm/u32-normcoll: New file.
11932
11933         New module 'uninorm/u16-normcoll'.
11934         * lib/uninorm/u16-normcoll.c: New file.
11935         * modules/uninorm/u16-normcoll: New file.
11936
11937         New module 'uninorm/u8-normcoll'.
11938         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
11939         declarations.
11940         * lib/uninorm/u8-normcoll.c: New file.
11941         * lib/uninorm/u-normcoll.h: New file.
11942         * modules/uninorm/u8-normcoll: New file.
11943
11944         New module 'uninorm/u32-normxfrm'.
11945         * lib/uninorm/u32-normxfrm.c: New file.
11946         * modules/uninorm/u32-normxfrm: New file.
11947
11948         New module 'uninorm/u16-normxfrm'.
11949         * lib/uninorm/u16-normxfrm.c: New file.
11950         * modules/uninorm/u16-normxfrm: New file.
11951
11952         New module 'uninorm/u8-normxfrm'.
11953         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
11954         declarations.
11955         * lib/uninorm/u8-normxfrm.c: New file.
11956         * lib/uninorm/u-normxfrm.h: New file.
11957         * modules/uninorm/u8-normxfrm: New file.
11958
11959 2009-03-07  Bruno Haible  <bruno@clisp.org>
11960
11961         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
11962         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
11963         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
11964
11965 2009-03-07  Bruno Haible  <bruno@clisp.org>
11966
11967         New module 'memxfrm'.
11968         * lib/memxfrm.h: New file.
11969         * lib/memxfrm.c: New file.
11970         * modules/memxfrm: New file.
11971
11972 2009-03-07  Bruno Haible  <bruno@clisp.org>
11973
11974         New module 'memcmp2'.
11975         * lib/memcmp2.h: New file.
11976         * lib/memcmp2.c: New file.
11977         * modules/memcmp2: New file.
11978
11979 2009-03-07  Bruno Haible  <bruno@clisp.org>
11980
11981         Tests for module 'uninorm/decomposing-form'.
11982         * modules/uninorm/decomposing-form-tests: New file.
11983         * tests/uninorm/test-decomposing-form.c: New file.
11984
11985         New module 'uninorm/decomposing-form'.
11986         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
11987         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
11988         Add 'decomposing_variant' field.
11989         * lib/uninorm/decomposing-form.c: New file.
11990         * lib/uninorm/nfc.c (uninorm_nfc): Update.
11991         * lib/uninorm/nfd.c (uninorm_nfd): Update.
11992         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
11993         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
11994         * modules/uninorm/decomposing-form: New file.
11995         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
11996         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
11997
11998 2009-03-07  Bruno Haible  <bruno@clisp.org>
11999
12000         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
12001         strings.
12002
12003 2009-03-06  Bruno Haible  <bruno@clisp.org>
12004
12005         Tests for module 'uninorm/u32-normcmp'.
12006         * tests/uninorm/test-u32-normcmp.c: New file.
12007         * modules/uninorm/u32-normcmp-tests: New file.
12008
12009         Tests for module 'uninorm/u16-normcmp'.
12010         * tests/uninorm/test-u16-normcmp.c: New file.
12011         * modules/uninorm/u16-normcmp-tests: New file.
12012
12013         Tests for module 'uninorm/u8-normcmp'.
12014         * tests/uninorm/test-u8-normcmp.c: New file.
12015         * modules/uninorm/u8-normcmp-tests: New file.
12016
12017         New module 'uninorm/u32-normcmp'.
12018         * lib/uninorm/u32-normcmp.c: New file.
12019         * modules/uninorm/u32-normcmp: New file.
12020
12021         New module 'uninorm/u16-normcmp'.
12022         * lib/uninorm/u16-normcmp.c: New file.
12023         * modules/uninorm/u16-normcmp: New file.
12024
12025         New module 'uninorm/u8-normcmp'.
12026         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
12027         declarations.
12028         * lib/uninorm/u8-normcmp.c: New file.
12029         * lib/uninorm/u-normcmp.h: New file.
12030         * modules/uninorm/u8-normcmp: New file.
12031
12032 2009-03-06  Bruno Haible  <bruno@clisp.org>
12033
12034         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
12035         Reported by Eric Blake.
12036
12037 2009-03-06  Eric Blake  <ebb9@byu.net>
12038             Bruno Haible  <bruno@clisp.org>
12039
12040         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
12041         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
12042         condition.
12043         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
12044         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
12045         condition.
12046         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
12047
12048 2009-03-06  Eric Blake  <ebb9@byu.net>
12049
12050         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
12051         to avoid compiler warnings.
12052         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
12053
12054 2009-03-05  Bruno Haible  <bruno@clisp.org>
12055
12056         * tests/test-ftell.c (main): Disable test beyond end of file on
12057         FreeMiNT.
12058         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
12059
12060 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
12061
12062         * lib/filevercmp.c: Move hidden files up in ordering.
12063         * tests/test-filevercmp.c: Add tests for hidden files.
12064
12065 2009-03-04  Bruno Haible  <bruno@clisp.org>
12066
12067         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
12068         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
12069         AM_CFLAGS.
12070         Reported by Simon Josefsson.
12071
12072 2009-03-03  Bruno Haible  <bruno@clisp.org>
12073
12074         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
12075         Reported by Simon Josefsson.
12076
12077         * doc/ld-version-script.texi: Update node reference.
12078
12079 2009-03-03  Bruno Haible  <bruno@clisp.org>
12080
12081         * modules/visibility (License): Change to 'unlimited'.
12082         Suggested by Simon Josefsson.
12083
12084 2009-03-03  Jim Meyering  <meyering@redhat.com>
12085
12086         unlinkdir: cannot_unlink_dir may modify process state
12087         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
12088         it's neither thread-safe nor appropriate for use in a library.
12089
12090 2009-03-03  Eric Blake  <ebb9@byu.net>
12091
12092         test-closein: silence test under Darwin
12093         * tests/test-closein.sh: Ignore stderr from cat, since we don't
12094         care if it dies from EPIPE or EBADF.
12095
12096 2009-03-03  Bruno Haible  <bruno@clisp.org>
12097
12098         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
12099         earlier.
12100         * doc/visibility.texi: Fix @node and @section.
12101
12102 2009-03-03  Simon Josefsson  <simon@josefsson.org>
12103
12104         * doc/gnulib.texi: Link to sections for ld version script and
12105         visibility.
12106         * doc/visibility.texi: Add @node and @section.
12107         * modules/ld-version-script: New module.
12108         * m4/ld-version-script.m4: New file.
12109         * doc/ld-version-script.texi: New file.
12110
12111 2009-03-02  David Lutterkort  <lutter@redhat.com>
12112
12113         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
12114         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12115
12116 2009-03-02  Bruno Haible  <bruno@clisp.org>
12117
12118         * doc/visibility.texi: Mention libtool's -export-symbols option.
12119
12120 2009-03-02  Jim Meyering  <meyering@redhat.com>
12121
12122         announce-gen: new option: --no-print-checksums
12123         * build-aux/announce-gen (usage): Describe it.
12124         (print_checksums): Print a newline here, not in the [*] footnote.
12125         (main): Honor it.
12126
12127 2009-03-01  Bruno Haible  <bruno@clisp.org>
12128
12129         Use socklen_t in the native Windows replacements prototypes.
12130         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
12131         instead of 'int'.
12132         * lib/getsockopt.c (rpl_getsockopt): Likewise.
12133         * lib/setsockopt.c (rpl_setsockopt): Likewise.
12134         * modules/getsockopt (Depends-on): Add socklen.
12135         * modules/setsockopt (Depends-on): Add socklen.
12136
12137 2009-03-01  Bruno Haible  <bruno@clisp.org>
12138
12139         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
12140         least 4.2.
12141
12142 2009-03-01  Eric Blake  <ebb9@byu.net>
12143             Bruno Haible  <bruno@clisp.org>
12144
12145         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
12146         error messages.
12147         * lib/wait-process.c (wait_subprocess): Omit error message about
12148         deadly signal sent to the child of termsigp != NULL.
12149
12150 2009-03-01  Eric Blake  <ebb9@byu.net>
12151
12152         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
12153
12154 2009-03-01  Bruno Haible  <bruno@clisp.org>
12155
12156         Avoid a gcc warning.
12157         * tests/test-sched.c (b): Make global.
12158         Reported by Eric Blake.
12159
12160 2009-01-19  Martin Lambers  <marlam@marlam.de>
12161
12162         Provide POSIX semantics for socket timeout options on W32.
12163         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
12164         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
12165         * modules/setsockopt: Depend on sys_time module for struct timeval.
12166         * modules/getsockopt: Depend on sys_time module for struct timeval.
12167
12168 2009-03-01  Simon Josefsson  <simon@josefsson.org>
12169
12170         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
12171         __USE_GNU, for consistency with netdb.in.h.
12172         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
12173
12174 2009-03-01  Bruno Haible  <bruno@clisp.org>
12175
12176         More support for FreeMiNT.
12177         * lib/fseeko.c (rpl_fseeko): Complete last commit.
12178         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
12179
12180 2009-03-01  Bruno Haible  <bruno@clisp.org>
12181
12182         More support for FreeMiNT.
12183         * lib/fpurge.c (fpurge): Correct last commit.
12184         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
12185
12186 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12187
12188         Fix unportable awk script in vc-list-files.
12189         * build-aux/vc-list-files: In the replacement awk script, use
12190         substr with a second argument of 1, not zero.
12191         Report by Simon Josefsson.
12192
12193 2009-02-28  Bruno Haible  <bruno@clisp.org>
12194
12195         More support for FreeMiNT.
12196         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
12197         to FreeMiNT today.
12198         * lib/fwriting.c (fwriting): Likewise.
12199         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
12200
12201 2009-02-28  Bruno Haible  <bruno@clisp.org>
12202
12203         * tests/test-freadseek.c (main): Disable test beyond end of file on
12204         FreeMiNT.
12205         * tests/test-ftello.c (main): Likewise.
12206         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
12207
12208 2009-02-28  Bruno Haible  <bruno@clisp.org>
12209
12210         Add tentative support for FreeMiNT.
12211         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
12212         * lib/fpurge.c (fpurge): Likewise.
12213         * lib/freadable.c (freadable): Likewise.
12214         * lib/freading.c (freading): Likewise.
12215         * lib/freadptr.c (freadptr): Likewise.
12216         * lib/freadseek.c (freadptrinc): Likewise.
12217         * lib/fseeko.c (rpl_fseeko): Likewise.
12218         * lib/fseterr.c (fseterr): Likewise.
12219         * lib/fwritable.c (fwritable): Likewise.
12220         * lib/fwriting.c (fwriting): Likewise.
12221         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
12222         Hourihane.
12223         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
12224
12225 2009-02-28  Bruno Haible  <bruno@clisp.org>
12226
12227         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
12228         SIGCHLD.
12229         Reported by Jim Meyering.
12230
12231 2009-02-28  Bruno Haible  <bruno@clisp.org>
12232
12233         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
12234         Mention the results of these tests on various platforms.
12235         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
12236         order.
12237         * doc/posix-functions/printf.texi: Likewise.
12238         * doc/posix-functions/snprintf.texi: Likewise.
12239         * doc/posix-functions/sprintf.texi: Likewise.
12240         * doc/posix-functions/vfprintf.texi: Likewise.
12241         * doc/posix-functions/vprintf.texi: Likewise.
12242         * doc/posix-functions/vsnprintf.texi: Likewise.
12243         * doc/posix-functions/vsprintf.texi: Likewise.
12244         * doc/glibc-functions/obstack_printf.texi: Likewise.
12245         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
12246
12247 2009-02-28  Bruno Haible  <bruno@clisp.org>
12248
12249         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
12250         Reported by Loïc Minier <lool@dooz.org>.
12251
12252 2009-02-27  Bruno Haible  <bruno@clisp.org>
12253
12254         * gnulib-tool (func_import): Make the sed expression used to create the
12255         sed script for updating the .gitignore file POSIX compliant.
12256         Reported by Eric Blake.
12257
12258 2009-02-27  Bruno Haible  <bruno@clisp.org>
12259
12260         * gnulib-tool (sed): Don't alias as "sed --posix".
12261         Reported by Eric Blake.
12262
12263 2009-02-27  Bruno Haible  <bruno@clisp.org>
12264
12265         Avoid test link errors.
12266         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
12267         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
12268         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
12269         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
12270         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12271
12272 2009-02-27  Bruno Haible  <bruno@clisp.org>
12273
12274         Avoid spurious "(cached)" in configure output.
12275         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
12276         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
12277         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
12278         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
12279         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
12280         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
12281         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
12282         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
12283         Reported by Eric Blake.
12284
12285 2009-02-27  Eric Blake  <ebb9@byu.net>
12286
12287         printf: fix regression in previous patch
12288         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
12289
12290 2009-02-27  Bruno Haible  <bruno@clisp.org>
12291
12292         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
12293         value.
12294         * lib/stdint.in.h: Likewise.
12295         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
12296
12297 2009-02-27  Eric Blake  <ebb9@byu.net>
12298
12299         doc: mention more functions added in cygwin 1.7.0
12300         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
12301         addition.
12302         * doc/posix-functions/open_wmemstream.texi: Likewise.
12303         * doc/posix-functions/wcsnlen.texi: Likewise.
12304         * doc/posix-functions/wcsnrtombs.texi: Likewise.
12305         * doc/posix-functions/wcstod.texi: Likewise.
12306         * doc/posix-functions/wcstof.texi: Likewise.
12307         * doc/posix-functions/wcstoimax.texi: Likewise.
12308         * doc/posix-functions/wcstok.texi: Likewise.
12309         * doc/posix-functions/wcstoumax.texi: Likewise.
12310
12311         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
12312         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
12313         * doc/posix-functions/fprintf.texi: Update.
12314         * doc/posix-functions/printf.texi: Update.
12315         * doc/posix-functions/snprintf.texi: Update.
12316         * doc/posix-functions/sprintf.texi: Update.
12317         * doc/posix-functions/vfprintf.texi: Update.
12318         * doc/posix-functions/vprintf.texi: Update.
12319         * doc/posix-functions/vsnprintf.texi: Update.
12320         * doc/posix-functions/vsprintf.texi: Update.
12321         * doc/glibc-functions/obstack_printf.texi: Update.
12322         * doc/glibc-functions/obstack_vprintf.texi: Update.
12323
12324 2009-02-26  Eric Blake  <ebb9@byu.net>
12325
12326         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
12327         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
12328         compilation bug by using runtime conversion.
12329         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
12330         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
12331         * modules/ceill-tests (Files): Use nan.h.
12332         * modules/floorl-tests (Files): Likewise.
12333         * modules/frexpl-tests (Files): Likewise.
12334         * modules/isnanl-tests (Files): Likewise.
12335         * modules/ldexpl-tests (Files): Likewise.
12336         * modules/roundl-tests (Files): Likewise.
12337         * modules/truncl-tests (Files): Likewise.
12338         * tests/test-ceill.c (main): Use a working NaN.
12339         * tests/test-floorl.c (main): Likewise.
12340         * tests/test-frexpl.c (main): Likewise.
12341         * tests/test-isnan.c (test_long_double): Likewise.
12342         * tests/test-isnanl.h (main): Likewise.
12343         * tests/test-ldexpl.h (main): Likewise.
12344         * tests/test-roundl.h (main): Likewise.
12345         * tests/test-truncl.h (main): Likewise.
12346         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
12347
12348 2009-02-26  Eric Blake  <ebb9@byu.net>
12349             Bruno Haible  <bruno@clisp.org>
12350
12351         Work around a *printf bug with %ls on Solaris.
12352         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
12353         precision is specified, sprintf stops converting the wide string
12354         argument when the number of bytes that have been produced by this
12355         conversion equals or exceeds the precision.
12356         * doc/posix-functions/fprintf.texi: Update.
12357         * doc/posix-functions/printf.texi: Update.
12358         * doc/posix-functions/snprintf.texi: Update.
12359         * doc/posix-functions/sprintf.texi: Update.
12360         * doc/posix-functions/vfprintf.texi: Update.
12361         * doc/posix-functions/vprintf.texi: Update.
12362         * doc/posix-functions/vsnprintf.texi: Update.
12363         * doc/posix-functions/vsprintf.texi: Update.
12364         * doc/glibc-functions/obstack_printf.texi: Update.
12365         * doc/glibc-functions/obstack_vprintf.texi: Update.
12366
12367 2009-02-26  Eric Blake  <ebb9@byu.net>
12368
12369         stdlib: favor compiler check of random.h
12370         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
12371         to avoid an ObjC random.h installed by Swarm.
12372
12373 2009-02-26  Bruno Haible  <bruno@clisp.org>
12374
12375         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
12376         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
12377         Reported by Gary V. Vaughan <gary@gnu.org>.
12378
12379 2009-02-26  Bruno Haible  <bruno@clisp.org>
12380
12381         Fix *printf behaviour regarding the %ls directive.
12382         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
12383         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
12384         NEED_PRINTF_DIRECTIVE_LS.
12385         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
12386         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
12387         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
12388         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
12389         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
12390         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
12391         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
12392         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
12393         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
12394         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
12395         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
12396         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
12397         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
12398         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
12399         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
12400         * doc/posix-functions/fprintf.texi: Update.
12401         * doc/posix-functions/printf.texi: Update.
12402         * doc/posix-functions/snprintf.texi: Update.
12403         * doc/posix-functions/sprintf.texi: Update.
12404         * doc/posix-functions/vfprintf.texi: Update.
12405         * doc/posix-functions/vprintf.texi: Update.
12406         * doc/posix-functions/vsnprintf.texi: Update.
12407         * doc/posix-functions/vsprintf.texi: Update.
12408         * doc/glibc-functions/obstack_printf.texi: Update.
12409         * doc/glibc-functions/obstack_vprintf.texi: Update.
12410         Reported by Eric Blake.
12411
12412 2009-02-25  Bruno Haible  <bruno@clisp.org>
12413
12414         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
12415         with known value.
12416         Reported by Gary V. Vaughan <gary@gnu.org>.
12417
12418 2009-02-25  Bruno Haible  <bruno@clisp.org>
12419
12420         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
12421         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
12422         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
12423         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
12424         Reported by Gary V. Vaughan <gary@gnu.org>.
12425
12426 2009-02-25  Bruno Haible  <bruno@clisp.org>
12427
12428         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
12429         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
12430         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
12431         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
12432         Reported by Gary V. Vaughan <gary@gnu.org>.
12433
12434 2009-02-25  Eric Blake  <ebb9@byu.net>
12435
12436         tests: skip fseek/ftell tests if ungetc is broken
12437         * m4/ungetc.m4: New file.
12438         * modules/fseek-tests: Split test, so ungetc dependency is
12439         separate from rest of test.
12440         * modules/fseeko-tests: Likewise.
12441         * modules/ftell-tests: Likewise.
12442         * modules/ftello-tests: Likewise.
12443         * tests/test-fseek.c (main): Isolate ungetc dependency.
12444         * tests/test-fseeko.c (main): Likewise.
12445         * tests/test-ftell.c (main): Likewise.
12446         * tests/test-ftello.c (main): Likewise.
12447         * tests/test-fseek2.sh: New file.
12448         * tests/test-fseeko2.sh: Likewise.
12449         * tests/test-ftell2.sh: Likewise.
12450         * tests/test-ftello2.sh: Likewise.
12451
12452 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
12453
12454         test-getaddrinfo: fix usage of skip return code 77
12455         * tests/test-gettaddrinfo.c: Return skip code 77 only
12456         for first occurance of skip (4x77 is not 77)
12457
12458 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
12459
12460         strtod: avoid C99 decl-after-statement
12461         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
12462
12463 2009-02-24  Eric Blake  <ebb9@byu.net>
12464
12465         strtod: detect HP-UX 11.31 bug
12466         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
12467         Reported by Gary V. Vaughan.
12468
12469 2009-02-23  Bruno Haible  <bruno@clisp.org>
12470
12471         Fix invalid read past end of memory block.
12472         * lib/vasnprintf.c (DCHAR_SET): Define.
12473         (local_wcslen): Define only when needed.
12474         (local_strnlen, local_wcsnlen): New functions.
12475         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
12476         directives that involve a conversion ourselves.
12477         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
12478         wcsnlen, mbrtowc, wcrtomb.
12479         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
12480         * tests/test-vasprintf-posix.c (test_function): Likewise.
12481         * tests/test-snprintf-posix.h (test_function): Likewise.
12482         * tests/test-sprintf-posix.h (test_function): Likewise.
12483         Reported by Ben Pfaff <blp@cs.stanford.edu>.
12484
12485 2009-02-22  Bruno Haible  <bruno@clisp.org>
12486
12487         Implement new clarified decomposition of Hangul syllables.
12488         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
12489         of type LTV, return only a pairwise decomposition.
12490         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
12491         Likewise.
12492         * tests/uninorm/test-decomposition.c (main): Updated expected result.
12493         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
12494         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
12495
12496 2009-02-22  Bruno Haible  <bruno@clisp.org>
12497
12498         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
12499         zero-length results and shrink excess allocated memory.
12500         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
12501         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
12502         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
12503         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
12504         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
12505         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
12506         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
12507         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
12508         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
12509         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
12510         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
12511         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
12512
12513 2009-02-21  Bruno Haible  <bruno@clisp.org>
12514
12515         * doc/gnulib.texi: Include safe-alloc.texi earlier.
12516         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
12517         spaces after a period. Put a space between a macro name and its
12518         argument list. Trivial rewordings.
12519         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
12520         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
12521         (main): Return 0 explicitly.
12522
12523 2009-02-21  Bruno Haible  <bruno@clisp.org>
12524
12525         Tests for module 'uninorm/filter'.
12526         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
12527         * modules/uninorm/filter-tests: New file.
12528
12529         New module 'uninorm/filter'.
12530         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
12531         uninorm_filter_flush, uninorm_filter_free): New declarations.
12532         * lib/uninorm/uninorm-filter.c: New file.
12533         * modules/uninorm/filter: New file.
12534
12535 2009-02-21  Bruno Haible  <bruno@clisp.org>
12536
12537         Tests for module 'uninorm/nfkc'.
12538         * tests/uninorm/test-nfkc.c: New file.
12539         * tests/uninorm/test-u8-nfkc.c: New file.
12540         * tests/uninorm/test-u16-nfkc.c: New file.
12541         * tests/uninorm/test-u32-nfkc.c: New file.
12542         * tests/uninorm/test-u32-nfkc-big.sh: New file.
12543         * tests/uninorm/test-u32-nfkc-big.c: New file.
12544         * modules/uninorm/nfkc-tests: New file.
12545
12546         New module 'uninorm/nfkc'.
12547         * lib/uninorm/nfkc.c: New file.
12548         * modules/uninorm/nfkc: New file.
12549
12550         Tests for module 'uninorm/nfkd'.
12551         * tests/uninorm/test-nfkd.c: New file.
12552         * tests/uninorm/test-u8-nfkd.c: New file.
12553         * tests/uninorm/test-u16-nfkd.c: New file.
12554         * tests/uninorm/test-u32-nfkd.c: New file.
12555         * tests/uninorm/test-u32-nfkd-big.sh: New file.
12556         * tests/uninorm/test-u32-nfkd-big.c: New file.
12557         * modules/uninorm/nfkd-tests: New file.
12558
12559         New module 'uninorm/nfkd'.
12560         * lib/uninorm/nfkd.c: New file.
12561         * modules/uninorm/nfkd: New file.
12562
12563         Tests for module 'uninorm/nfc'.
12564         * tests/uninorm/test-nfc.c: New file.
12565         * tests/uninorm/test-u8-nfc.c: New file.
12566         * tests/uninorm/test-u16-nfc.c: New file.
12567         * tests/uninorm/test-u32-nfc.c: New file.
12568         * tests/uninorm/test-u32-nfc-big.sh: New file.
12569         * tests/uninorm/test-u32-nfc-big.c: New file.
12570         * modules/uninorm/nfc-tests: New file.
12571
12572         New module 'uninorm/nfc'.
12573         * lib/uninorm/nfc.c: New file.
12574         * modules/uninorm/nfc: New file.
12575
12576         Tests for module 'uninorm/nfd'.
12577         * tests/uninorm/test-nfd.c: New file.
12578         * tests/uninorm/test-u8-nfd.c: New file.
12579         * tests/uninorm/test-u16-nfd.c: New file.
12580         * tests/uninorm/test-u32-nfd.c: New file.
12581         * tests/uninorm/test-u32-nfd-big.sh: New file.
12582         * tests/uninorm/test-u32-nfd-big.c: New file.
12583         * tests/uninorm/test-u32-normalize-big.h: New file.
12584         * tests/uninorm/test-u32-normalize-big.c: New file.
12585         * tests/uninorm/NormalizationTest.txt: New file, created from
12586         Unicode 5.1.0 NormalizationTest.txt.
12587         * modules/uninorm/nfd-tests: New file.
12588
12589         New module 'uninorm/nfd'.
12590         * lib/uninorm/nfd.c: New file.
12591         * modules/uninorm/nfd: New file.
12592
12593         New module 'uninorm/u32-normalize'.
12594         * lib/uninorm/u32-normalize.c: New file.
12595         * modules/uninorm/u32-normalize: New file.
12596
12597         New module 'uninorm/u16-normalize'.
12598         * lib/uninorm/u16-normalize.c: New file.
12599         * modules/uninorm/u16-normalize: New file.
12600
12601         New module 'uninorm/u8-normalize'.
12602         * lib/uninorm/u8-normalize.c: New file.
12603         * lib/uninorm/normalize-internal.h: New file.
12604         * lib/uninorm/u-normalize-internal.h: New file.
12605         * modules/uninorm/u8-normalize: New file.
12606
12607         New module 'uninorm/decompose-internal'.
12608         * lib/uninorm/decompose-internal.c: New file.
12609         * modules/uninorm/decompose-internal: New file.
12610
12611         Tests for module 'uninorm/composition'.
12612         * tests/uninorm/test-composition.c: New file.
12613         * modules/uninorm/composition-tests: New file.
12614
12615         New module 'uninorm/composition'.
12616         * lib/uninorm/composition.c: New file.
12617         * lib/uninorm/composition-table.gperf: New file, generated by
12618         gen-uni-tables.
12619         * modules/uninorm/composition: New file.
12620
12621         Tests for module 'uninorm/compat-decomposition'.
12622         * tests/uninorm/test-compat-decomposition.c: New file.
12623         * modules/uninorm/compat-decomposition-tests: New file.
12624
12625         New module 'uninorm/compat-decomposition'.
12626         * lib/uninorm/decompose-internal.h: New file.
12627         * lib/uninorm/compat-decomposition.c: New file.
12628         * modules/uninorm/compat-decomposition: New file.
12629
12630         Tests for module 'uninorm/canonical-decomposition'.
12631         * tests/uninorm/test-canonical-decomposition.c: New file.
12632         * modules/uninorm/canonical-decomposition-tests: New file.
12633
12634         New module 'uninorm/canonical-decomposition'.
12635         * lib/uninorm/canonical-decomposition.c: New file.
12636         * modules/uninorm/canonical-decomposition: New file.
12637
12638         Tests for module 'uninorm/decomposition'.
12639         * tests/uninorm/test-decomposition.c: New file.
12640         * modules/uninorm/decomposition-tests: New file.
12641
12642         New module 'uninorm/decomposition'.
12643         * lib/uninorm/decomposition.c: New file.
12644         * modules/uninorm/decomposition: New file.
12645
12646         New module 'uninorm/decomposition-table'.
12647         * lib/uninorm/decomposition-table.h: New file.
12648         * lib/uninorm/decomposition-table.c: New file.
12649         * lib/uninorm/decomposition-table1.h: New file, generated by
12650         gen-uni-tables.
12651         * lib/uninorm/decomposition-table2.h: New file, generated by
12652         gen-uni-tables.
12653         * modules/uninorm/decomposition-table: New file.
12654
12655         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
12656         (UC_DECOMP_*): New enumeration items.
12657         (get_decomposition): New function.
12658         (struct decomp_table): New type.
12659         (output_decomposition, output_decomposition_tables): New functions.
12660         (unicode_composition_exclusions): New variable.
12661         (fill_composition_exclusions, debug_output_composition_tables): New
12662         functions.
12663         (main): Accept one more argument. Invoke fill_composition_exclusions.
12664         Output decomposition and composition tables.
12665
12666         New module 'uninorm/base'.
12667         * lib/uninorm.h: New file.
12668         * lib/unictype.h: Update comment.
12669         * modules/uninorm/base: New file.
12670
12671 2009-02-21  David Lutterkort  <lutter@redhat.com>
12672
12673         Tests for module 'safe-alloc'.
12674         * tests/test-safe-alloc.c: New file.
12675         * modules/safe-alloc-tests: New file.
12676
12677         New module 'safe-alloc'.
12678         * lib/safe-alloc.h: New file.
12679         * lib/safe-alloc.c: New file.
12680         * m4/safe-alloc.m4: New file.
12681         * modules/safe-alloc: New file.
12682         * doc/safe-alloc.texi: New file.
12683         * doc/gnulib.texi: Include it.
12684         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
12685         safe-alloc.
12686
12687 2009-02-18  Bruno Haible  <bruno@clisp.org>
12688
12689         Fix link error on non-glibc systems.
12690         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
12691         variable.
12692         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12693
12694 2009-02-18  Jim Meyering  <meyering@redhat.com>
12695
12696         fts: avoid used-uninitialized error due to recent change
12697         * lib/fts.c (fts_read): Guard uses of the new member,
12698         parent->fts_n_dirs_remaining, since it's not relevant for
12699         the parent of a directory specified on the command-line.
12700
12701 2009-02-17  James Youngman  <jay@gnu.org>
12702             Bruno Haible  <bruno@clisp.org>
12703
12704         * m4/include_next.m4: Reformulate comment.
12705
12706 2009-02-16  Jim Meyering  <meyering@redhat.com>
12707
12708         fts: add #if guards so that the fts_lgpl module still builds
12709         * lib/fts.c: Guard just-added hash-table-using parts with
12710         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
12711         Reported by Simon Josefsson.
12712
12713 2009-02-15  Bruno Haible  <bruno@clisp.org>
12714
12715         * modules/array-mergesort-tests: New file.
12716         * tests/test-array-mergesort.c: New file.
12717
12718         New module 'array-mergesort'.
12719         * modules/array-mergesort: New file.
12720         * lib/array-mergesort.h: New file.
12721
12722 2009-02-15  Bruno Haible  <bruno@clisp.org>
12723
12724         Fix 2009-02-07 commit.
12725         * lib/gen-uni-tables.c (output_predicate, output_category,
12726         output_combclass, output_bidi_category, output_decimal_digit,
12727         output_digit, output_numeric, output_mirror, output_scripts,
12728         output_ident_category, output_simple_mapping): Fix format directives.
12729         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
12730
12731 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
12732
12733         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
12734         fixes are available from IBM.
12735
12736 2009-02-13  Jim Meyering  <meyering@redhat.com>
12737
12738         fts: arrange not to stat non-directories in more cases
12739         This makes GNU find (when it doesn't need to stat each file)
12740         *much* more efficient at traversing reiserfs file systems.
12741         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
12742         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
12743         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
12744         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
12745         (leaf_optimization_applies): New function.
12746         (LCO_hash, LCO_compare): New helper functions.
12747         (link_count_optimize_ok): New function.
12748         (fts_stat): Initialize new member (if dir).
12749         (fts_read): Decrement parent's fts_n_dirs_remaining count if
12750         we've just stat'ed a directory.  Skip the stat call when possible.
12751         ---
12752         Note this AFS-related exchange:
12753         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
12754         and note find's pioctl call in find/fstype.c.
12755         But that is necessary only if you want to enable the
12756         optimization for AFS, and for now, I don't.
12757
12758         fts: move a function definition "up" (no semantic change)
12759         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
12760         "up" to precede upcoming use of a related function.
12761
12762 2009-02-11  Jim Meyering  <meyering@redhat.com>
12763
12764         fts: correct internal computation of nlinks (optimization-related)
12765         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
12766         whether the current entry is a directory, so don't test it.
12767
12768 2009-02-10  Bruno Haible  <bruno@clisp.org>
12769
12770         Tests for module 'uniwbrk/ulc-wordbreaks'.
12771         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
12772         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
12773         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
12774
12775         Tests for module 'uniwbrk/u32-wordbreaks'.
12776         * modules/uniwbrk/u32-wordbreaks-tests: New file.
12777         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
12778
12779         Tests for module 'uniwbrk/u16-wordbreaks'.
12780         * modules/uniwbrk/u16-wordbreaks-tests: New file.
12781         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
12782
12783         Tests for module 'uniwbrk/u8-wordbreaks'.
12784         * modules/uniwbrk/u8-wordbreaks-tests: New file.
12785         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
12786
12787 2009-02-10  Bruno Haible  <bruno@clisp.org>
12788
12789         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
12790         property.
12791         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
12792         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
12793         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
12794
12795 2009-02-10  Simon Josefsson  <simon@josefsson.org>
12796
12797         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
12798         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
12799
12800 2009-02-10  Bruno Haible  <bruno@clisp.org>
12801
12802         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
12803         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
12804         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
12805         * lib/unilbrk/u8-possible-linebreaks.c: Update.
12806         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
12807         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
12808
12809 2009-02-09  Simon Josefsson  <simon@josefsson.org>
12810
12811         * lib/sockets.h (gl_fd_to_handle): New function.
12812
12813         * tests/test-sockets.c: Call gl_fd_to_handle.
12814
12815 2009-02-09  Bruno Haible  <bruno@clisp.org>
12816
12817         * doc/havelib.texi: Document the conventions on bi-arch systems.
12818
12819 2009-02-08  Bruno Haible  <bruno@clisp.org>
12820
12821         Document the AC_LIB_LINKFLAGS macro.
12822         * doc/havelib.texi: New file, mostly written on 2005-05-24.
12823         * doc/gnulib.texi: Include it.
12824
12825 2009-02-08  Bruno Haible  <bruno@clisp.org>
12826
12827         Fix wrong order of sections, compared to TOC.
12828         * doc/gnulib.texi: Include relocatable-maint.texi after the
12829         "Regular expressions" node, not before.
12830
12831 2009-02-08  Bruno Haible  <bruno@clisp.org>
12832
12833         Tests for module 'unicase/totitle'.
12834         * modules/unicase/totitle-tests: New file.
12835
12836         Tests for module 'unicase/tolower'.
12837         * modules/unicase/tolower-tests: New file.
12838
12839         Tests for module 'unicase/toupper'.
12840         * modules/unicase/toupper-tests: New file.
12841         * tests/unicase/test-mapping-part1.h: New file.
12842         * tests/unicase/test-mapping-part2.h: New file.
12843
12844         New module 'unicase/totitle'.
12845         * modules/unicase/totitle: New file.
12846         * lib/unicase/totitle.c: New file.
12847
12848         New module 'unicase/tolower'.
12849         * modules/unicase/tolower: New file.
12850         * lib/unicase/tolower.c: New file.
12851
12852         New module 'unicase/toupper'.
12853         * modules/unicase/toupper: New file.
12854         * lib/unicase/toupper.c: New file.
12855         * lib/unicase/simple-mapping.h: New file.
12856
12857         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
12858         (mapping_table): New structure.
12859         (output_simple_mapping): New function.
12860         (main): Invoke output_simple_mapping_test and output_simple_mapping.
12861         * modules/gen-uni-tables (Description): Update.
12862         * lib/unicase/toupper.h: New file, automatically generated by
12863         gen-uni-tables.
12864         * lib/unicase/tolower.h: New file, automatically generated by
12865         gen-uni-tables.
12866         * lib/unicase/totitle.h: New file, automatically generated by
12867         gen-uni-tables.
12868         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
12869         gen-uni-tables.
12870         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
12871         gen-uni-tables.
12872         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
12873         gen-uni-tables.
12874
12875         New module 'unicase/base'.
12876         * modules/unicase/base: New file.
12877         * lib/unicase.h: New file.
12878
12879 2009-02-08  Bruno Haible  <bruno@clisp.org>
12880
12881         New module 'uniwbrk/ulc-wordbreaks'.
12882         * modules/uniwbrk/ulc-wordbreaks: New file.
12883         * lib/uniwbrk/ulc-wordbreaks.c: New file.
12884
12885         New module 'uniwbrk/u32-wordbreaks'.
12886         * modules/uniwbrk/u32-wordbreaks: New file.
12887         * lib/uniwbrk/u32-wordbreaks.c: New file.
12888
12889         New module 'uniwbrk/u16-wordbreaks'.
12890         * modules/uniwbrk/u16-wordbreaks: New file.
12891         * lib/uniwbrk/u16-wordbreaks.c: New file.
12892
12893         New module 'uniwbrk/u8-wordbreaks'.
12894         * modules/uniwbrk/u8-wordbreaks: New file.
12895         * lib/uniwbrk/u8-wordbreaks.c: New file.
12896         * lib/uniwbrk/u-wordbreaks.h: New file.
12897
12898         New module 'uniwbrk/table'.
12899         * modules/uniwbrk/table: New file.
12900         * lib/uniwbrk/wbrktable.h: New file.
12901         * lib/uniwbrk/wbrktable.c: New file.
12902
12903         New module 'uniwbrk/wordbreak-property'.
12904         * modules/uniwbrk/wordbreak-property: New file.
12905         * lib/uniwbrk/wordbreak-property.c: New file.
12906
12907         * lib/gen-uni-tables.c (WBP_*): New enum items.
12908         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
12909         (unicode_org_wbp): New variable.
12910         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
12911         New functions.
12912         (wbp_table): New structure.
12913         (output_wbp, output_wbrk_tables): New functions.
12914         (main): Accept additional argument. Invoke fill_org_wbp,
12915         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
12916         output_wbrk_tables.
12917         * modules/gen-uni-tables (Description): Update.
12918         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
12919         gen-uni-tables.
12920
12921         New module 'uniwbrk/base'.
12922         * modules/uniwbrk/base: New file.
12923         * lib/uniwbrk.h: New file.
12924
12925 2009-02-08  Bruno Haible  <bruno@clisp.org>
12926
12927         Update to Unicode 5.1.0.
12928         * lib/gen-uni-tables.c (is_property_alphabetic): Include
12929         U+2185..U+2188.
12930         (is_property_default_ignorable_code_point): Don't include characters
12931         of category Cc or Cs and not-a-characters.
12932         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
12933         U+0D79, U+109E, U+109F, U+A60C.
12934         * lib/unictype/bidi_of.h: Regenerated.
12935         * lib/unictype/blocks.h: Regenerated.
12936         * lib/unictype/categ_C.h: Regenerated.
12937         * lib/unictype/categ_Cf.h: Regenerated.
12938         * lib/unictype/categ_Cn.h: Regenerated.
12939         * lib/unictype/categ_L.h: Regenerated.
12940         * lib/unictype/categ_Ll.h: Regenerated.
12941         * lib/unictype/categ_Lm.h: Regenerated.
12942         * lib/unictype/categ_Lo.h: Regenerated.
12943         * lib/unictype/categ_Lu.h: Regenerated.
12944         * lib/unictype/categ_M.h: Regenerated.
12945         * lib/unictype/categ_Mc.h: Regenerated.
12946         * lib/unictype/categ_Me.h: Regenerated.
12947         * lib/unictype/categ_Mn.h: Regenerated.
12948         * lib/unictype/categ_N.h: Regenerated.
12949         * lib/unictype/categ_Nd.h: Regenerated.
12950         * lib/unictype/categ_Nl.h: Regenerated.
12951         * lib/unictype/categ_No.h: Regenerated.
12952         * lib/unictype/categ_P.h: Regenerated.
12953         * lib/unictype/categ_Pd.h: Regenerated.
12954         * lib/unictype/categ_Pe.h: Regenerated.
12955         * lib/unictype/categ_Pf.h: Regenerated.
12956         * lib/unictype/categ_Pi.h: Regenerated.
12957         * lib/unictype/categ_Po.h: Regenerated.
12958         * lib/unictype/categ_Ps.h: Regenerated.
12959         * lib/unictype/categ_S.h: Regenerated.
12960         * lib/unictype/categ_Sk.h: Regenerated.
12961         * lib/unictype/categ_Sm.h: Regenerated.
12962         * lib/unictype/categ_So.h: Regenerated.
12963         * lib/unictype/categ_of.h: Regenerated.
12964         * lib/unictype/combining.h: Regenerated.
12965         * lib/unictype/ctype_alnum.h: Regenerated.
12966         * lib/unictype/ctype_alpha.h: Regenerated.
12967         * lib/unictype/ctype_graph.h: Regenerated.
12968         * lib/unictype/ctype_lower.h: Regenerated.
12969         * lib/unictype/ctype_print.h: Regenerated.
12970         * lib/unictype/ctype_punct.h: Regenerated.
12971         * lib/unictype/ctype_upper.h: Regenerated.
12972         * lib/unictype/decdigit.h: Regenerated.
12973         * lib/unictype/digit.h: Regenerated.
12974         * lib/unictype/mirror.h: Regenerated.
12975         * lib/unictype/numeric.h: Regenerated.
12976         * lib/unictype/pr_alphabetic.h: Regenerated.
12977         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
12978         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
12979         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
12980         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
12981         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
12982         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
12983         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
12984         * lib/unictype/pr_combining.h: Regenerated.
12985         * lib/unictype/pr_dash.h: Regenerated.
12986         * lib/unictype/pr_decimal_digit.h: Regenerated.
12987         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
12988         * lib/unictype/pr_deprecated.h: Regenerated.
12989         * lib/unictype/pr_diacritic.h: Regenerated.
12990         * lib/unictype/pr_extender.h: Regenerated.
12991         * lib/unictype/pr_format_control.h: Regenerated.
12992         * lib/unictype/pr_grapheme_base.h: Regenerated.
12993         * lib/unictype/pr_grapheme_extend.h: Regenerated.
12994         * lib/unictype/pr_grapheme_link.h: Regenerated.
12995         * lib/unictype/pr_id_continue.h: Regenerated.
12996         * lib/unictype/pr_id_start.h: Regenerated.
12997         * lib/unictype/pr_ideographic.h: Regenerated.
12998         * lib/unictype/pr_ignorable_control.h: Regenerated.
12999         * lib/unictype/pr_lowercase.h: Regenerated.
13000         * lib/unictype/pr_math.h: Regenerated.
13001         * lib/unictype/pr_numeric.h: Regenerated.
13002         * lib/unictype/pr_other_alphabetic.h: Regenerated.
13003         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
13004         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
13005         * lib/unictype/pr_other_id_continue.h: Regenerated.
13006         * lib/unictype/pr_other_lowercase.h: Regenerated.
13007         * lib/unictype/pr_other_math.h: Regenerated.
13008         * lib/unictype/pr_punctuation.h: Regenerated.
13009         * lib/unictype/pr_sentence_terminal.h: Regenerated.
13010         * lib/unictype/pr_soft_dotted.h: Regenerated.
13011         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
13012         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
13013         * lib/unictype/pr_unified_ideograph.h: Regenerated.
13014         * lib/unictype/pr_uppercase.h: Regenerated.
13015         * lib/unictype/pr_xid_continue.h: Regenerated.
13016         * lib/unictype/pr_xid_start.h: Regenerated.
13017         * lib/unictype/pr_zero_width.h: Regenerated.
13018         * lib/unictype/scripts.h: Regenerated.
13019         * lib/unictype/scripts_byname.gperf: Regenerated.
13020         * lib/unictype/sy_java_ident.h: Regenerated.
13021         * lib/unilbrk/lbrkprop1.h: Regenerated.
13022         * lib/unilbrk/lbrkprop2.h: Regenerated.
13023         * tests/unictype/test-categ_C.c: Regenerated.
13024         * tests/unictype/test-categ_Cf.c: Regenerated.
13025         * tests/unictype/test-categ_Cn.c: Regenerated.
13026         * tests/unictype/test-categ_L.c: Regenerated.
13027         * tests/unictype/test-categ_Ll.c: Regenerated.
13028         * tests/unictype/test-categ_Lm.c: Regenerated.
13029         * tests/unictype/test-categ_Lo.c: Regenerated.
13030         * tests/unictype/test-categ_Lu.c: Regenerated.
13031         * tests/unictype/test-categ_M.c: Regenerated.
13032         * tests/unictype/test-categ_Mc.c: Regenerated.
13033         * tests/unictype/test-categ_Me.c: Regenerated.
13034         * tests/unictype/test-categ_Mn.c: Regenerated.
13035         * tests/unictype/test-categ_N.c: Regenerated.
13036         * tests/unictype/test-categ_Nd.c: Regenerated.
13037         * tests/unictype/test-categ_Nl.c: Regenerated.
13038         * tests/unictype/test-categ_No.c: Regenerated.
13039         * tests/unictype/test-categ_P.c: Regenerated.
13040         * tests/unictype/test-categ_Pd.c: Regenerated.
13041         * tests/unictype/test-categ_Pe.c: Regenerated.
13042         * tests/unictype/test-categ_Pf.c: Regenerated.
13043         * tests/unictype/test-categ_Pi.c: Regenerated.
13044         * tests/unictype/test-categ_Po.c: Regenerated.
13045         * tests/unictype/test-categ_Ps.c: Regenerated.
13046         * tests/unictype/test-categ_S.c: Regenerated.
13047         * tests/unictype/test-categ_Sk.c: Regenerated.
13048         * tests/unictype/test-categ_Sm.c: Regenerated.
13049         * tests/unictype/test-categ_So.c: Regenerated.
13050         * tests/unictype/test-ctype_alnum.c: Regenerated.
13051         * tests/unictype/test-ctype_alpha.c: Regenerated.
13052         * tests/unictype/test-ctype_graph.c: Regenerated.
13053         * tests/unictype/test-ctype_lower.c: Regenerated.
13054         * tests/unictype/test-ctype_print.c: Regenerated.
13055         * tests/unictype/test-ctype_punct.c: Regenerated.
13056         * tests/unictype/test-ctype_upper.c: Regenerated.
13057         * tests/unictype/test-decdigit.h: Regenerated.
13058         * tests/unictype/test-digit.h: Regenerated.
13059         * tests/unictype/test-numeric.h: Regenerated.
13060         * tests/unictype/test-pr_alphabetic.c: Regenerated.
13061         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
13062         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
13063         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
13064         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
13065         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
13066         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
13067         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
13068         * tests/unictype/test-pr_combining.c: Regenerated.
13069         * tests/unictype/test-pr_dash.c: Regenerated.
13070         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
13071         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
13072         * tests/unictype/test-pr_deprecated.c: Regenerated.
13073         * tests/unictype/test-pr_diacritic.c: Regenerated.
13074         * tests/unictype/test-pr_extender.c: Regenerated.
13075         * tests/unictype/test-pr_format_control.c: Regenerated.
13076         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
13077         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
13078         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
13079         * tests/unictype/test-pr_id_continue.c: Regenerated.
13080         * tests/unictype/test-pr_id_start.c: Regenerated.
13081         * tests/unictype/test-pr_ideographic.c: Regenerated.
13082         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
13083         * tests/unictype/test-pr_lowercase.c: Regenerated.
13084         * tests/unictype/test-pr_math.c: Regenerated.
13085         * tests/unictype/test-pr_numeric.c: Regenerated.
13086         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
13087         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
13088         Regenerated.
13089         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
13090         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
13091         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
13092         * tests/unictype/test-pr_other_math.c: Regenerated.
13093         * tests/unictype/test-pr_punctuation.c: Regenerated.
13094         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
13095         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
13096         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
13097         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
13098         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
13099         * tests/unictype/test-pr_uppercase.c: Regenerated.
13100         * tests/unictype/test-pr_xid_continue.c: Regenerated.
13101         * tests/unictype/test-pr_xid_start.c: Regenerated.
13102         * tests/unictype/test-pr_zero_width.c: Regenerated.
13103
13104         Update to Unicode 5.1.0.
13105         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
13106         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
13107         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
13108         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
13109         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
13110         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
13111         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
13112         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
13113         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
13114         (nonspacing_table_ind): Update.
13115         * tests/uniwidth/test-uc_width2.sh: Update expected result.
13116
13117         Update to Unicode 5.1.0.
13118         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
13119         code transform.
13120         * lib/uniname/uniname.c (unicode_character_name,
13121         unicode_name_character): Add the range 0x1Fxxx to the code transform.
13122         * lib/uniname/uninames.h: Regenerated.
13123         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
13124
13125 2009-02-07  Bruno Haible  <bruno@clisp.org>
13126
13127         Merge gen-ctype and gen-lbrk into a single program.
13128         * lib/gen-uni-tables.c: New file, incorporating
13129         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
13130         Add directory prefixes to the names of the generated files.
13131         * lib/unictype/gen-ctype.c: Remove file.
13132         * lib/unilbrk/gen-lbrk.c: Remove file.
13133         * modules/gen-uni-tables: New file.
13134         * modules/unictype/gen-ctype: Remove file.
13135         * modules/unilbrk/gen-lbrk: Remove file.
13136
13137 2009-02-07  Bruno Haible  <bruno@clisp.org>
13138
13139         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
13140
13141         New module 'unistr/u32-strcoll'.
13142         * modules/unistr/u32-strcoll: New file.
13143         * lib/unistr/u32-strcoll.c: New file.
13144
13145         New module 'unistr/u16-strcoll'.
13146         * modules/unistr/u16-strcoll: New file.
13147         * lib/unistr/u16-strcoll.c: New file.
13148
13149         New module 'unistr/u8-strcoll'.
13150         * modules/unistr/u8-strcoll: New file.
13151         * lib/unistr/u8-strcoll.c: New file.
13152         * lib/unistr/u-strcoll.h: New file.
13153
13154 2009-02-07  Bruno Haible  <bruno@clisp.org>
13155
13156         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
13157         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
13158         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
13159         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
13160         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
13161         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
13162
13163 2009-02-07  Bruno Haible  <bruno@clisp.org>
13164
13165         Make 64-bit clean.
13166         * lib/unictype/gen-ctype.c (output_predicate, output_category,
13167         output_combclass, output_bidi_category, output_decimal_digit,
13168         output_digit, output_numeric, output_mirror, output_scripts,
13169         output_ident_category): Use proper width specifier in format strings.
13170
13171 2009-02-07  Bruno Haible  <bruno@clisp.org>
13172
13173         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
13174         failure behaviour.
13175
13176 2009-02-07  Jim Meyering  <meyering@redhat.com>
13177
13178         regex: avoid compilation failure with upcoming gcc-4.4
13179         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
13180         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
13181         "... error: integer overflow in preprocessor expression".
13182
13183 2009-02-05  Ben Pfaff  <blp@gnu.org>
13184
13185         Fix link errors on Windows when close module is used.
13186         * modules/close: Add $(LIB_CLOSE) to Link section.
13187         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
13188         $(LIB_CLOSE) on Windows.
13189
13190 2009-02-05  Jim Meyering  <meyering@redhat.com>
13191
13192         still avoid unused-parameter warnings, but do it cleanly
13193         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
13194         (get_fs_usage): Cast to void instead.
13195         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
13196         (dev_from_mount_options, read_file_system_list): Cast to void.
13197         Prompted by Bruno Haible.
13198
13199 2009-02-04  Jim Meyering  <meyering@redhat.com>
13200
13201         fsusage.c: correct copyright year
13202         * lib/fsusage.c: Reflect year in which the change is pushed into
13203
13204         avoid misc. warnings
13205         * lib/fsusage.c (UNUSED_PARAM): Define.
13206         (get_fs_usage): Mark parameter "disk" as unused.
13207         * lib/getugroups.c (getgrent): Use "void" in prototype.
13208         * lib/mountlist.c: Mark unused parameters.
13209         (read_file_system_list): Declare a local with "const".
13210         * lib/nanosleep.c (getnow): Declare static.
13211         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
13212
13213         dirfd: set errno upon failure
13214         * lib/dirfd.c: Include <errno.h>.
13215         Set errno to ENOTSUP when returning -1.
13216         * modules/dirfd (Depends-on): Add errno.
13217         Suggested by John Kodis <kodis@comcast.net>.
13218
13219 2009-02-01  Bruno Haible  <bruno@clisp.org>
13220
13221         Don't assume sizeof (long) >= sizeof (void *).
13222         * lib/memcmp.c: Include stdint.h.
13223         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
13224         srcp2 to 'const byte *'.
13225         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
13226         types to uintptr_t.
13227         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
13228         * modules/memcmp (Depends-on): Add stdint.
13229         Reported by Ozkan Sezer <sezeroz@gmail.com>.
13230
13231 2009-01-30  Eric Blake  <ebb9@byu.net>
13232
13233         fix more require-before-expand issues
13234         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
13235         expand, AC_PROG_AWK.
13236         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
13237
13238 2009-01-28  Eric Blake  <ebb9@byu.net>
13239
13240         version-etc: use consistent URL formatting
13241         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
13242         Improve formatting.  Use fputs for string without %.
13243
13244 2009-01-28  Jim Meyering  <meyering@redhat.com>
13245
13246         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
13247         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
13248         "underquoted definition of NAME" from autoconf-2.59.
13249
13250 2009-01-28  Bruno Haible  <bruno@clisp.org>
13251
13252         * doc/gnulib.texi: Add "Obsolete modules" to index.
13253
13254 2009-01-28  Jim Meyering  <meyering@redhat.com>
13255
13256         useless-if-before-free: recognize more variants
13257         * build-aux/useless-if-before-free: Also recognize e.g.,
13258         if (NULL != p) free (p);
13259
13260 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
13261
13262         test-getaddrinfo: skip (don't fail) this test when there's no network
13263         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
13264         on the presumption that it means you lack network access.
13265
13266 2009-01-26  Jim Meyering  <meyering@redhat.com>
13267
13268         fflush: avoid warnings on modern systems
13269         * lib/fflush.c (rpl_fflush): Move declarations of locals,
13270         pos and result, into scopes where they're used.
13271
13272 2009-01-26  Eric Blake  <ebb9@byu.net>
13273
13274         Silence warning reintroduced by recent extensions patch.
13275         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
13276         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
13277         autoconf.
13278
13279         Backport improved autoconf semantics of AC_DEFUN_ONCE.
13280         * m4/00gnulib.m4: New file.
13281         * gnulib-tool (func_get_filelist): Always use it.
13282         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
13283         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
13284
13285 2009-01-25  Bruno Haible  <bruno@clisp.org>
13286
13287         Make test-quotearg work on MacOS X and AIX.
13288         * tests/test-quotearg.sh: New file.
13289         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
13290         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
13291         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
13292         include <libintl.h>.
13293         (fake_locale): Remove variable.
13294         (gettext, dgettext, dcgettext): Remove functions.
13295         (main): Instead of setting a fake locale, set a real locale. Call
13296         textdomain and bindtextdomain.
13297         * modules/quotearg-tests (Files): Add the new files.
13298         (Depends-on): Add gettext, setenv, unsetenv.
13299         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
13300         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
13301         Augment TESTS_ENVIRONMENT.
13302
13303 2009-01-25  Bruno Haible  <bruno@clisp.org>
13304
13305         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
13306         fr_FR.ISO8859-1 locale on MacOS X.
13307         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
13308         ja_JP.eucJP locale on MacOS X.
13309         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
13310         zh_CN.GB18030 locale on MacOS X.
13311
13312 2009-01-25  Bruno Haible  <bruno@clisp.org>
13313
13314         Avoid link errors on MacOS X 10.3.
13315         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
13316         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
13317
13318 2009-01-25  Bruno Haible  <bruno@clisp.org>
13319
13320         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
13321         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
13322         * modules/pipe (Files): Remove m4/posix_spawn.m4.
13323         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
13324         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
13325         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
13326         posix_spawnattr_init, posix_spawnattr_setsigmask,
13327         posix_spawnattr_setflags, posix_spawnattr_destroy.
13328
13329         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
13330         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
13331         * modules/execute (Files): Remove m4/posix_spawn.m4.
13332         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
13333         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
13334         posix_spawnattr_init, posix_spawnattr_setsigmask,
13335         posix_spawnattr_setflags, posix_spawnattr_destroy.
13336
13337 2009-01-25  Bruno Haible  <bruno@clisp.org>
13338
13339         * lib/glthread/threadlib.c: Include <stdlib.h>.
13340
13341 2009-01-25  Bruno Haible  <bruno@clisp.org>
13342
13343         * lib/glthread/threadlib.c (dummy): New declaration.
13344
13345 2009-01-25  Bruno Haible  <bruno@clisp.org>
13346
13347         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
13348         multibyte characters also for the GB18030 encoding. Don't crash when
13349         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
13350
13351 2009-01-25  Bruno Haible  <bruno@clisp.org>
13352
13353         Avoid redefining 'struct random_data' on OSF/1 5.1.
13354         * lib/stdlib.in.h: Include <random.h> if it exists.
13355         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
13356         HAVE_RANDOM_H. Include <random.h> when testing whether
13357         'struct random_data' exists.
13358         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
13359
13360 2009-01-25  Bruno Haible  <bruno@clisp.org>
13361
13362         Don't install charset.alias on MacOS X >= 10.3.
13363         * lib/localcharset.c (DARWIN7): New macro.
13364         (get_charset_aliases): Hardcode the result for Darwin7.
13365         * modules/localcharset (install-exec-local): Don't install
13366         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
13367
13368 2009-01-25  Bruno Haible  <bruno@clisp.org>
13369
13370         Don't install charset.alias on mingw and Cygwin.
13371         * modules/localcharset (install-exec-local): Don't install
13372         charset.alias on mingw and Cygwin, if the file does not yet exist.
13373         The result for these platforms is hardcoded in localcharset.c.
13374
13375 2009-01-25  Bruno Haible  <bruno@clisp.org>
13376
13377         Make it possible again to use AC_GNU_SOURCE together with gnulib.
13378         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
13379         before requiring AC_USE_SYSTEM_EXTENSIONS.
13380
13381 2009-01-25  Jim Meyering  <meyering@redhat.com>
13382
13383         c-strtod: avoid warnings
13384         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
13385         "assignment discards qualifiers from pointer target type" warnings.
13386
13387 2009-01-24  Bruno Haible  <bruno@clisp.org>
13388
13389         Add support for non-UTF-8 locales on MacOS X.
13390         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
13391         canonical encodings. For Darwin 7 and newer, don't map traditional
13392         encodings to UTF-8.
13393         Reported by Vincent Lefevre <vincent@vinc17.org>
13394         at <http://savannah.gnu.org/bugs/?25235>.
13395
13396 2009-01-24  Bruno Haible  <bruno@clisp.org>
13397
13398         * doc/gnulib.texi (Obsolete modules): New section.
13399         Reported by Mike Frysinger <vapier@gentoo.org>.
13400
13401 2009-01-24  Bruno Haible  <bruno@clisp.org>
13402
13403         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
13404         (%.dvi): New rule.
13405
13406 2009-01-24  Bruno Haible  <bruno@clisp.org>
13407
13408         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
13409         Reported by Eric Blake.
13410
13411 2009-01-24  Bruno Haible  <bruno@clisp.org>
13412
13413         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
13414         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
13415         Reported by Gary V. Vaughan <gary@gnu.org>.
13416
13417 2009-01-24  Bruno Haible  <bruno@clisp.org>
13418
13419         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
13420
13421 2009-01-23  Bruno Haible  <bruno@clisp.org>
13422
13423         Make c-strtod, c-strtold usable in libraries.
13424         * lib/c-strtod.c: Include string.h instead of xalloc.h.
13425         (C_STRTOD): Call strdup instead of xstrdup.
13426         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
13427         * modules/c-strtold (Depends-on): Likewise.
13428         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
13429         * NEWS: Mention the change.
13430         Reported by Michael Gold <mgold@ncf.ca>.
13431
13432 2009-01-23  Jim Meyering  <meyering@redhat.com>
13433
13434         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
13435         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
13436         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
13437
13438 2009-01-23  Simon Josefsson  <simon@josefsson.org>
13439
13440         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
13441         GNU CoreUtils.
13442         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
13443         * modules/version-etc (Description): Update.
13444
13445 2009-01-22  Bruno Haible  <bruno@clisp.org>
13446
13447         Cache the C locale object.
13448         * lib/c-strtod.c (c_locale_cache): New variable.
13449         (c_locale): New function.
13450         (C_STRTOD): Use it, and don't call freelocale.
13451         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
13452         Suggested by Paolo Bonzini.
13453
13454 2009-01-21  Bruno Haible  <bruno@clisp.org>
13455
13456         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
13457         conditions other than overflow.
13458
13459 2009-01-21  Bruno Haible  <bruno@clisp.org>
13460
13461         * lib/c-strtod.c: Include errno.h.
13462         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
13463         value from STRTOD_L and STRTOD.
13464
13465 2009-01-21  Bruno Haible  <bruno@clisp.org>
13466         and Jim Meyering  <meyering@redhat.com>
13467
13468         nanosleep: skip configure test (fail it) for apple universal builds
13469         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
13470         universal builds, assume that nanosleep does not work.
13471         * modules/nanosleep (Depends-on): Add multiarch.
13472
13473         mktime: skip configure test (fail it) for apple universal builds
13474         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
13475         universal builds, assume that mktime does not work.
13476         * modules/mktime (Depends-on): Add multiarch.
13477
13478 2009-01-21  Eric Blake  <ebb9@byu.net>
13479
13480         multiarch: avoid expand-before-require warning
13481         * modules/multiarch (configure.ac): Require, rather than expand,
13482         gl_MULTIARCH.
13483         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
13484         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
13485         enforce that all clients require it.  Partial reversion of
13486         2008-12-29 patch.
13487
13488         error: avoid expand-before-require warning
13489         * modules/errno (configure.ac): Require, rather than expand,
13490         gl_HEADER_ERRNO_H.
13491         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
13492         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
13493         enforce that all clients require it.
13494
13495         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
13496         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
13497         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
13498         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
13499
13500 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
13501
13502         Revert:
13503         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
13504
13505         regex: do not depend on obsolete modules.
13506         * modules/regex: Remove memcmp and memmove.
13507
13508 2009-01-20  Bruno Haible  <bruno@clisp.org>
13509
13510         Make the 'link' module link on Windows NT 4.
13511         * lib/link.c (_WIN32_WINNT): Don't define.
13512         (CreateHardLinkFuncType): New type.
13513         (CreateHardLinkFunc, initialized): New variables.
13514         (initialize): New function.
13515         (link): Invoke CreateHardLink indirectly through the function pointer.
13516
13517 2009-01-20  Bruno Haible  <bruno@clisp.org>
13518
13519         Fix compilation failure on mingw.
13520         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
13521
13522 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
13523
13524         * doc/c-strtod.texi: Mention a couple of restrictions.
13525
13526 2009-01-20  Jim Meyering  <meyering@redhat.com>
13527
13528         gettimeofday: move more declarations out of functions
13529         * lib/gettimeofday.c: Move extern declarations of tzset and
13530         gmtime out of containing functions.  Prompted by Bruno Haible.
13531
13532 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
13533
13534         regex: do not depend on obsolete modules.
13535         * modules/regex: Remove memcmp and memmove.
13536
13537 2009-01-19  Bruno Haible  <bruno@clisp.org>
13538
13539         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
13540         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
13541         gl_BIGENDIAN, not AC_C_BIGENDIAN.
13542         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
13543         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
13544
13545 2009-01-19  Bruno Haible  <bruno@clisp.org>
13546
13547         * tests/test-link.c: Include <errno.h>.
13548         (main): Exit with code 77 when a hard link cannot be created due to
13549         the file system.
13550         * tests/test-link.sh: Skip test when a hard link cannot be created due
13551         to the file system.
13552         Suggested by Eric Blake.
13553
13554 2009-01-19  Martin Lambers  <marlam@marlam.de>
13555
13556         * modules/link-tests: New file.
13557         * tests/test-link.sh: New file.
13558         * tests/test-link.c: New file.
13559
13560 2009-01-19  Eric Blake  <ebb9@byu.net>
13561
13562         doc: mention another function added in cygwin 1.7.0
13563         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
13564         Another new function in cygwin 1.7.
13565
13566 2009-01-19  Bruno Haible  <bruno@clisp.org>
13567
13568         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
13569         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
13570         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
13571         gl_BIGENDIAN, not AC_C_BIGENDIAN.
13572         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
13573         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
13574         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
13575         * m4/md4.m4 (gl_MD4): Likewise.
13576         * m4/md5.m4 (gl_MD5): Likewise.
13577         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
13578         * m4/sha1.m4 (gl_SHA1): Likewise.
13579         * m4/sha256.m4 (gl_SHA256): Likewise.
13580         * m4/sha512.m4 (gl_SHA512): Likewise.
13581
13582 2009-01-19  Bruno Haible  <bruno@clisp.org>
13583
13584         * modules/uniname/uniname-tests (Depends-on): Add progname.
13585         * tests/uniname/test-uninames.c: Include progname.h.
13586         (main): Call set_program_name.
13587
13588         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
13589         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
13590         (main): Call set_program_name.
13591
13592         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
13593         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
13594         (main): Call set_program_name.
13595
13596         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
13597         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
13598         (main): Call set_program_name.
13599
13600         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
13601         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
13602         (main): Call set_program_name.
13603
13604         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
13605         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
13606         (main): Call set_program_name.
13607
13608         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
13609         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
13610         (main): Call set_program_name.
13611
13612         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
13613         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
13614         (main): Call set_program_name.
13615
13616         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
13617         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
13618         (main): Call set_program_name.
13619
13620 2009-01-19  Eric Blake  <ebb9@byu.net>
13621
13622         test-unistd: test previous patch
13623         * tests/test-unistd.c: Test *_FILENO macros.
13624
13625         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
13626         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
13627         Guarantee a definition.
13628         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
13629         * modules/unistd-safer (Depends-on): Add dependency on unistd.
13630         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
13631         * lib/dup-safer.c (STDERR_FILENO): Likewise.
13632         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
13633         Likewise.
13634         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
13635         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
13636         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
13637         Likewise.
13638         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
13639         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
13640         (STDERR_FILENO): Likewise.
13641         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
13642         (STDERR_FILENO): Likewise.
13643         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
13644         (STDERR_FILENO): Likewise.
13645         Reported by Elbert Pol.
13646
13647 2009-01-19  Eric Blake  <ebb9@byu.net>
13648
13649         doc: mention more functions added in cygwin 1.7.0
13650         * doc/posix-functions/abort.texi (abort): Update wording related
13651         to cygwin.
13652         * doc/posix-functions/daylight.texi (daylight): Likewise.
13653         * doc/posix-functions/optarg.texi (optarg): Likewise.
13654         * doc/posix-functions/optarg.texi (opterr): Likewise.
13655         * doc/posix-functions/optarg.texi (optind): Likewise.
13656         * doc/posix-functions/optarg.texi (optopt): Likewise.
13657         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
13658         worked in 1.5.x, and was withdrawn in 1.7.
13659         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
13660         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
13661         cygwin versions.
13662         * doc/posix-functions/perror.texi (perror): Likewise.
13663         * doc/posix-functions/printf.texi (printf): Likewise.
13664         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
13665         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
13666         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
13667         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
13668         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
13669         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
13670         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
13671         Likewise.
13672         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
13673         Likewise.
13674         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
13675         this function.
13676         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
13677         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
13678         Likewise.
13679         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
13680         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
13681         * doc/posix-functions/confstr.texi (confstr): Likewise.
13682         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
13683         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
13684         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
13685         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
13686         * doc/posix-functions/fputws.texi (fputws): Likewise.
13687         * doc/posix-functions/fwide.texi (fwide): Likewise.
13688         * doc/posix-functions/getwc.texi (getwc): Likewise.
13689         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
13690         * doc/posix-functions/putwc.texi (putwc): Likewise.
13691         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
13692         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
13693         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
13694         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
13695         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
13696         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
13697         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
13698         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
13699         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
13700         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
13701         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
13702
13703 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
13704
13705         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
13706         * lib/ioctl.c: Include <sys/ioctl.h>.
13707
13708 2009-01-19  Simon Josefsson  <simon@josefsson.org>
13709
13710         * modules/getdate-tests (Depends-on): Add progname.
13711         * tests/test-getdate.c: Use progname module, to avoid link errors
13712         on non-glibc systems.
13713
13714 2009-01-18  Simon Josefsson  <simon@josefsson.org>
13715
13716         * modules/filenamecat-tests (Depends-on): Add progname.
13717         * modules/fstrcmp-tests (Depends-on): Likewise.
13718
13719         * tests/test-filenamecat.c: Use progname module, to avoid link
13720         errors on non-glibc systems.
13721         * tests/test-fstrcmp.c: Likewise.
13722
13723 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
13724
13725         gettimeofday: avoid warning: nested extern declaration of 'localtime'
13726         * lib/gettimeofday.c: Move extern declaration out of function.
13727
13728 2009-01-18  Bruno Haible  <bruno@clisp.org>
13729
13730         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
13731         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
13732         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
13733
13734 2009-01-18  Bruno Haible  <bruno@clisp.org>
13735
13736         * lib/strftime.c (MEMPCPY): Remove unused macro.
13737         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
13738
13739 2009-01-18  Martin Lambers  <marlam@marlam.de>
13740
13741         New module 'link'.
13742         * lib/unistd.in.h (link): New declaration.
13743         * lib/link.c: New file.
13744         * m4/link.m4: New file.
13745         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
13746         HAVE_LINK.
13747         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
13748         * modules/link: New file.
13749         * doc/posix-functions/link.texi: Mention the new module.
13750
13751 2009-01-18  Bruno Haible  <bruno@clisp.org>
13752
13753         * tests/test-avltree_list.c (main): Call set_program_name.
13754         * tests/test-avltree_oset.c (main): Likewise.
13755         * tests/test-obstack-printf.c: Include progname.h.
13756         (main): Call set_program_name.
13757         * tests/test-quotearg.c: Include progname.h.
13758         (main): Call set_program_name.
13759         * tests/test-xmemdup0.c: Include progname.h.
13760         (main): Call set_program_name.
13761
13762 2009-01-18  Bruno Haible  <bruno@clisp.org>
13763
13764         New module 'alphasort'.
13765         * lib/dirent.in.h (alphasort): New declaration.
13766         * lib/alphasort.c: New file, from glibc with modifications.
13767         * m4/alphasort.m4: New file.
13768         * modules/alphasort: New file.
13769         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
13770         HAVE_ALPHASORT.
13771         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
13772         HAVE_ALPHASORT.
13773         * doc/posix-functions/alphasort.texi: Mention the new module and the
13774         portability problems.
13775
13776 2009-01-18  Bruno Haible  <bruno@clisp.org>
13777
13778         New module 'scandir'.
13779         * lib/dirent.in.h (scandir): New declaration.
13780         * lib/scandir.c: New file, from glibc with modifications.
13781         * m4/scandir.m4: New file.
13782         * modules/scandir: New file.
13783         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
13784         HAVE_SCANDIR.
13785         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
13786         HAVE_SCANDIR.
13787         * doc/posix-functions/scandir.texi: Mention the new module and the
13788         portability problems.
13789
13790 2009-01-17  Bruno Haible  <bruno@clisp.org>
13791
13792         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
13793         Update documentation.
13794         (func_remove_suffix): Escape all dots in the suffix. Update
13795         documentation.
13796         (func_filter_filelist): Update documentation.
13797         Reported by Ralf Wildenhues.
13798
13799 2009-01-17  Bruno Haible  <bruno@clisp.org>
13800
13801         * modules/dprintf-posix-tests: New file.
13802         * tests/test-dprintf-posix.sh: New file.
13803         * tests/test-dprintf-posix.c: New file.
13804
13805         New modules 'dprintf', 'dprintf-posix'.
13806         * lib/stdio.in.h (dprintf): New declaration.
13807         * lib/dprintf.c: New file.
13808         * m4/dprintf.m4: New file.
13809         * m4/dprintf-posix.m4: New file.
13810         * modules/dprintf: New file.
13811         * modules/dprintf-posix: New file.
13812         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
13813         HAVE_DPRINTF, REPLACE_DPRINTF.
13814         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
13815         HAVE_DPRINTF, REPLACE_DPRINTF.
13816         * doc/posix-functions/dprintf.texi: Mention the new modules.
13817
13818 2009-01-17  Bruno Haible  <bruno@clisp.org>
13819
13820         * modules/vdprintf-posix-tests: New file.
13821         * tests/test-vdprintf-posix.sh: New file.
13822         * tests/test-vdprintf-posix.c: New file.
13823
13824         New modules 'vdprintf', 'vdprintf-posix'.
13825         * lib/stdio.in.h (vdprintf): New declaration.
13826         * lib/vdprintf.c: New file.
13827         * m4/vdprintf.m4: New file.
13828         * m4/vdprintf-posix.m4: New file.
13829         * modules/vdprintf: New file.
13830         * modules/vdprintf-posix: New file.
13831         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
13832         HAVE_VDPRINTF, REPLACE_VDPRINTF.
13833         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
13834         HAVE_VDPRINTF, REPLACE_VDPRINTF.
13835         * doc/posix-functions/vdprintf.texi: Mention the new modules.
13836
13837 2009-01-17  Bruno Haible  <bruno@clisp.org>
13838
13839         Fix replacement of fopen on mingw.
13840         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
13841         mingw.
13842
13843 2009-01-17  Bruno Haible  <bruno@clisp.org>
13844
13845         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
13846         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
13847
13848 2009-01-17  Bruno Haible  <bruno@clisp.org>
13849
13850         Avoid test-fflush2.sh failure on mingw.
13851         * tests/test-fflush2.c: Include binary-io.h.
13852         (main): Put standard input into binary mode.
13853         * modules/fflush-tests (Depends-on): Add binary-io.
13854
13855 2009-01-17  Bruno Haible  <bruno@clisp.org>
13856
13857         * lib/wchar.in.h: In another particular situation, include only the
13858         system's <wchar.h> file.
13859         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
13860         Reported by Albert Chin-A-Young <china@thewrittenword.com>
13861         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
13862
13863 2009-01-17  Bruno Haible  <bruno@clisp.org>
13864
13865         Support for stripping executables in --enable-relocatable.
13866         * build-aux/install-reloc: Expect one more argument, or an environment
13867         variable RELOC_STRIP_PROG. If set, strip the destination program and
13868         its wrapper.
13869         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
13870         RELOC_STRIP_PROG.
13871         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
13872         to set RELOCATABLE_STRIP.
13873         * NEWS: Mention the new Makefile requirement.
13874
13875 2009-01-17  Bruno Haible  <bruno@clisp.org>
13876
13877         * build-aux/install-reloc: Remove debugging information left over by
13878         C compiler on MacOS X.
13879
13880 2009-01-17  Bruno Haible  <bruno@clisp.org>
13881
13882         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
13883         * lib/progreloc.c (find_executable): Fix type of pointer passed to
13884         _NSGetExecutablePath.
13885
13886 2009-01-16  Jim Meyering  <meyering@redhat.com>
13887
13888         strerror: avoid warnings about discarding "const"
13889         * lib/strerror.c (rpl_strerror): Instead of returning a const
13890         string from each and every "case", use a variable, and add a single
13891         cast after the switch.
13892
13893 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
13894
13895         * lib/arpa_inet.in.h: Add extern "C" block for C++.
13896
13897 2009-01-16  Bruno Haible  <bruno@clisp.org>
13898
13899         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
13900         array initializer syntax that also works in C++ mode.
13901         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
13902
13903 2009-01-16  Jim Meyering  <meyering@redhat.com>
13904
13905         poll: suppress a warning
13906         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
13907         to ignore "...unsigned expression < 0 is always false" warnings.
13908
13909 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
13910
13911         poll: remove declarations of unused variables
13912         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
13913         sockbuf and optlen.
13914
13915 2009-01-15  Bruno Haible  <bruno@clisp.org>
13916
13917         Make fflush-after-ungetc POSIX compliant on BSD systems.
13918         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
13919         (clear_ungetc_buffer): Implement also for other systems.
13920         (rpl_fflush): On glibc systems, invoke
13921         clear_ungetc_buffer_preserving_position. Otherwise, invoke
13922         clear_ungetc_buffer after fetching the stream's position, not before.
13923
13924 2009-01-15  Bruno Haible  <bruno@clisp.org>
13925
13926         Make fflush-after-ungetc POSIX compliant on glibc systems.
13927         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
13928         after ungetc.
13929         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
13930         (rpl_fflush): On glibc systems, simply call the system's fflush
13931         function after clearing the ungetc buffer.
13932         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
13933         Instead, lseek only to the end of file, then use the system's fseeko
13934         for the rest. On glibc systems, reset the EOF indicator bit.
13935
13936 2009-01-15  Jim Meyering  <meyering@redhat.com>
13937
13938         openmp.m4: revert quote-adding change, for portability to older autoconf
13939         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
13940         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
13941         Simon Josefsson noticed the problem when using autoconf-2.61.
13942
13943 2009-01-15  Bruno Haible  <bruno@clisp.org>
13944
13945         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
13946         * tests/test-fflush2.c (ASSERT): Always fail.
13947         (main): Add two tests for fflush() after ungetc(), taking into account
13948         the Austin Group's clarification.
13949         Suggested by Eric Blake.
13950
13951 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
13952
13953         mktime.m4: remove K&R-style function prototypes
13954         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
13955         for the Sun C++ compiler.
13956
13957 2009-01-14  Bruno Haible  <bruno@clisp.org>
13958
13959         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
13960         while including <wchar.h>.
13961         * lib/wchar.in.h: In two particular situations on HP-UX, include only
13962         the system's <wchar.h> file.
13963         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
13964
13965 2009-01-14  Bruno Haible  <bruno@clisp.org>
13966
13967         * m4/csharp.m4: Don't mention gettext on the serial number line.
13968         * m4/csharpexec.m4: Likewise.
13969         * m4/eaccess.m4: Likewise.
13970         * m4/javaexec.m4: Likewise.
13971         * m4/sig_atomic_t.m4: Likewise.
13972         * m4/tmpdir.m4: Likewise.
13973         * m4/intldir.m4: Bump gettext version.
13974         * m4/lib-ld.m4: Likewise.
13975
13976 2009-01-14  Bruno Haible  <bruno@clisp.org>
13977
13978         * lib/progname.c (set_program_name): Add more comments.
13979         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
13980
13981 2009-01-14  Simon Josefsson  <simon@josefsson.org>
13982
13983         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
13984         were sys/stat.h does not define it.
13985
13986 2009-01-14  Jim Meyering  <meyering@redhat.com>
13987
13988         many *.m4 files: improve m4 quoting
13989         99% of this change was performed by running the following commands:
13990         git ls-files | grep '\.m4$' | xargs perl -pi \
13991           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
13992           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
13993           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
13994           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
13995         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
13996         The remainder were to add Copyright dates, increment serial numbers,
13997         undo some changes in comments, exclude m4/intl.m4, and add quotes
13998         around the "1" in ",1" where the unusual spacing prohibited the
13999         above regexps from doing the job.  For more details, see
14000         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
14001         * m4/acl.m4: Modified.
14002         * m4/afs.m4: Likewise.
14003         * m4/alloca.m4: Likewise.
14004         * m4/argp.m4: Likewise.
14005         * m4/argz.m4: Likewise.
14006         * m4/atexit.m4: Likewise.
14007         * m4/bison-i18n.m4: Likewise.
14008         * m4/bison.m4: Likewise.
14009         * m4/byteswap.m4: Likewise.
14010         * m4/c-stack.m4: Likewise.
14011         * m4/c-strtod.m4: Likewise.
14012         * m4/calloc.m4: Likewise.
14013         * m4/canonicalize-lgpl.m4: Likewise.
14014         * m4/chown.m4: Likewise.
14015         * m4/clock_time.m4: Likewise.
14016         * m4/codeset.m4: Likewise.
14017         * m4/copy-file.m4: Likewise.
14018         * m4/csharp.m4: Likewise.
14019         * m4/csharpcomp.m4: Likewise.
14020         * m4/csharpexec.m4: Likewise.
14021         * m4/d-ino.m4: Likewise.
14022         * m4/d-type.m4: Likewise.
14023         * m4/dirfd.m4: Likewise.
14024         * m4/double-slash-root.m4: Likewise.
14025         * m4/eaccess.m4: Likewise.
14026         * m4/eealloc.m4: Likewise.
14027         * m4/environ.m4: Likewise.
14028         * m4/errno_h.m4: Likewise.
14029         * m4/euidaccess.m4: Likewise.
14030         * m4/execute.m4: Likewise.
14031         * m4/fatal-signal.m4: Likewise.
14032         * m4/fchdir.m4: Likewise.
14033         * m4/fcntl_h.m4: Likewise.
14034         * m4/fileblocks.m4: Likewise.
14035         * m4/filenamecat.m4: Likewise.
14036         * m4/findprog.m4: Likewise.
14037         * m4/flexmember.m4: Likewise.
14038         * m4/fnmatch.m4: Likewise.
14039         * m4/fopen.m4: Likewise.
14040         * m4/fpending.m4: Likewise.
14041         * m4/fprintf-posix.m4: Likewise.
14042         * m4/free.m4: Likewise.
14043         * m4/frexp.m4: Likewise.
14044         * m4/frexpl.m4: Likewise.
14045         * m4/fsusage.m4: Likewise.
14046         * m4/ftruncate.m4: Likewise.
14047         * m4/gc-camellia.m4: Likewise.
14048         * m4/gc-random.m4: Likewise.
14049         * m4/gc.m4: Likewise.
14050         * m4/getaddrinfo.m4: Likewise.
14051         * m4/getcwd-abort-bug.m4: Likewise.
14052         * m4/getcwd-path-max.m4: Likewise.
14053         * m4/getdate.m4: Likewise.
14054         * m4/getdomainname.m4: Likewise.
14055         * m4/getgroups.m4: Likewise.
14056         * m4/gethostname.m4: Likewise.
14057         * m4/gethrxtime.m4: Likewise.
14058         * m4/getline.m4: Likewise.
14059         * m4/getloadavg.m4: Likewise.
14060         * m4/getndelim2.m4: Likewise.
14061         * m4/getpass.m4: Likewise.
14062         * m4/gettext.m4: Likewise.
14063         * m4/gettime.m4: Likewise.
14064         * m4/gettimeofday.m4: Likewise.
14065         * m4/gnulib-common.m4: Likewise.
14066         * m4/group-member.m4: Likewise.
14067         * m4/host-os.m4: Likewise.
14068         * m4/iconv.m4: Likewise.
14069         * m4/iconv_open.m4: Likewise.
14070         * m4/inet_ntop.m4: Likewise.
14071         * m4/inet_pton.m4: Likewise.
14072         * m4/inline.m4: Likewise.
14073         * m4/intldir.m4: Likewise.
14074         * m4/intlmacosx.m4: Likewise.
14075         * m4/intmax.m4: Likewise.
14076         * m4/intmax_t.m4: Likewise.
14077         * m4/inttypes.m4: Likewise.
14078         * m4/inttypes_h.m4: Likewise.
14079         * m4/inttypes-pri.m4: Likewise.
14080         * m4/isapipe.m4: Likewise.
14081         * m4/isnand.m4: Likewise.
14082         * m4/isnanf.m4: Likewise.
14083         * m4/isnanl.m4: Likewise.
14084         * m4/javacomp.m4: Likewise.
14085         * m4/javaexec.m4: Likewise.
14086         * m4/jm-winsz1.m4: Likewise.
14087         * m4/jm-winsz2.m4: Likewise.
14088         * m4/lchown.m4: Likewise.
14089         * m4/lcmessage.m4: Likewise.
14090         * m4/ldexpl.m4: Likewise.
14091         * m4/lib-ld.m4: Likewise.
14092         * m4/lib-link.m4: Likewise.
14093         * m4/libsigsegv.m4: Likewise.
14094         * m4/link-follow.m4: Likewise.
14095         * m4/localcharset.m4: Likewise.
14096         * m4/locale-fr.m4: Likewise.
14097         * m4/locale-ja.m4: Likewise.
14098         * m4/locale-tr.m4: Likewise.
14099         * m4/locale-zh.m4: Likewise.
14100         * m4/lock.m4: Likewise.
14101         * m4/longlong.m4: Likewise.
14102         * m4/ls-mntd-fs.m4: Likewise.
14103         * m4/lstat.m4: Likewise.
14104         * m4/malloc.m4: Likewise.
14105         * m4/mathl.m4: Likewise.
14106         * m4/mbrtowc.m4: Likewise.
14107         * m4/mbstate_t.m4: Likewise.
14108         * m4/mbswidth.m4: Likewise.
14109         * m4/memchr.m4: Likewise.
14110         * m4/memcmp.m4: Likewise.
14111         * m4/memcpy.m4: Likewise.
14112         * m4/memmem.m4: Likewise.
14113         * m4/memmove.m4: Likewise.
14114         * m4/mempcpy.m4: Likewise.
14115         * m4/memrchr.m4: Likewise.
14116         * m4/memset.m4: Likewise.
14117         * m4/minmax.m4: Likewise.
14118         * m4/mkdir-slash.m4: Likewise.
14119         * m4/mkdtemp.m4: Likewise.
14120         * m4/mktime.m4: Likewise.
14121         * m4/mmap-anon.m4: Likewise.
14122         * m4/mountlist.m4: Likewise.
14123         * m4/nanosleep.m4: Likewise.
14124         * m4/nls.m4: Likewise.
14125         * m4/nocrash.m4: Likewise.
14126         * m4/open.m4: Likewise.
14127         * m4/openat.m4: Likewise.
14128         * m4/openmp.m4: Likewise.
14129         * m4/pathmax.m4: Likewise.
14130         * m4/perl.m4: Likewise.
14131         * m4/physmem.m4: Likewise.
14132         * m4/pipe.m4: Likewise.
14133         * m4/po.m4: Likewise.
14134         * m4/poll.m4: Likewise.
14135         * m4/posixtm.m4: Likewise.
14136         * m4/posixver.m4: Likewise.
14137         * m4/printf-frexp.m4: Likewise.
14138         * m4/printf-frexpl.m4: Likewise.
14139         * m4/printf-posix.m4: Likewise.
14140         * m4/printf-posix-rpl.m4: Likewise.
14141         * m4/printf.m4: Likewise.
14142         * m4/progtest.m4: Likewise.
14143         * m4/putenv.m4: Likewise.
14144         * m4/readline.m4: Likewise.
14145         * m4/readlink.m4: Likewise.
14146         * m4/readutmp.m4: Likewise.
14147         * m4/realloc.m4: Likewise.
14148         * m4/regex.m4: Likewise.
14149         * m4/relocatable.m4: Likewise.
14150         * m4/relocatable-lib.m4: Likewise.
14151         * m4/rename-dest-slash.m4: Likewise.
14152         * m4/rename.m4: Likewise.
14153         * m4/rmdir-errno.m4: Likewise.
14154         * m4/rmdir.m4: Likewise.
14155         * m4/roundf.m4: Likewise.
14156         * m4/roundl.m4: Likewise.
14157         * m4/rpmatch.m4: Likewise.
14158         * m4/save-cwd.m4: Likewise.
14159         * m4/selinux-selinux-h.m4: Likewise.
14160         * m4/setenv.m4: Likewise.
14161         * m4/settime.m4: Likewise.
14162         * m4/sig2str.m4: Likewise.
14163         * m4/sig_atomic_t.m4: Likewise.
14164         * m4/signalblocking.m4: Likewise.
14165         * m4/signbit.m4: Likewise.
14166         * m4/sigpipe.m4: Likewise.
14167         * m4/sockets.m4: Likewise.
14168         * m4/sockpfaf.m4: Likewise.
14169         * m4/st_dm_mode.m4: Likewise.
14170         * m4/stat-time.m4: Likewise.
14171         * m4/stdbool.m4: Likewise.
14172         * m4/stdint.m4: Likewise.
14173         * m4/stdint_h.m4: Likewise.
14174         * m4/stpcpy.m4: Likewise.
14175         * m4/stpncpy.m4: Likewise.
14176         * m4/strcase.m4: Likewise.
14177         * m4/strchrnul.m4: Likewise.
14178         * m4/strcspn.m4: Likewise.
14179         * m4/strdup.m4: Likewise.
14180         * m4/strftime.m4: Likewise.
14181         * m4/strndup.m4: Likewise.
14182         * m4/strnlen.m4: Likewise.
14183         * m4/strpbrk.m4: Likewise.
14184         * m4/strptime.m4: Likewise.
14185         * m4/strsep.m4: Likewise.
14186         * m4/strtod.m4: Likewise.
14187         * m4/strtoimax.m4: Likewise.
14188         * m4/strtok_r.m4: Likewise.
14189         * m4/strtol.m4: Likewise.
14190         * m4/strtoll.m4: Likewise.
14191         * m4/strtoul.m4: Likewise.
14192         * m4/strtoull.m4: Likewise.
14193         * m4/strtoumax.m4: Likewise.
14194         * m4/strverscmp.m4: Likewise.
14195         * m4/threadlib.m4: Likewise.
14196         * m4/timegm.m4: Likewise.
14197         * m4/tm_gmtoff.m4: Likewise.
14198         * m4/tmpdir.m4: Likewise.
14199         * m4/tmpfile.m4: Likewise.
14200         * m4/tzset.m4: Likewise.
14201         * m4/uintmax_t.m4: Likewise.
14202         * m4/unlinkdir.m4: Likewise.
14203         * m4/unlocked-io.m4: Likewise.
14204         * m4/uptime.m4: Likewise.
14205         * m4/userspec.m4: Likewise.
14206         * m4/utimbuf.m4: Likewise.
14207         * m4/utime.m4: Likewise.
14208         * m4/utimes-null.m4: Likewise.
14209         * m4/utimes.m4: Likewise.
14210         * m4/vararrays.m4: Likewise.
14211         * m4/vasnprintf.m4: Likewise.
14212         * m4/vfprintf-posix.m4: Likewise.
14213         * m4/vprintf-posix.m4: Likewise.
14214         * m4/wait-process.m4: Likewise.
14215         * m4/wchar_t.m4: Likewise.
14216         * m4/wint_t.m4: Likewise.
14217         * m4/write-any-file.m4: Likewise.
14218         * m4/yield.m4: Likewise.
14219
14220 2009-01-13  Bruno Haible  <bruno@clisp.org>
14221
14222         Avoid test-copy-file.sh failures when ACL support insufficient.
14223         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
14224         TESTS_ENVIRONMENT.
14225         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
14226         Reported by Jim Meyering.
14227
14228 2009-01-13  Bruno Haible  <bruno@clisp.org>
14229
14230         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
14231         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
14232         * modules/unistdio/u8-printf-parse (Files): Likewise.
14233         * modules/unistdio/u32-printf-parse (Files): Likewise.
14234         * modules/unistdio/ulc-printf-parse (Files): Likewise.
14235
14236 2009-01-13  Simon Josefsson  <simon@josefsson.org>
14237
14238         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
14239         and m4/inttypes_h.m4 too.
14240
14241 2009-01-12  Eric Blake  <ebb9@byu.net>
14242
14243         tests: IRIX 6.2 cc can't compile -0.0 into .data
14244         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
14245         rather than at compile-time.
14246         * tests/test-floorl.c (minus_zero): Likewise.
14247         * tests/test-frexpl.c (minus_zero): Likewise.
14248         * tests/test-isnan.c (minus_zerol): Likewise.
14249         * tests/test-isnanl.h (minus_zero): Likewise.
14250         * tests/test-ldexpl.c (minus_zero): Likewise.
14251         * tests/test-roundl.c (minus_zero): Likewise.
14252         * tests/test-signbit.c (minus_zerol): Likewise.
14253         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
14254         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
14255         * tests/test-truncl.c (minus_zero): Likewise.
14256         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
14257         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
14258         Reported by Tom G. Christensen and Nelson H. F. Beebe.
14259
14260 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
14261
14262         regex: fix glibc bug 9697
14263         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
14264         handling.
14265
14266 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
14267
14268         regex: fix glibc bug 697
14269         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
14270         being NULL also if there are no backreferences.
14271
14272 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
14273
14274         regex: merge glibc changes
14275         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
14276         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
14277         re_string_skip_chars, re_string_reconstruct): Likewise.
14278         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
14279
14280 2009-01-07  Jim Meyering  <meyering@redhat.com>
14281
14282         poll: filter through cppi
14283         * lib/poll.c: Indent cpp directives to reflect nesting.
14284
14285 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
14286
14287         poll: don't return uninitialized
14288         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
14289
14290 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
14291
14292         avoid compile failure on AIX 6.1
14293         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
14294         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
14295
14296 2009-01-04  Jim Meyering  <meyering@redhat.com>
14297
14298         remove duplicate inclusion of <stdio.h>
14299         * tests/test-fprintf-posix.c: Likewise.
14300         * tests/test-printf-posix.c: Likewise.
14301         * tests/test-snprintf-posix.c: Likewise.
14302         * tests/test-sprintf-posix.c: Likewise.
14303         * tests/test-vasprintf-posix.c: Likewise.
14304         * tests/test-vfprintf-posix.c: Likewise.
14305         * tests/test-vprintf-posix.c: Likewise.
14306         * tests/test-vsnprintf-posix.c: Likewise.
14307         * tests/test-vsprintf-posix.c: Likewise.
14308
14309 2009-01-03  Jim Meyering  <meyering@redhat.com>
14310
14311         gnulib-tool: fix sed-based filtering
14312         * gnulib-tool (func_filter_filelist): Remove extra backslash
14313         in sed_fff_filter definition.
14314
14315 2009-01-02  Jim Meyering  <meyering@redhat.com>
14316
14317         strftime: avoid compilation failure on Solaris 2.6
14318         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
14319         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
14320         Don't #define mbrlen or mbsinit, since now they're guaranteed to
14321         be available.  Reported by Tom G. Christensen.  Details in
14322         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
14323
14324 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14325             Bruno Haible  <bruno@clisp.org>
14326
14327         Speed up gnulib-tool by doing more string processing through shell
14328         built-ins.
14329         * gnulib-tool (fast_func_append): New variable.
14330         (func_remove_prefix, func_remove_suffix): New functions.
14331         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
14332         (func_filter_filelist): New function.
14333         (func_get_dependencies): Use func_remove_suffix instead of sed.
14334         (func_get_automake_snippet): Use func_filter_filelist instead of a
14335         subshell and sed invocation.
14336
14337 2009-01-01  Bruno Haible  <bruno@clisp.org>
14338
14339         Fix a security bug.
14340         * gnulib-tool (func_import, import, update): Don't allow the characters
14341         '"', '$', '`', '\' in macro arguments that become part of commands that
14342         are evaluated.
14343
14344 2009-01-01  Bruno Haible  <bruno@clisp.org>
14345
14346         * gnulib-tool (func_reset_sigpipe): Add more comments.
14347
14348 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14349
14350         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
14351         func_emit_tests_Makefile_am, func_import): Abort loops early if we
14352         already know the answer.
14353
14354 2009-01-01  Jim Meyering  <meyering@redhat.com>
14355
14356         * lib/version-etc.c (version_etc_va): Update copyright year.
14357
14358 2008-12-30  Bruno Haible  <bruno@clisp.org>
14359
14360         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
14361         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
14362         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
14363
14364 2008-12-29  Eric Blake  <ebb9@byu.net>
14365
14366         multiarch: avoid autoconf AC_REQUIRE bug
14367         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
14368         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
14369         2.63 and older.
14370         Reported by Bruno Haible, and analyzed in
14371         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
14372
14373 2008-12-29  Bruno Haible  <bruno@clisp.org>
14374
14375         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
14376         files in subdirectories correctly.
14377         Reported by Ralf Wildenhues.
14378
14379 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14380
14381         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
14382         rather than 'join FILE -', for Solaris join.
14383
14384 2008-12-29  Bruno Haible  <bruno@clisp.org>
14385
14386         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
14387         quoting.
14388         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
14389         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
14390         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
14391         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
14392         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
14393         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
14394         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
14395         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
14396         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
14397         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
14398         * m4/nls.m4 (AM_NLS): Likewise.
14399         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
14400         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
14401         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
14402         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
14403         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
14404         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
14405         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
14406         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
14407         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
14408         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
14409         * m4/xsize.m4 (gl_XSIZE): Likewise.
14410         Suggested by Jim Meyering.
14411
14412 2008-11-17  Bruce Korb  <bkorb@gnu.org>
14413
14414         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
14415         * lib/parse-duration.c: use a switch instead of cascading if's.
14416
14417 2008-12-29  Eric Blake  <ebb9@byu.net>
14418
14419         wchar.h: supply WEOF on Irix 5.3
14420         * lib/wchar.in.h (wint_t): Also supply WEOF.
14421         * lib/wctype.in.h (wint_t): Likewise.
14422         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
14423         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
14424         Reported by Tom G. Christensen.
14425
14426 2008-12-26  Bruno Haible  <bruno@clisp.org>
14427
14428         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
14429         i486, i586, i686.
14430
14431 2008-12-26  Bruno Haible  <bruno@clisp.org>
14432
14433         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
14434
14435 2008-12-26  Bruno Haible  <bruno@clisp.org>
14436
14437         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
14438         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
14439         not __STDC_CONSTANT_MACROS.
14440         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
14441
14442 2008-12-25  Bruno Haible  <bruno@clisp.org>
14443
14444         Add support for universal builds to vasnprintf.
14445         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
14446         universal builds, guess no.
14447         * modules/vasnprintf-posix (Depends-on): Add multiarch.
14448         * modules/vasprintf-posix (Depends-on): Likewise.
14449         * modules/fprintf-posix (Depends-on): Likewise.
14450         * modules/vfprintf-posix (Depends-on): Likewise.
14451         * modules/snprintf-posix (Depends-on): Likewise.
14452         * modules/vsnprintf-posix (Depends-on): Likewise.
14453         * modules/sprintf-posix (Depends-on): Likewise.
14454         * modules/vsprintf-posix (Depends-on): Likewise.
14455         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
14456         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
14457         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
14458         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
14459         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
14460         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
14461         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
14462
14463         Add support for universal builds to <inttypes.h>.
14464         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
14465         _SCNu64_PREFIX): In Apple
14466         universal builds, define directly, using _LP64.
14467         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
14468         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
14469         * modules/inttypes (Depends-on): Add multiarch.
14470         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
14471
14472         Add support for universal builds to <stdint.h>.
14473         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
14474         universal builds, define directly, using _LP64.
14475         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
14476         Apple universal builds, don't test for the size and suffix of ptrdiff_t
14477         and size_t.
14478         * modules/stdint (Depends-on): Add multiarch.
14479         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
14480
14481         New module 'multiarch'.
14482         * modules/multiarch: New file.
14483         * m4/multiarch.m4: New file.
14484
14485 2008-12-25  Bruno Haible  <bruno@clisp.org>
14486
14487         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
14488
14489 2008-12-25  Bruno Haible  <bruno@clisp.org>
14490
14491         * modules/btowc (License): Relicense under LGPLv2+.
14492         * modules/mbsinit (License): Likewise.
14493         * modules/mbrtowc (License): Likewise.
14494         * modules/wcrtomb (License): Likewise.
14495         * modules/streq (License): Likewise.
14496         Reported by David Lutterkort <lutter@redhat.com>.
14497
14498 2008-12-23  Bruno Haible  <bruno@clisp.org>
14499
14500         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
14501
14502 2008-12-23  Bruno Haible  <bruno@clisp.org>
14503
14504         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
14505         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
14506         GETADDRINFO_LIB, not in LIBS.
14507         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
14508         * modules/canon-host (Link): Likewise.
14509         * NEWS: Mention the change.
14510         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
14511         GETADDRINFO_LIB.
14512
14513 2008-12-22  Bruno Haible  <bruno@clisp.org>
14514
14515         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
14516         * doc/posix-functions/iswalpha_l.texi: Likewise.
14517         * doc/posix-functions/iswblank_l.texi: Likewise.
14518         * doc/posix-functions/iswcntrl_l.texi: Likewise.
14519         * doc/posix-functions/iswctype_l.texi: Likewise.
14520         * doc/posix-functions/iswdigit_l.texi: Likewise.
14521         * doc/posix-functions/iswgraph_l.texi: Likewise.
14522         * doc/posix-functions/iswlower_l.texi: Likewise.
14523         * doc/posix-functions/iswprint_l.texi: Likewise.
14524         * doc/posix-functions/iswpunct_l.texi: Likewise.
14525         * doc/posix-functions/iswspace_l.texi: Likewise.
14526         * doc/posix-functions/iswupper_l.texi: Likewise.
14527         * doc/posix-functions/iswxdigit_l.texi: Likewise.
14528         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
14529         * doc/posix-functions/open_wmemstream.texi: Likewise.
14530         * doc/posix-functions/swscanf.texi: Likewise.
14531         * doc/posix-functions/towctrans_l.texi: Likewise.
14532         * doc/posix-functions/towlower.texi: Likewise.
14533         * doc/posix-functions/towlower_l.texi: Likewise.
14534         * doc/posix-functions/towupper.texi: Likewise.
14535         * doc/posix-functions/towupper_l.texi: Likewise.
14536         * doc/posix-functions/vfwprintf.texi: Likewise.
14537         * doc/posix-functions/vfwscanf.texi: Likewise.
14538         * doc/posix-functions/vswscanf.texi: Likewise.
14539         * doc/posix-functions/vwprintf.texi: Likewise.
14540         * doc/posix-functions/vwscanf.texi: Likewise.
14541         * doc/posix-functions/wcpcpy.texi: Likewise.
14542         * doc/posix-functions/wcpncpy.texi: Likewise.
14543         * doc/posix-functions/wcscasecmp.texi: Likewise.
14544         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
14545         * doc/posix-functions/wcscoll_l.texi: Likewise.
14546         * doc/posix-functions/wcsdup.texi: Likewise.
14547         * doc/posix-functions/wcsncasecmp.texi: Likewise.
14548         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
14549         * doc/posix-functions/wcsnlen.texi: Likewise.
14550         * doc/posix-functions/wcsnrtombs.texi: Likewise.
14551         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
14552         * doc/posix-functions/wctrans_l.texi: Likewise.
14553         * doc/posix-functions/wctype_l.texi: Likewise.
14554         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
14555         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
14556         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
14557         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
14558         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
14559         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
14560         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
14561         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
14562         * doc/glibc-functions/wcschrnul.texi: Likewise.
14563         * doc/glibc-functions/wcsftime_l.texi: Likewise.
14564         * doc/glibc-functions/wcstod_l.texi: Likewise.
14565         * doc/glibc-functions/wcstof_l.texi: Likewise.
14566         * doc/glibc-functions/wcstol_l.texi: Likewise.
14567         * doc/glibc-functions/wcstold_l.texi: Likewise.
14568         * doc/glibc-functions/wcstoll_l.texi: Likewise.
14569         * doc/glibc-functions/wcstoq.texi: Likewise.
14570         * doc/glibc-functions/wcstoul_l.texi: Likewise.
14571         * doc/glibc-functions/wcstoull_l.texi: Likewise.
14572         * doc/glibc-functions/wcstouq.texi: Likewise.
14573         * doc/glibc-functions/wmempcpy.texi: Likewise.
14574
14575 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
14576             Eric Blake  <ebb9@byu.net>
14577             Paolo Bonzini  <bonzini@gnu.org>
14578             Bruno Haible  <bruno@clisp.org>
14579
14580         Make c-stack work on Haiku.
14581         * lib/c-stack.c (SA_ONSTACK): Define fallback.
14582         (c_stack_action): Use SA_ONSTACK flag.
14583
14584 2008-12-22  Bruno Haible  <bruno@clisp.org>
14585
14586         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
14587
14588 2008-12-22  Bruno Haible  <bruno@clisp.org>
14589
14590         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
14591         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
14592         being overridden.
14593         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
14594         New macros.
14595         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
14596         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
14597         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
14598         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
14599
14600 2008-12-22  Bruno Haible  <bruno@clisp.org>
14601
14602         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
14603         from test code.
14604
14605 2008-12-22  Eric Blake  <ebb9@byu.net>
14606
14607         Avoid gcc warnings on cygwin.
14608         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
14609         Avoid unused variable.
14610         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
14611         Likewise.
14612
14613 2008-12-22  Bruno Haible  <bruno@clisp.org>
14614
14615         Remove HAVE_MBRTOWC conditionals.
14616         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
14617         (mbscasecmp): Assume mbrtowc function.
14618         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
14619         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
14620         * lib/mbschr.c: Include mbuiter.h unconditionally.
14621         (mbschr): Assume mbrtowc function.
14622         * lib/mbscspn.c: Include mbuiter.h unconditionally.
14623         (mbscspn): Assume mbrtowc function.
14624         * lib/mbslen.c: Include mbuiter.h unconditionally.
14625         (mbslen): Assume mbrtowc function.
14626         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
14627         (mbsncasecmp): Assume mbrtowc function.
14628         * lib/mbsnlen.c: Include mbiter.h unconditionally.
14629         (mbsnlen): Assume mbrtowc function.
14630         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
14631         (mbspbrk): Assume mbrtowc function.
14632         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
14633         (mbspcasecmp): Assume mbrtowc function.
14634         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
14635         (mbsrchr): Assume mbrtowc function.
14636         * lib/mbssep.c: Include mbuiter.h unconditionally.
14637         (mbssep): Assume mbrtowc function.
14638         * lib/mbsspn.c: Include mbuiter.h unconditionally.
14639         (mbsspn): Assume mbrtowc function.
14640         * lib/mbsstr.c: Include mbuiter.h unconditionally.
14641         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
14642         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
14643         (mbstok_r): Assume mbrtowc function.
14644         * lib/propername.c: Include mbuiter.h unconditionally.
14645         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
14646         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
14647         (trim2): Assume mbrtowc function.
14648         * lib/mbswidth.c (mbsinit): Remove fallback definition.
14649         (mbsnwidth): Assume mbrtowc function.
14650         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
14651         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
14652         fallback definitions.
14653         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
14654
14655 2008-12-22  Bruno Haible  <bruno@clisp.org>
14656
14657         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
14658
14659 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
14660
14661         * modules/regex: Request emulations for the mb*/wc* functions we need.
14662         * m4/regex.m4: Don't look for those functions here.
14663         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
14664
14665 2008-12-22  Bruno Haible  <bruno@clisp.org>
14666
14667         * modules/fnmatch (Depends-on): Remove duplicated dependency.
14668
14669 2008-12-21  Bruno Haible  <bruno@clisp.org>
14670
14671         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
14672         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
14673         (Include): Remove conditionalization.
14674         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
14675         (Include): Remove conditionalization.
14676         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
14677         (Include): Remove conditionalization.
14678         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
14679         * m4/mbfile.m4 (gl_MBFILE): Likewise.
14680         * NEWS: Mention the change.
14681         Reported by Alan Hourihane <alanh@fairlite.co.uk>
14682         via Sergey Poznyakoff <gray@gnu.org.ua>.
14683
14684 2008-12-21  Bruno Haible  <bruno@clisp.org>
14685
14686         * MODULES.html.sh (Extended multibyte and wide character utilities
14687         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
14688         wcrtomb, wcsrtombs.
14689         (Support for systems lacking POSIX:2008): Add accept, bind, close,
14690         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
14691         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
14692         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
14693
14694 2008-12-21  Bruno Haible  <bruno@clisp.org>
14695
14696         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
14697
14698 2008-12-21  Bruno Haible  <bruno@clisp.org>
14699
14700         * modules/wcsnrtombs-tests: New file.
14701         * tests/test-wcsnrtombs1.sh: New file.
14702         * tests/test-wcsnrtombs2.sh: New file.
14703         * tests/test-wcsnrtombs3.sh: New file.
14704         * tests/test-wcsnrtombs4.sh: New file.
14705         * tests/test-wcsnrtombs.c: New file.
14706
14707         New module 'wcsnrtombs'.
14708         * lib/wchar.in.h (wcsnrtombs): New declaration.
14709         * lib/wcsnrtombs.c: New file.
14710         * lib/wcsrtombs-state.c: New file.
14711         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
14712         (internal_state): Remove variable.
14713         * m4/wcsnrtombs.m4: New file.
14714         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
14715         compilation units.
14716         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
14717         HAVE_WCSNRTOMBS.
14718         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
14719         HAVE_WCSNRTOMBS.
14720         * modules/wcsnrtombs: New file.
14721         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
14722         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
14723
14724 2008-12-21  Bruno Haible  <bruno@clisp.org>
14725
14726         * modules/wcsrtombs-tests: New file.
14727         * tests/test-wcsrtombs1.sh: New file.
14728         * tests/test-wcsrtombs2.sh: New file.
14729         * tests/test-wcsrtombs3.sh: New file.
14730         * tests/test-wcsrtombs4.sh: New file.
14731         * tests/test-wcsrtombs.c: New file.
14732
14733         New module 'wcsrtombs'.
14734         * lib/wchar.in.h (wcsrtombs): New declaration.
14735         * lib/wcsrtombs.c: New file.
14736         * m4/wcsrtombs.m4: New file.
14737         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
14738         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
14739         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
14740         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
14741         * modules/wcsrtombs: New file.
14742         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
14743         bugs.
14744
14745 2008-12-21  Bruno Haible  <bruno@clisp.org>
14746
14747         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
14748         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
14749         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
14750         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
14751         if not correct.
14752         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
14753         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
14754         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
14755         m4/locale-zh.m4, m4/codeset.m4.
14756         * doc/posix-functions/wcrtomb.texi: Document the bug.
14757
14758 2008-12-21  Bruno Haible  <bruno@clisp.org>
14759
14760         Work around a btowc() bug on IRIX 6.5.
14761         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
14762         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
14763         REPLACE_WTOBC if not.
14764         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
14765         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
14766         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
14767
14768 2008-12-21  Bruno Haible  <bruno@clisp.org>
14769
14770         * modules/wcrtomb-tests: New file.
14771         * tests/test-wcrtomb.sh: New file.
14772         * tests/test-wcrtomb.c: New file.
14773
14774         New module 'wcrtomb'.
14775         * lib/wchar.in.h (wcrtomb): New declaration.
14776         * lib/wcrtomb.c: New file.
14777         * m4/wcrtomb.m4: New file.
14778         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
14779         HAVE_WCRTOMB.
14780         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
14781         HAVE_WCRTOMB.
14782         * modules/wcrtomb: New file.
14783         * doc/posix-functions/wcrtomb.texi: Mention the new module.
14784
14785 2008-12-21  Bruno Haible  <bruno@clisp.org>
14786
14787         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
14788         * modules/mbsrtowcs (Files): Likewise.
14789         * modules/wctob (Files): Likewise.
14790         * modules/c-strcase-tests (Files): Likewise.
14791         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
14792         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
14793         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
14794         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
14795         * modules/vasnprintf-posix-tests (Files): Likewise.
14796
14797 2008-12-21  William Pursell  <bill.pursell@gmail.com>
14798
14799         gitlog-to-changelog: pass all command-line arguments to git-log
14800         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
14801         it is sometimes convenient to filter the commits in various ways.
14802         gitlog-to-changelog only allows --since to specify a start date,
14803         but git-log itself supports many other filtering mechanisms.
14804         At the moment, I want to filter by branch name.  Rather than
14805         adding a --branch option to gitlog-to-changelog, it seems more
14806         flexible to simply pass all options directly to git-log and let
14807         git do the work.  Notice that this effectively makes --since a
14808         redundant option for gitlog-to-changelog, but removing it would
14809         require current usage to change since calls would then require
14810         an additional '--'.
14811
14812 2008-12-21  Bruno Haible  <bruno@clisp.org>
14813
14814         * modules/mbsnrtowcs-tests: New file.
14815         * tests/test-mbsnrtowcs1.sh: New file.
14816         * tests/test-mbsnrtowcs2.sh: New file.
14817         * tests/test-mbsnrtowcs3.sh: New file.
14818         * tests/test-mbsnrtowcs4.sh: New file.
14819         * tests/test-mbsnrtowcs.c: New file.
14820
14821         New module 'mbsnrtowcs'.
14822         * lib/wchar.in.h (mbsnrtowcs): New declaration.
14823         * lib/mbsnrtowcs.c: New file.
14824         * lib/mbsrtowcs-state.c: New file.
14825         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
14826         (internal_state): Remove variable.
14827         * m4/mbsnrtowcs.m4: New file.
14828         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
14829         compilation units.
14830         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
14831         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
14832         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
14833         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
14834         * modules/mbsnrtowcs: New file.
14835         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
14836         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
14837         portability problem.
14838
14839 2008-12-21  Bruno Haible  <bruno@clisp.org>
14840
14841         Work around mbsrtowcs bug.
14842         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
14843         (gl_FUNC_MBSRTOWCS): Invoke it.
14844         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
14845         m4/locale-zh.m4.
14846         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
14847
14848 2008-12-21  Bruno Haible  <bruno@clisp.org>
14849
14850         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
14851
14852 2008-12-21  Bruno Haible  <bruno@clisp.org>
14853
14854         Update doc for AIX.
14855         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
14856         16-bit wchar_t type.
14857         * doc/posix-functions/btowc.texi: Likewise.
14858         * doc/posix-functions/fgetwc.texi: Likewise.
14859         * doc/posix-functions/fgetws.texi: Likewise.
14860         * doc/posix-functions/fputwc.texi: Likewise.
14861         * doc/posix-functions/fputws.texi: Likewise.
14862         * doc/posix-functions/fwide.texi: Likewise.
14863         * doc/posix-functions/fwprintf.texi: Likewise.
14864         * doc/posix-functions/fwscanf.texi: Likewise.
14865         * doc/posix-functions/getwchar.texi: Likewise.
14866         * doc/posix-functions/getwc.texi: Likewise.
14867         * doc/posix-functions/iswalnum.texi: Likewise.
14868         * doc/posix-functions/iswalpha.texi: Likewise.
14869         * doc/posix-functions/iswblank.texi: Likewise.
14870         * doc/posix-functions/iswcntrl.texi: Likewise.
14871         * doc/posix-functions/iswctype.texi: Likewise.
14872         * doc/posix-functions/iswdigit.texi: Likewise.
14873         * doc/posix-functions/iswgraph.texi: Likewise.
14874         * doc/posix-functions/iswlower.texi: Likewise.
14875         * doc/posix-functions/iswprint.texi: Likewise.
14876         * doc/posix-functions/iswpunct.texi: Likewise.
14877         * doc/posix-functions/iswspace.texi: Likewise.
14878         * doc/posix-functions/iswupper.texi: Likewise.
14879         * doc/posix-functions/iswxdigit.texi: Likewise.
14880         * doc/posix-functions/mbrtowc.texi: Likewise.
14881         * doc/posix-functions/mbsrtowcs.texi: Likewise.
14882         * doc/posix-functions/mbstowcs.texi: Likewise.
14883         * doc/posix-functions/mbtowc.texi: Likewise.
14884         * doc/posix-functions/putwchar.texi: Likewise.
14885         * doc/posix-functions/putwc.texi: Likewise.
14886         * doc/posix-functions/swprintf.texi: Likewise.
14887         * doc/posix-functions/tolower.texi: Likewise.
14888         * doc/posix-functions/toupper.texi: Likewise.
14889         * doc/posix-functions/towctrans.texi: Likewise.
14890         * doc/posix-functions/ungetwc.texi: Likewise.
14891         * doc/posix-functions/vswprintf.texi: Likewise.
14892         * doc/posix-functions/wcrtomb.texi: Likewise.
14893         * doc/posix-functions/wcscat.texi: Likewise.
14894         * doc/posix-functions/wcschr.texi: Likewise.
14895         * doc/posix-functions/wcscmp.texi: Likewise.
14896         * doc/posix-functions/wcscoll.texi: Likewise.
14897         * doc/posix-functions/wcscpy.texi: Likewise.
14898         * doc/posix-functions/wcscspn.texi: Likewise.
14899         * doc/posix-functions/wcsftime.texi: Likewise.
14900         * doc/posix-functions/wcslen.texi: Likewise.
14901         * doc/posix-functions/wcsncat.texi: Likewise.
14902         * doc/posix-functions/wcsncmp.texi: Likewise.
14903         * doc/posix-functions/wcsncpy.texi: Likewise.
14904         * doc/posix-functions/wcspbrk.texi: Likewise.
14905         * doc/posix-functions/wcsrchr.texi: Likewise.
14906         * doc/posix-functions/wcsrtombs.texi: Likewise.
14907         * doc/posix-functions/wcsspn.texi: Likewise.
14908         * doc/posix-functions/wcsstr.texi: Likewise.
14909         * doc/posix-functions/wcstod.texi: Likewise.
14910         * doc/posix-functions/wcstof.texi: Likewise.
14911         * doc/posix-functions/wcstoimax.texi: Likewise.
14912         * doc/posix-functions/wcstok.texi: Likewise.
14913         * doc/posix-functions/wcstold.texi: Likewise.
14914         * doc/posix-functions/wcstoll.texi: Likewise.
14915         * doc/posix-functions/wcstol.texi: Likewise.
14916         * doc/posix-functions/wcstombs.texi: Likewise.
14917         * doc/posix-functions/wcstoull.texi: Likewise.
14918         * doc/posix-functions/wcstoul.texi: Likewise.
14919         * doc/posix-functions/wcstoumax.texi: Likewise.
14920         * doc/posix-functions/wcswidth.texi: Likewise.
14921         * doc/posix-functions/wcsxfrm.texi: Likewise.
14922         * doc/posix-functions/wctob.texi: Likewise.
14923         * doc/posix-functions/wctomb.texi: Likewise.
14924         * doc/posix-functions/wctrans.texi: Likewise.
14925         * doc/posix-functions/wctype.texi: Likewise.
14926         * doc/posix-functions/wcwidth.texi: Likewise.
14927         * doc/posix-functions/wmemchr.texi: Likewise.
14928         * doc/posix-functions/wmemcmp.texi: Likewise.
14929         * doc/posix-functions/wmemcpy.texi: Likewise.
14930         * doc/posix-functions/wmemmove.texi: Likewise.
14931         * doc/posix-functions/wmemset.texi: Likewise.
14932         * doc/posix-functions/wprintf.texi: Likewise.
14933         * doc/posix-functions/wscanf.texi: Likewise.
14934
14935 2008-12-21  Bruno Haible  <bruno@clisp.org>
14936
14937         Update doc for HP-UX 11.11.
14938         * doc/posix-functions/btowc.texi: Clarify that the function is missing
14939         in HP-UX version 11.00, not in all versions of HP-UX 11.
14940         * doc/posix-functions/fwide.texi: Likewise.
14941         * doc/posix-functions/fwprintf.texi: Likewise.
14942         * doc/posix-functions/fwscanf.texi: Likewise.
14943         * doc/posix-functions/inet_ntop.texi: Likewise.
14944         * doc/posix-functions/inet_pton.texi: Likewise.
14945         * doc/posix-functions/mbrlen.texi: Likewise.
14946         * doc/posix-functions/mbrtowc.texi: Likewise.
14947         * doc/posix-functions/mbsinit.texi: Likewise.
14948         * doc/posix-functions/mbsrtowcs.texi: Likewise.
14949         * doc/posix-functions/swprintf.texi: Likewise.
14950         * doc/posix-functions/swscanf.texi: Likewise.
14951         * doc/posix-functions/towctrans.texi: Likewise.
14952         * doc/posix-functions/vfwprintf.texi: Likewise.
14953         * doc/posix-functions/vswprintf.texi: Likewise.
14954         * doc/posix-functions/vwprintf.texi: Likewise.
14955         * doc/posix-functions/wcrtomb.texi: Likewise.
14956         * doc/posix-functions/wcsrtombs.texi: Likewise.
14957         * doc/posix-functions/wcsstr.texi: Likewise.
14958         * doc/posix-functions/wctob.texi: Likewise.
14959         * doc/posix-functions/wctrans.texi: Likewise.
14960         * doc/posix-functions/wmemchr.texi: Likewise.
14961         * doc/posix-functions/wmemcmp.texi: Likewise.
14962         * doc/posix-functions/wmemcpy.texi: Likewise.
14963         * doc/posix-functions/wmemmove.texi: Likewise.
14964         * doc/posix-functions/wmemset.texi: Likewise.
14965         * doc/posix-functions/wprintf.texi: Likewise.
14966         * doc/posix-functions/wscanf.texi: Likewise.
14967
14968 2008-12-21  Bruno Haible  <bruno@clisp.org>
14969
14970         Work around a portability problem.
14971         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
14972         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
14973
14974 2008-12-20  Bruno Haible  <bruno@clisp.org>
14975
14976         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
14977         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
14978         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
14979         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
14980         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
14981
14982         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
14983         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
14984         set.
14985         (GNULIB_defined_mbstate_t): New macro.
14986         (mbsinit): Redefine if REPLACE_MBSINIT is set.
14987         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
14988         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
14989         reuses the system's mbrtowc function but works around the bugs.
14990         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
14991         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
14992         macros.
14993         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
14994         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
14995         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
14996         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
14997         REPLACE_MBSINIT if mbsinit needs to be overridden.
14998         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
14999         REPLACE_MBSINIT, REPLACE_MBRTOWC.
15000         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
15001         REPLACE_MBSINIT, REPLACE_MBRTOWC.
15002         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
15003         m4/locale-zh.m4.
15004         (Depends): Add mbsinit.
15005         * modules/mbsinit (Depends): Add mbrtowc.
15006         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
15007
15008 2008-12-20  Bruno Haible  <bruno@clisp.org>
15009
15010         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
15011         so that there are no conversion errors on AIX.
15012         * tests/test-mbsrtowcs.c (main): LIkewise.
15013
15014 2008-12-20  Bruno Haible  <bruno@clisp.org>
15015
15016         Work around wctob bug on Solaris <= 9.
15017         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
15018         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
15019         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
15020         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
15021         * modules/wctob (Files): Add m4/locale-fr.m4.
15022         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
15023
15024 2008-12-20  Bruno Haible  <bruno@clisp.org>
15025
15026         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
15027         /dev/null.
15028         * tests/test-select-in.sh: Likewise.
15029         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15030
15031 2008-12-20  Bruno Haible  <bruno@clisp.org>
15032
15033         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
15034         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
15035         Cygwin 1.5.x.
15036
15037 2008-12-20  Bruno Haible  <bruno@clisp.org>
15038
15039         Ensure mbstate_t is defined on HP-UX 11.11.
15040         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
15041         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
15042         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
15043         AC_USE_SYSTEM_EXTENSIONS.
15044         * modules/fnmatch (Depends-on): Add extensions.
15045         * modules/mbrlen (Depends-on): Likewise.
15046         * modules/mbrtowc (Depends-on): Likewise.
15047         * modules/mbsinit (Depends-on): Likewise.
15048         * modules/mbsrtowcs (Depends-on): Likewise.
15049         * modules/mbswidth (Depends-on): Likewise.
15050         * modules/quotearg (Depends-on): Likewise.
15051         * modules/strftime (Depends-on): Likewise.
15052
15053 2008-12-20  Bruno Haible  <bruno@clisp.org>
15054
15055         Ensure wctob is declared on IRIX 6.5.
15056         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
15057         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
15058         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
15059         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
15060         of HAVE_WCTOB.
15061         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
15062         HAVE_WCTOB.
15063         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
15064
15065 2008-12-19  Bruno Haible  <bruno@clisp.org>
15066
15067         * modules/mbsrtowcs-tests: New file.
15068         * tests/test-mbsrtowcs1.sh: New file.
15069         * tests/test-mbsrtowcs2.sh: New file.
15070         * tests/test-mbsrtowcs3.sh: New file.
15071         * tests/test-mbsrtowcs4.sh: New file.
15072         * tests/test-mbsrtowcs.c: New file.
15073
15074         New module 'mbsrtowcs'.
15075         * lib/wchar.in.h (mbsrtowcs): New declaration.
15076         * lib/mbsrtowcs.c: New file.
15077         * m4/mbsrtowcs.m4: New file.
15078         * modules/mbsrtowcs: New file.
15079         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
15080         HAVE_MBSRTOWCS.
15081         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
15082         HAVE_MBSRTOWCS.
15083         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
15084
15085 2008-12-19  Bruno Haible  <bruno@clisp.org>
15086
15087         New module 'mbrlen'.
15088         * lib/wchar.in.h (mbrlen): New declaration.
15089         * lib/mbrlen.c: New file.
15090         * m4/mbrlen.m4: New file.
15091         * modules/mbrlen: New file.
15092         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
15093         HAVE_MBRLEN.
15094         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
15095         HAVE_MBRLEN.
15096         * doc/posix-functions/mbrlen.texi: Document the new module.
15097
15098 2008-12-19  Bruno Haible  <bruno@clisp.org>
15099
15100         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
15101         * modules/mbrtowc (Depends-on): Add verify.
15102         Suggested by Paul Eggert.
15103
15104 2008-12-18  Bruno Haible  <bruno@clisp.org>
15105
15106         * modules/mbsinit-tests: New file.
15107         * tests/test-mbsinit.sh: New file.
15108         * tests/test-mbsinit.c: New file.
15109
15110 2008-12-18  Bruno Haible  <bruno@clisp.org>
15111
15112         * modules/mbrtowc-tests: New file.
15113         * tests/test-mbrtowc1.sh: New file.
15114         * tests/test-mbrtowc2.sh: New file.
15115         * tests/test-mbrtowc3.sh: New file.
15116         * tests/test-mbrtowc4.sh: New file.
15117         * tests/test-mbrtowc.c: New file.
15118
15119         New module 'mbrtowc'.
15120         * lib/wchar.in.h (mbstate_t): Override when the system does not have
15121         mbsinit and mbrtowc.
15122         (mbrtowc): New declaration.
15123         * lib/mbrtowc.c: New file.
15124         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
15125         * modules/mbrtowc: New file.
15126         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
15127         HAVE_MBRTOWC.
15128         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
15129         HAVE_MBRTOWC.
15130         * doc/posix-functions/mbrtowc.texi: Document the new module.
15131
15132 2008-12-18  Bruno Haible  <bruno@clisp.org>
15133
15134         New module 'wctob'.
15135         * lib/wchar.in.h (wctob): New declaration.
15136         * lib/wctob.c: New file.
15137         * m4/wctob.m4: New file.
15138         * modules/wctob: New file.
15139         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
15140         HAVE_WCTOB.
15141         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
15142         * doc/posix-functions/wctob.texi: Document the new module.
15143
15144 2008-12-18  Bruno Haible  <bruno@clisp.org>
15145
15146         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
15147         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
15148
15149 2008-12-18  Simon Josefsson  <simon@josefsson.org>
15150
15151         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
15152         G. Christensen" <tgc@jupiterrise.com>.
15153
15154         * lib/flock.c: Need to include errno.h.  Reported by "Tom
15155         G. Christensen" <tgc@jupiterrise.com>.
15156
15157         * lib/flock.c: Need to include string.h.  Reported by "Tom
15158         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
15159         <ebb9@byu.net>.
15160
15161 2008-12-18  Bruno Haible  <bruno@clisp.org>
15162
15163         * m4/locale-ja.m4: New file, from GNU gettext.
15164
15165 2008-12-17  Bruno Haible  <bruno@clisp.org>
15166
15167         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
15168         Suggested by Eric Blake.
15169
15170 2008-12-17  Bruno Haible  <bruno@clisp.org>
15171
15172         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
15173
15174 2008-12-17  Bruno Haible  <bruno@clisp.org>
15175
15176         * lib/mbsinit.c: Include verify.h. Verify an assumption.
15177         * modules/mbsinit (Depends-on): Add verify.
15178         Suggested by Paul Eggert.
15179
15180 2008-12-17  Bruno Haible  <bruno@clisp.org>
15181
15182         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
15183         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
15184         gl_FUNC_MBRTOWC.
15185         * m4/mbiter.m4 (gl_MBITER): LIkewise.
15186         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
15187         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
15188         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
15189         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
15190         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
15191         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
15192         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
15193         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
15194         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
15195         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
15196         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
15197         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
15198         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
15199         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
15200         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
15201         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
15202         * modules/trim (configure.ac): Likewise.
15203
15204 2008-12-17  Bruno Haible  <bruno@clisp.org>
15205
15206         * modules/btowc-tests: New file.
15207         * tests/test-btowc1.sh: New file.
15208         * tests/test-btowc2.sh: New file.
15209         * tests/test-btowc.c: New file.
15210
15211         New module 'btowc'.
15212         * lib/wchar.in.h (btowc): New declaration.
15213         * lib/btowc.c: New file.
15214         * m4/btowc.m4: New file.
15215         * modules/btowc: New file.
15216         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
15217         HAVE_BTOWC.
15218         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
15219         * doc/posix-functions/btowc.texi: Document the new module.
15220
15221 2008-12-17  Bruno Haible  <bruno@clisp.org>
15222
15223         New module 'mbsinit'.
15224         * lib/wchar.in.h (mbsinit): New declaration.
15225         * lib/mbsinit.c: New file.
15226         * m4/mbsinit.m4: New file.
15227         * modules/mbsinit: New file.
15228         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
15229         HAVE_MBSINIT.
15230         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
15231         HAVE_MBSINIT.
15232         * doc/posix-functions/mbsinit.texi: Document the new module.
15233
15234 2008-12-16  Bruno Haible  <bruno@clisp.org>
15235
15236         * lib/unistd.in.h: Add comment.
15237         * tests/test-environ.c: Don't include <stdlib.h>.
15238
15239 2008-12-16  Bruno Haible  <bruno@clisp.org>
15240
15241         * lib/parse-duration.h (parse_duration): Document return value
15242         convention.
15243         * lib/parse-duration.c: Include specification header first. Add
15244         comments.
15245         (_): Remove macro.
15246         (parse_year_month_day, parse_hour_minute_second): Move side effects
15247         outside of strchr call.
15248         (parse_non_iso8601): Move side effects outside of isspace call.
15249         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
15250         call.
15251
15252 2008-12-16  Bruno Haible  <bruno@clisp.org>
15253
15254         * tests/test-parse-duration.sh: Produce no output when the test
15255         succeeds.
15256
15257 2008-12-16  Bruno Haible  <bruno@clisp.org>
15258
15259         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
15260         expressions.
15261
15262 2008-12-15  Bruno Haible  <bruno@clisp.org>
15263
15264         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
15265         * doc/glibc-functions/flistxattr.texi: Likewise.
15266         * doc/glibc-functions/fopencookie.texi: Likewise.
15267         * doc/glibc-functions/fremovexattr.texi: Likewise.
15268         * doc/glibc-functions/fsetxattr.texi: Likewise.
15269         * doc/glibc-functions/getxattr.texi: Likewise.
15270         * doc/glibc-functions/lgetxattr.texi: Likewise.
15271         * doc/glibc-functions/listxattr.texi: Likewise.
15272         * doc/glibc-functions/llistxattr.texi: Likewise.
15273         * doc/glibc-functions/lremovexattr.texi: Likewise.
15274         * doc/glibc-functions/lsetxattr.texi: Likewise.
15275         * doc/glibc-functions/removexattr.texi: Likewise.
15276         * doc/glibc-functions/setxattr.texi: Likewise.
15277         * doc/posix-functions/open_memstream.texi: Likewise.
15278
15279 2008-12-15  Eric Blake  <ebb9@byu.net>
15280
15281         Update doc for cygwin 1.7.
15282         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
15283         functions.
15284         * doc/posix-functions/fchmodat.texi: Likewise.
15285         * doc/posix-functions/fchownat.texi: Likewise.
15286         * doc/posix-functions/fdopendir.texi: Likewise.
15287         * doc/posix-functions/fmemopen.texi: Likewise.
15288         * doc/posix-functions/freeaddrinfo.texi: Likewise.
15289         * doc/posix-functions/fstatat.texi: Likewise.
15290         * doc/posix-functions/futimens.texi: Likewise.
15291         * doc/posix-functions/gai_strerror.texi: Likewise.
15292         * doc/posix-functions/getaddrinfo.texi: Likewise.
15293         * doc/posix-functions/getnameinfo.texi: Likewise.
15294         * doc/posix-functions/if_freenameindex.texi: Likewise.
15295         * doc/posix-functions/if_indextoname.texi: Likewise.
15296         * doc/posix-functions/if_nameindex.texi: Likewise.
15297         * doc/posix-functions/if_nametoindex.texi: Likewise.
15298         * doc/posix-functions/insque.texi: Likewise.
15299         * doc/posix-functions/linkat.texi: Likewise.
15300         * doc/posix-functions/llrint.texi: Likewise.
15301         * doc/posix-functions/llrintf.texi: Likewise.
15302         * doc/posix-functions/llrintl.texi: Likewise.
15303         * doc/posix-functions/lockf.texi: Likewise.
15304         * doc/posix-functions/lrintl.texi: Likewise.
15305         * doc/posix-functions/mkdirat.texi: Likewise.
15306         * doc/posix-functions/mkfifoat.texi: Likewise.
15307         * doc/posix-functions/mknodat.texi: Likewise.
15308         * doc/posix-functions/mq_close.texi: Likewise.
15309         * doc/posix-functions/mq_getattr.texi: Likewise.
15310         * doc/posix-functions/mq_notify.texi: Likewise.
15311         * doc/posix-functions/mq_open.texi: Likewise.
15312         * doc/posix-functions/mq_receive.texi: Likewise.
15313         * doc/posix-functions/mq_send.texi: Likewise.
15314         * doc/posix-functions/mq_setattr.texi: Likewise.
15315         * doc/posix-functions/mq_timedreceive.texi: Likewise.
15316         * doc/posix-functions/mq_timedsend.texi: Likewise.
15317         * doc/posix-functions/mq_unlink.texi: Likewise.
15318         * doc/posix-functions/open_memstream.texi: Likewise.
15319         * doc/posix-functions/openat.texi: Likewise.
15320         * doc/posix-functions/posix_fadvise.texi: Likewise.
15321         * doc/posix-functions/posix_fallocate.texi: Likewise.
15322         * doc/posix-functions/posix_madvise.texi: Likewise.
15323         * doc/posix-functions/posix_memalign.texi: Likewise.
15324         * doc/posix-functions/posix_openpt.texi: Likewise.
15325         * doc/posix-functions/readlinkat.texi: Likewise.
15326         * doc/posix-functions/remque.texi: Likewise.
15327         * doc/posix-functions/renameat.texi: Likewise.
15328         * doc/posix-functions/rintl.texi: Likewise.
15329         * doc/posix-functions/sem_unlink.texi: Likewise.
15330         * doc/posix-functions/shm_open.texi: Likewise.
15331         * doc/posix-functions/shm_unlink.texi: Likewise.
15332         * doc/posix-functions/signgam.texi: Likewise.
15333         * doc/posix-functions/sigset.texi: Likewise.
15334         * doc/posix-functions/stpcpy.texi: Likewise.
15335         * doc/posix-functions/stpncpy.texi: Likewise.
15336         * doc/posix-functions/strerror.texi: Likewise.
15337         * doc/posix-functions/strtod.texi: Likewise.
15338         * doc/posix-functions/symlinkat.texi: Likewise.
15339         * doc/posix-functions/unlinkat.texi: Likewise.
15340         * doc/posix-functions/utimensat.texi: Likewise.
15341         * doc/glibc-functions/bindresvport.texi: Likewise.
15342         * doc/glibc-functions/dn_expand.texi: Likewise.
15343         * doc/glibc-functions/exp10.texi: Likewise.
15344         * doc/glibc-functions/exp10f.texi: Likewise.
15345         * doc/glibc-functions/fgetxattr.texi: Likewise.
15346         * doc/glibc-functions/flistxattr.texi: Likewise.
15347         * doc/glibc-functions/fopencookie.texi: Likewise.
15348         * doc/glibc-functions/freeifaddrs.texi: Likewise.
15349         * doc/glibc-functions/fremovexattr.texi: Likewise.
15350         * doc/glibc-functions/fsetxattr.texi: Likewise.
15351         * doc/glibc-functions/getifaddrs.texi: Likewise.
15352         * doc/glibc-functions/getxattr.texi: Likewise.
15353         * doc/glibc-functions/lgetxattr.texi: Likewise.
15354         * doc/glibc-functions/listxattr.texi: Likewise.
15355         * doc/glibc-functions/llistxattr.texi: Likewise.
15356         * doc/glibc-functions/lremovexattr.texi: Likewise.
15357         * doc/glibc-functions/lsetxattr.texi: Likewise.
15358         * doc/glibc-functions/pow10.texi: Likewise.
15359         * doc/glibc-functions/pow10f.texi: Likewise.
15360         * doc/glibc-functions/rcmd_af.texi: Likewise.
15361         * doc/glibc-functions/removexattr.texi: Likewise.
15362         * doc/glibc-functions/res_init.texi: Likewise.
15363         * doc/glibc-functions/res_mkquery.texi: Likewise.
15364         * doc/glibc-functions/res_query.texi: Likewise.
15365         * doc/glibc-functions/res_querydomain.texi: Likewise.
15366         * doc/glibc-functions/res_send.texi: Likewise.
15367         * doc/glibc-functions/rresvport_af.texi: Likewise.
15368         * doc/glibc-functions/setxattr.texi: Likewise.
15369         * doc/glibc-functions/strcasestr.texi: Likewise.
15370
15371 2008-12-15  Bruno Haible  <bruno@clisp.org>
15372
15373         Fix compilation error on OSF/1 4.0.
15374         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
15375         <sys/time.h>, simply delegate to the system header.
15376         Reported by Daniel Richard G. <oss@teragram.com>.
15377
15378 2008-12-15  Bruno Haible  <bruno@clisp.org>
15379
15380         * doc/posix-functions/openat.texi: Mention the 'openat' module.
15381         * doc/posix-functions/fchmodat.texi: Likewise.
15382         * doc/posix-functions/fchownat.texi: Likewise.
15383         * doc/posix-functions/fdopendir.texi: Likewise.
15384         * doc/posix-functions/fstatat.texi: Likewise.
15385         * doc/posix-functions/mkdirat.texi: Likewise.
15386         * doc/posix-functions/unlinkat.texi: Likewise.
15387
15388 2008-12-14  Bruno Haible  <bruno@clisp.org>
15389
15390         Update doc for POSIX:2008.
15391         * doc/posix-functions/faccessat.texi: New file.
15392         * doc/posix-functions/fchmodat.texi: New file.
15393         * doc/posix-functions/fchownat.texi: New file.
15394         * doc/posix-functions/fdopendir.texi: New file.
15395         * doc/posix-functions/fstatat.texi: New file.
15396         * doc/posix-functions/futimens.texi: New file.
15397         * doc/posix-functions/linkat.texi: New file.
15398         * doc/posix-functions/mkdirat.texi: New file.
15399         * doc/posix-functions/mkfifoat.texi: New file.
15400         * doc/posix-functions/mknodat.texi: New file.
15401         * doc/posix-functions/open_wmemstream.texi: New file.
15402         * doc/posix-functions/openat.texi: New file.
15403         * doc/posix-functions/psiginfo.texi: New file.
15404         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
15405         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
15406         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
15407         * doc/posix-functions/readlinkat.texi: New file.
15408         * doc/posix-functions/renameat.texi: New file.
15409         * doc/posix-functions/strerror_l.texi: New file.
15410         * doc/posix-functions/symlinkat.texi: New file.
15411         * doc/posix-functions/unlinkat.texi: New file.
15412         * doc/posix-functions/utimensat.texi: New file.
15413         * doc/gnulib.texi (Function Substitutes): Add these subsections.
15414
15415 2008-12-14  Bruno Haible  <bruno@clisp.org>
15416
15417         Update doc for POSIX:2008.
15418         * doc/posix-functions/alphasort.texi: Renamed from
15419         doc/glibc-functions/alphasort.texi.
15420         * doc/posix-functions/dirfd.texi: Renamed from
15421         doc/glibc-functions/dirfd.texi.
15422         * doc/posix-functions/dprintf.texi: Renamed from
15423         doc/glibc-functions/dprintf.texi.
15424         * doc/posix-functions/duplocale.texi: Renamed from
15425         doc/glibc-functions/duplocale.texi.
15426         * doc/posix-functions/fexecve.texi: Renamed from
15427         doc/glibc-functions/fexecve.texi.
15428         * doc/posix-functions/fmemopen.texi: Renamed from
15429         doc/glibc-functions/fmemopen.texi.
15430         * doc/posix-functions/freelocale.texi: Renamed from
15431         doc/glibc-functions/freelocale.texi.
15432         * doc/posix-functions/getdate_err.texi: Renamed from
15433         doc/glibc-functions/getdate_err.texi.
15434         * doc/posix-functions/isalnum_l.texi: Renamed from
15435         doc/glibc-functions/isalnum_l.texi.
15436         * doc/posix-functions/isalpha_l.texi: Renamed from
15437         doc/glibc-functions/isalpha_l.texi.
15438         * doc/posix-functions/isblank_l.texi: Renamed from
15439         doc/glibc-functions/isblank_l.texi.
15440         * doc/posix-functions/iscntrl_l.texi: Renamed from
15441         doc/glibc-functions/iscntrl_l.texi.
15442         * doc/posix-functions/isdigit_l.texi: Renamed from
15443         doc/glibc-functions/isdigit_l.texi.
15444         * doc/posix-functions/isgraph_l.texi: Renamed from
15445         doc/glibc-functions/isgraph_l.texi.
15446         * doc/posix-functions/islower_l.texi: Renamed from
15447         doc/glibc-functions/islower_l.texi.
15448         * doc/posix-functions/isprint_l.texi: Renamed from
15449         doc/glibc-functions/isprint_l.texi.
15450         * doc/posix-functions/ispunct_l.texi: Renamed from
15451         doc/glibc-functions/ispunct_l.texi.
15452         * doc/posix-functions/isspace_l.texi: Renamed from
15453         doc/glibc-functions/isspace_l.texi.
15454         * doc/posix-functions/isupper_l.texi: Renamed from
15455         doc/glibc-functions/isupper_l.texi.
15456         * doc/posix-functions/iswalnum_l.texi: Renamed from
15457         doc/glibc-functions/iswalnum_l.texi.
15458         * doc/posix-functions/iswalpha_l.texi: Renamed from
15459         doc/glibc-functions/iswalpha_l.texi.
15460         * doc/posix-functions/iswblank_l.texi: Renamed from
15461         doc/glibc-functions/iswblank_l.texi.
15462         * doc/posix-functions/iswcntrl_l.texi: Renamed from
15463         doc/glibc-functions/iswcntrl_l.texi.
15464         * doc/posix-functions/iswctype_l.texi: Renamed from
15465         doc/glibc-functions/iswctype_l.texi.
15466         * doc/posix-functions/iswdigit_l.texi: Renamed from
15467         doc/glibc-functions/iswdigit_l.texi.
15468         * doc/posix-functions/iswgraph_l.texi: Renamed from
15469         doc/glibc-functions/iswgraph_l.texi.
15470         * doc/posix-functions/iswlower_l.texi: Renamed from
15471         doc/glibc-functions/iswlower_l.texi.
15472         * doc/posix-functions/iswprint_l.texi: Renamed from
15473         doc/glibc-functions/iswprint_l.texi.
15474         * doc/posix-functions/iswpunct_l.texi: Renamed from
15475         doc/glibc-functions/iswpunct_l.texi.
15476         * doc/posix-functions/iswspace_l.texi: Renamed from
15477         doc/glibc-functions/iswspace_l.texi.
15478         * doc/posix-functions/iswupper_l.texi: Renamed from
15479         doc/glibc-functions/iswupper_l.texi.
15480         * doc/posix-functions/iswxdigit_l.texi: Renamed from
15481         doc/glibc-functions/iswxdigit_l.texi.
15482         * doc/posix-functions/isxdigit_l.texi: Renamed from
15483         doc/glibc-functions/isxdigit_l.texi.
15484         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
15485         doc/glibc-functions/mbsnrtowcs.texi.
15486         * doc/posix-functions/mkdtemp.texi: Renamed from
15487         doc/glibc-functions/mkdtemp.texi.
15488         * doc/posix-functions/newlocale.texi: Renamed from
15489         doc/glibc-functions/newlocale.texi.
15490         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
15491         doc/glibc-functions/nl_langinfo_l.texi.
15492         * doc/posix-functions/open_memstream.texi: Renamed from
15493         doc/glibc-functions/open_memstream.texi.
15494         * doc/posix-functions/opterr.texi: Renamed from
15495         doc/glibc-functions/opterr.texi.
15496         * doc/posix-functions/optind.texi: Renamed from
15497         doc/glibc-functions/optind.texi.
15498         * doc/posix-functions/optopt.texi: Renamed from
15499         doc/glibc-functions/optopt.texi.
15500         * doc/posix-functions/psignal.texi: Renamed from
15501         doc/glibc-functions/psignal.texi.
15502         * doc/posix-functions/scandir.texi: Renamed from
15503         doc/glibc-functions/scandir.texi.
15504         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
15505         doc/glibc-functions/sched_get_priority_min.texi.
15506         * doc/posix-functions/signgam.texi: Renamed from
15507         doc/glibc-functions/signgam.texi.
15508         * doc/posix-functions/stpcpy.texi: Renamed from
15509         doc/glibc-functions/stpcpy.texi.
15510         * doc/posix-functions/stpncpy.texi: Renamed from
15511         doc/glibc-functions/stpncpy.texi.
15512         * doc/posix-functions/strcasecmp_l.texi: Renamed from
15513         doc/glibc-functions/strcasecmp_l.texi.
15514         * doc/posix-functions/strcoll_l.texi: Renamed from
15515         doc/glibc-functions/strcoll_l.texi.
15516         * doc/posix-functions/strfmon_l.texi: Renamed from
15517         doc/glibc-functions/strfmon_l.texi.
15518         * doc/posix-functions/strftime_l.texi: Renamed from
15519         doc/glibc-functions/strftime_l.texi.
15520         * doc/posix-functions/strncasecmp_l.texi: Renamed from
15521         doc/glibc-functions/strncasecmp_l.texi.
15522         * doc/posix-functions/strndup.texi: Renamed from
15523         doc/glibc-functions/strndup.texi.
15524         * doc/posix-functions/strnlen.texi: Renamed from
15525         doc/glibc-functions/strnlen.texi.
15526         * doc/posix-functions/strsignal.texi: Renamed from
15527         doc/glibc-functions/strsignal.texi.
15528         * doc/posix-functions/strxfrm_l.texi: Renamed from
15529         doc/glibc-functions/strxfrm_l.texi.
15530         * doc/posix-functions/timer_gettime.texi: Renamed from
15531         doc/glibc-functions/timer_gettime.texi.
15532         * doc/posix-functions/tolower_l.texi: Renamed from
15533         doc/glibc-functions/tolower_l.texi.
15534         * doc/posix-functions/toupper_l.texi: Renamed from
15535         doc/glibc-functions/toupper_l.texi.
15536         * doc/posix-functions/towctrans_l.texi: Renamed from
15537         doc/glibc-functions/towctrans_l.texi.
15538         * doc/posix-functions/towlower_l.texi: Renamed from
15539         doc/glibc-functions/towlower_l.texi.
15540         * doc/posix-functions/towupper_l.texi: Renamed from
15541         doc/glibc-functions/towupper_l.texi.
15542         * doc/posix-functions/uselocale.texi: Renamed from
15543         doc/glibc-functions/uselocale.texi.
15544         * doc/posix-functions/vdprintf.texi: Renamed from
15545         doc/glibc-functions/vdprintf.texi.
15546         * doc/posix-functions/wcpcpy.texi:
15547         Renamed from doc/glibc-functions/wcpcpy.texi.
15548         * doc/posix-functions/wcpncpy.texi: Renamed from
15549         doc/glibc-functions/wcpncpy.texi.
15550         * doc/posix-functions/wcscasecmp.texi: Renamed from
15551         doc/glibc-functions/wcscasecmp.texi.
15552         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
15553         doc/glibc-functions/wcscasecmp_l.texi.
15554         * doc/posix-functions/wcscoll_l.texi: Renamed from
15555         doc/glibc-functions/wcscoll_l.texi.
15556         * doc/posix-functions/wcsdup.texi: Renamed from
15557         doc/glibc-functions/wcsdup.texi.
15558         * doc/posix-functions/wcsncasecmp.texi: Renamed from
15559         doc/glibc-functions/wcsncasecmp.texi.
15560         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
15561         doc/glibc-functions/wcsncasecmp_l.texi.
15562         * doc/posix-functions/wcsnlen.texi: Renamed from
15563         doc/glibc-functions/wcsnlen.texi.
15564         * doc/posix-functions/wcsnrtombs.texi: Renamed from
15565         doc/glibc-functions/wcsnrtombs.texi.
15566         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
15567         doc/glibc-functions/wcsxfrm_l.texi.
15568         * doc/posix-functions/wctrans_l.texi: Renamed from
15569         doc/glibc-functions/wctrans_l.texi.
15570         * doc/posix-functions/wctype_l.texi: Renamed from
15571         doc/glibc-functions/wctype_l.texi.
15572         * doc/gnulib.texi (Function Substitutes): Add these subsections.
15573         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
15574         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
15575         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
15576         these subsections.
15577         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
15578         Remove sections.
15579
15580 2008-12-14  Bruno Haible  <bruno@clisp.org>
15581
15582         Update doc for POSIX:2008.
15583         * doc/posix-functions/*.texi: Update URL of POSIX specification.
15584
15585 2008-12-14  Bruno Haible  <bruno@clisp.org>
15586
15587         Update doc for POSIX:2008.
15588         * doc/pastposix-functions/bcmp.texi: Renamed from
15589         doc/posix-functions/bcmp.texi.
15590         * doc/pastposix-functions/bcopy.texi: Renamed from
15591         doc/posix-functions/bcopy.texi.
15592         * doc/pastposix-functions/bsd_signal.texi: Renamed from
15593         doc/posix-functions/bsd_signal.texi.
15594         * doc/pastposix-functions/bzero.texi: Renamed from
15595         doc/posix-functions/bzero.texi.
15596         * doc/pastposix-functions/ecvt.texi: Renamed from
15597         doc/posix-functions/ecvt.texi.
15598         * doc/pastposix-functions/fcvt.texi: Renamed from
15599         doc/posix-functions/fcvt.texi.
15600         * doc/pastposix-functions/ftime.texi: Renamed from
15601         doc/posix-functions/ftime.texi.
15602         * doc/pastposix-functions/gcvt.texi: Renamed from
15603         doc/posix-functions/gcvt.texi.
15604         * doc/pastposix-functions/getcontext.texi: Renamed from
15605         doc/posix-functions/getcontext.texi.
15606         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
15607         doc/posix-functions/gethostbyaddr.texi.
15608         * doc/pastposix-functions/gethostbyname.texi: Renamed from
15609         doc/posix-functions/gethostbyname.texi.
15610         * doc/pastposix-functions/getwd.texi: Renamed from
15611         doc/posix-functions/getwd.texi.
15612         * doc/pastposix-functions/h_errno.texi: Renamed from
15613         doc/posix-functions/h_errno.texi.
15614         * doc/pastposix-functions/index.texi: Renamed from
15615         doc/posix-functions/index.texi.
15616         * doc/pastposix-functions/makecontext.texi: Renamed from
15617         doc/posix-functions/makecontext.texi.
15618         * doc/pastposix-functions/mktemp.texi: Renamed from
15619         doc/posix-functions/mktemp.texi.
15620         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
15621         doc/posix-functions/pthread_attr_getstackaddr.texi.
15622         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
15623         doc/posix-functions/pthread_attr_setstackaddr.texi.
15624         * doc/pastposix-functions/rindex.texi: Renamed from
15625         doc/posix-functions/rindex.texi.
15626         * doc/pastposix-functions/scalb.texi: Renamed from
15627         doc/posix-functions/scalb.texi.
15628         * doc/pastposix-functions/setcontext.texi: Renamed from
15629         doc/posix-functions/setcontext.texi.
15630         * doc/pastposix-functions/swapcontext.texi: Renamed from
15631         doc/posix-functions/swapcontext.texi.
15632         * doc/pastposix-functions/ualarm.texi: Renamed from
15633         doc/posix-functions/ualarm.texi.
15634         * doc/pastposix-functions/usleep.texi: Renamed from
15635         doc/posix-functions/usleep.texi.
15636         * doc/pastposix-functions/vfork.texi: Renamed from
15637         doc/posix-functions/vfork.texi.
15638         * doc/pastposix-functions/wcswcs.texi: Renamed from
15639         doc/posix-functions/wcswcs.texi.
15640         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
15641         (Function Substitutes): Update.
15642
15643 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15644
15645         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
15646         m4/strerror.m4.
15647
15648 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15649             Bruno Haible  <bruno@clisp.org>
15650
15651         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
15652
15653 2008-12-13  Bruno Haible  <bruno@clisp.org>
15654
15655         * modules/strtoull (Depends-on): Remove unistd.
15656
15657 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15658
15659         * modules/strtoull (Depends-on): Add stdlib.
15660
15661 2008-12-11  Simon Josefsson  <simon@josefsson.org>
15662
15663         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
15664
15665 2008-12-10  Jim Meyering  <meyering@redhat.com>
15666
15667         gl_ASSERT: don't say assertions are disabled when they're not
15668         * m4/assert.m4 (gl_ASSERT): Do not make configure report
15669         "checking whether to enable assertions... no", when they are in
15670         fact enabled.  This is solely a bug in the output of configure.
15671         In spite of saying "no", NDEBUG was not defined in that case.
15672         Also, as noted by Eric Blake, leave assertions enabled upon
15673         --enable-assert=INVALID.
15674
15675 2008-12-10  Bruno Haible  <bruno@clisp.org>
15676
15677         Change MODULES.html to refer to POSIX:2008 where possible.
15678         * MODULES.html.sh (POSIX2008_URL): New variable.
15679         (posix_headers): Remove sys/timeb, ucontext.
15680         (posix2001_headers): New variable.
15681         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
15682         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
15683         index, makecontext, mktemp, pthread_attr_getstackaddr,
15684         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
15685         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
15686         (posix2001_functions): New variable.
15687         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
15688         otherwise.
15689
15690 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15691
15692         add missing include to parse-duration.c
15693         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
15694         * modules/parse-duration (Depends-on): Add xalloc.
15695
15696         fix sed script reading maint.mk
15697         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
15698         (syntax-check-rules): Use it.
15699
15700 2008-12-09  Bruno Haible  <bruno@clisp.org>
15701
15702         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
15703         MacOS X 10.4/PowerPC.
15704         Reported by Simon Josefsson.
15705
15706 2008-12-08  Jim Meyering  <meyering@redhat.com>
15707
15708         work around mingw's lack of some S_IF definitions
15709         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
15710         Reported by Simon Josefsson.
15711
15712 2008-12-08  Bruno Haible  <bruno@clisp.org>
15713
15714         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
15715         applied to variables. Needed on MacOS X 10.4/PowerPC.
15716         Reported by Simon Josefsson.
15717
15718 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
15719         and Eric Blake  <ebb9@byu.net>
15720
15721         assert: honor --enable-assert
15722         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
15723         order to honor --enable-assert, rather than treating it as a
15724         synonym for --disable-assert.
15725
15726 2008-12-08  Jim Meyering  <meyering@redhat.com>
15727
15728         * lib/posixtm.c: Remove now-useless declaration of mktime.
15729
15730         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
15731
15732 2008-12-07  Bruno Haible  <bruno@clisp.org>
15733
15734         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
15735         test_once): Mark functions as static.
15736         * tests/test-tls.c (test_tls): Likewise.
15737
15738 2008-12-07  Bruno Haible  <bruno@clisp.org>
15739
15740         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
15741         iconv_register_autodetect.
15742
15743 2008-12-07  Jim Meyering  <meyering@redhat.com>
15744
15745         posixtm.c: avoid a warning
15746         * lib/posixtm.c (posixtime): Don't initialize tm0.
15747         It's no longer needed to placate gcc4's -Wuninitialized,
15748         and the attempt to placate would elicit a new warning.
15749
15750         unicodeio.c: mark unused parameters
15751         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
15752         (fallback_failure_callback): Likewise.
15753
15754 2008-12-07  Bruno Haible  <bruno@clisp.org>
15755
15756         * gnulib-tool (func_create_testdir): When building the tests
15757         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
15758         Reported by Simon Josefsson.
15759
15760 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15761
15762         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
15763
15764 2008-12-06  Bruno Haible  <bruno@clisp.org>
15765
15766         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
15767         Suggested by Eric Blake.
15768
15769 2008-12-06  Bruno Haible  <bruno@clisp.org>
15770
15771         Fix a c-stack test failure on MacOS X.
15772         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
15773         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
15774         handler for SIGBUS as well.
15775         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
15776         install a signal handler for SIGBUS as well.
15777         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
15778
15779 2008-12-06  Bruno Haible  <bruno@clisp.org>
15780
15781         Advocacy documentation.
15782         * doc/gnulib-intro.texi (Benefits): New section.
15783         * doc/gnulib.texi: Update.
15784
15785 2008-12-06  Bruno Haible  <bruno@clisp.org>
15786
15787         Document the 'manywarnings' module.
15788         * doc/manywarnings.texi: New file.
15789         * doc/gnulib.texi: Include it.
15790
15791 2008-12-05  Eric Blake  <ebb9@byu.net>
15792
15793         tests: silence some gcc warnings
15794         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
15795         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
15796         type mismatches.
15797
15798 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15799             Bruno Haible  <bruno@clisp.org>
15800
15801         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
15802
15803 2008-11-29  Jim Meyering  <meyering@redhat.com>
15804
15805         unicodeio.c: mark unused parameters
15806         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
15807         (fallback_failure_callback): Likewise.
15808
15809         fts: fix a thinko
15810         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
15811         (set_stat_type): Return S_IF*-valued "type" directly.
15812         Prompted by James Youngman's spotting a related bug.
15813         Confirmed by further testing through find.
15814
15815         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
15816         * lib/fts.c (D_TYPE): Define.
15817         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
15818         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
15819         (s_ifmt_shift_bits): New function.
15820         (set_stat_type): New function.
15821         (fts_build): When not calling fts_stat, call set_stat_type
15822         to propagate dirent.d_type info to fts_read caller.
15823         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
15824         fts_statp->st_mode type information may be valid.
15825
15826 2008-11-28  Simon Josefsson  <simon@josefsson.org>
15827
15828         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
15829         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
15830         <sds@gnu.org>.
15831
15832 2008-11-20  Bruno Haible  <bruno@clisp.org>
15833
15834         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
15835         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
15836         INCLUDE_NEXT.
15837         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
15838         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
15839         * modules/math (Makefile.am): Substitute
15840         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
15841         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
15842
15843 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
15844             Bruno Haible  <bruno@clisp.org>
15845
15846         * lib/stdint.in.h: Define all type macros so that their expansion is
15847         a single typedef'ed token. Fixes a compilation failure in Boost which
15848         does "using ::int8_t;".
15849
15850 2008-11-18  Simon Josefsson  <simon@josefsson.org>
15851
15852         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
15853         gl_MANYWARN_ALL_GCC.
15854         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
15855         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
15856         * modules/manywarnings: New file.
15857         * MODULES.html.sh: Mention manywarnings module.
15858
15859 2008-11-18  Bruno Haible  <bruno@clisp.org>
15860
15861         * doc/gnulib-tool.texi (Unit tests): New section.
15862
15863 2008-11-18  Simon Josefsson  <simon@josefsson.org>
15864
15865         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
15866         paths like 'lib/po/foo.po'.
15867
15868 2008-11-17  Simon Josefsson  <simon@josefsson.org>
15869
15870         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
15871         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
15872
15873 2008-11-17  Simon Josefsson  <simon@josefsson.org>
15874
15875         * m4/warnings.m4: Use CPPFLAGS to really check whether the
15876         parameter works.
15877
15878 2008-11-17  Simon Josefsson  <simon@josefsson.org>
15879
15880         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
15881
15882 2008-11-17  Bruce Korb  <bkorb@gnu.org>
15883
15884         * modules/parse-duration-tests: New file.
15885         * tests/test-parse-duration.sh: New file.
15886         * tests/test-parse-duration.c: New file.
15887
15888         New module 'parse-duration'.
15889         * lib/parse-duration.h: New file.
15890         * lib/parse-duration.c: New file.
15891         * modules/parse-duration: New file.
15892
15893 2008-11-17  Bruno Haible  <bruno@clisp.org>
15894
15895         * tests/test-select-out.sh: Comment out the first pipe test.
15896         Reported by Simon Josefsson.
15897
15898 2008-11-17  Bruno Haible  <bruno@clisp.org>
15899
15900         * modules/getaddrinfo (Depends-on): Add servent, hostent.
15901         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
15902         gl_HOSTENT.
15903
15904 2008-11-17  Bruno Haible  <bruno@clisp.org>
15905
15906         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
15907         -lnetwork and -lnet. Needed for Haiku and BeOS.
15908
15909 2008-11-16  Bruno Haible  <bruno@clisp.org>
15910
15911         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
15912
15913 2008-11-16  Bruno Haible  <bruno@clisp.org>
15914
15915         Avoid test failure on Haiku.
15916         * tests/test-fsync.c: Include <errno.h>.
15917         (main): Don't require that fsync (0) fails.
15918
15919 2008-11-15  Bruno Haible  <bruno@clisp.org>
15920
15921         New module 'hostent'.
15922         * modules/hostent: New file.
15923         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
15924
15925 2008-11-15  Bruno Haible  <bruno@clisp.org>
15926
15927         New module 'servent'.
15928         * modules/servent: New file.
15929         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
15930
15931 2008-11-15  Bruno Haible  <bruno@clisp.org>
15932
15933         Avoid generating same test program with two different rules.
15934         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
15935         test-frexp to test-frexp-nolibm.
15936         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
15937         test-frexpl to test-frexpl-nolibm.
15938
15939 2008-11-15  Bruno Haible  <bruno@clisp.org>
15940
15941         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
15942         $(FREXPL_LIBM).
15943
15944 2008-11-15  Bruno Haible  <bruno@clisp.org>
15945
15946         * lib/netdb.in.h: Activate the definitions also when the system's
15947         <netdb.h> has 'struct addrinfo'.
15948         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
15949         EAI_OVERFLOW or AI_NUMERICSERV.
15950         * doc/posix-headers/netdb.texi: Document the problem.
15951
15952 2008-11-15  Bruno Haible  <bruno@clisp.org>
15953
15954         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
15955
15956         Make the 'sched' module work on platforms where <sched.h> exists but
15957         is incomplete (such as Haiku).
15958         * lib/sched.in.h; Include the system's <sched.h> if it exists.
15959         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
15960         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
15961         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
15962         HAVE_STRUCT_SCHED_PARAM.
15963         * modules/sched (Depends-on): Add include_next.
15964         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
15965         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
15966         * doc/posix-headers/sched.texi: Document the issue.
15967
15968 2008-11-13  Jim Meyering  <meyering@redhat.com>
15969
15970         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
15971         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
15972         test would fail due to the difference in the Report bugs to ...
15973         line.  The expected address is empty, "<>", while the actual
15974         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
15975
15976 2008-11-12  Bruno Haible  <bruno@clisp.org>
15977
15978         lstat: don't compile lstat.c on systems lacking lstat
15979         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
15980         which don't have lstat; this is handled by lib/sys_stat.in.h already.
15981         Reported by Daniel P. Berrange via Jim Meyering.
15982
15983 2008-11-12  Jim Meyering  <meyering@redhat.com>
15984
15985         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
15986
15987 2008-11-12  Simon Josefsson  <simon@josefsson.org>
15988
15989         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
15990         instead.
15991
15992 2008-11-12  Bruno Haible  <bruno@clisp.org>
15993
15994         * lib/unicodeio.c: Include unistr.h.
15995         (utf8_wctomb): Remove function.
15996         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
15997
15998 2008-11-12  Simon Josefsson  <simon@josefsson.org>
15999
16000         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
16001         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
16002         <bruno@clisp.org>.
16003         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
16004
16005 2008-11-12  Simon Josefsson  <simon@josefsson.org>
16006
16007         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
16008         * doc/gnulib.texi: Add section for warnings.
16009
16010 2008-11-11  Bruno Haible  <bruno@clisp.org>
16011
16012         * lib/sockets.h: Add a comment.
16013
16014 2008-11-11  Karl Berry  <karl@gnu.org>
16015
16016         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
16017
16018 2008-11-11  Eric Blake  <ebb9@byu.net>
16019
16020         fdl.texi: avoid git symlinks
16021         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
16022
16023 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
16024
16025         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
16026
16027 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
16028
16029         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
16030         (gl_WARN_ADD): Substitute $2 if literal.
16031
16032 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
16033
16034         * m4/warning.m4: Remove.
16035
16036 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
16037
16038         * m4/warnings.m4: Almost complete rewrite. :-)
16039
16040 2008-11-10  Simon Josefsson  <simon@josefsson.org>
16041
16042         * modules/warnings: New module.
16043         * m4/warnings.m4: New file.
16044         * MODULES.html.sh: Mention warnings module.
16045         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
16046         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16047
16048 2008-11-10  Eric Blake  <ebb9@byu.net>
16049
16050         fdl.texi: make a symlink to the latest version
16051         * doc/standards.texi: Revert today's earlier change.
16052         * doc/fdl-1.2.texi: Rename from old fdl.texi...
16053         * doc/fdl.texi: ...and replace this with a symlink to the newer
16054         fdl-1.3.texi.
16055
16056 2008-11-10  Bruno Haible  <bruno@clisp.org>
16057
16058         * tests/test-select-fd.c (main): Accept the result file name as fourth
16059         argument.
16060         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
16061         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
16062
16063 2008-11-10  Bruno Haible  <bruno@clisp.org>
16064
16065         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
16066         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
16067         as autoconf-substituted macros.
16068         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
16069         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
16070         gl_NETDB_H_DEFAULTS. Set these variables.
16071         * modules/netdb (Makefile.am): Substitute these variables.
16072
16073 2008-11-10  Eric Blake  <ebb9@byu.net>
16074
16075         standards.texi: include correct file for FDL 1.3
16076         * doc/standards.texi (GNU Free Documentation License): Change
16077         include file to pull in FDL 1.3, not 1.2.
16078
16079         fdl.texi: revert accidental change to license
16080         * doc/fdl.texi: This is FDL 1.2, not 1.3.
16081
16082 2008-11-10  Bruno Haible  <bruno@clisp.org>
16083
16084         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
16085         cross-compiling guesses also when the native compile gives no result.
16086
16087 2008-11-10  Bruno Haible  <bruno@clisp.org>
16088
16089         * lib/spawni.c (__spawni): Force variable into the stack.
16090
16091 2008-11-10  Bruno Haible  <bruno@clisp.org>
16092
16093         Add support for Haiku.
16094         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
16095         glibc and BeOS, but also on Haiku.
16096         * lib/fpurge.c (fpurge): Likewise.
16097         * lib/freadable.c (freadable): Likewise.
16098         * lib/freadahead.c (freadahead): Likewise.
16099         * lib/freading.c (freading): Likewise.
16100         * lib/freadptr.c (freadptr): Likewise.
16101         * lib/freadseek.c (freadptrinc): Likewise.
16102         * lib/fseeko.c (rpl_fseeko): Likewise.
16103         * lib/fseterr.c (fseterr): Likewise.
16104         * lib/fwritable.c (fwritable): Likewise.
16105         * lib/fwriting.c (fwriting): Likewise.
16106         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
16107
16108 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
16109
16110         * lib/config.charset: Treat Haiku like BeOS.
16111
16112 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
16113
16114         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
16115         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
16116
16117 2008-11-08  Bruno Haible  <bruno@clisp.org>
16118
16119         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
16120         AC_CACHE_CHECK.
16121
16122 2008-11-08  Bruno Haible  <bruno@clisp.org>
16123
16124         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
16125
16126 2008-11-08  Bruno Haible  <bruno@clisp.org>
16127
16128         * tests/test-select-fd.c: New file.
16129         * tests/test-select-in.sh: New file.
16130         * tests/test-select-out.sh: New file.
16131         * tests/test-select-stdin.c: New file.
16132         * modules/select-tests (Files): Add the new files.
16133         (Depends-on): Add gettimeofday.
16134         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
16135         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
16136         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
16137
16138 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
16139             Bruno Haible  <bruno@clisp.org>
16140
16141         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
16142
16143 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
16144
16145         * build-aux/pmccabe2html: Added support for C++ source files.
16146
16147 2008-11-05  Ben Pfaff  <blp@gnu.org>
16148
16149         Fix lib/close.c build on Windows.
16150         * modules/close (Files): Add lib/w32sock.h.
16151
16152 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
16153
16154         Accept Bison's NEWS format.
16155         * build-aux/announce-gen (print_news_deltas): Tweak
16156         $re_prefix.
16157
16158 2008-11-04  Bruno Haible  <bruno@clisp.org>
16159
16160         * modules/random_r (Maintainer): Add glibc.
16161
16162 2008-11-04  Simon Josefsson  <simon@josefsson.org>
16163
16164         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
16165         by karl@freefriends.org (Karl Berry).
16166         * doc/alloca.texi: Likewise.
16167         * doc/c-ctype.texi: Likewise.
16168         * doc/c-strcase.texi: Likewise.
16169         * doc/c-strcaseeq.texi: Likewise.
16170         * doc/c-strcasestr.texi: Likewise.
16171         * doc/c-strstr.texi: Likewise.
16172         * doc/c-strtod.texi: Likewise.
16173         * doc/c-strtold.texi: Likewise.
16174         * doc/ctime.texi: Likewise.
16175         * doc/error.texi: Likewise.
16176         * doc/fdl.texi: Likewise.
16177         * doc/gcd.texi: Likewise.
16178         * doc/getdate.texi: Likewise.
16179         * doc/gnulib-intro.texi: Likewise.
16180         * doc/gnulib-tool.texi: Likewise.
16181         * doc/gnulib.texi: Likewise.
16182         * doc/inet_ntoa.texi: Likewise.
16183         * doc/maintain.texi: Likewise.
16184         * doc/make-stds.texi: Likewise.
16185         * doc/quote.texi: Likewise.
16186         * doc/regexprops-generic.texi: Likewise.
16187         * doc/standards.texi: Likewise.
16188         * doc/verify.texi: Likewise.
16189         * doc/visibility.texi: Likewise.
16190         * doc/gnulib.texi (GNU Free Documentation License): Include
16191         fdl-1.3.texi instead of fdl.texi.
16192
16193 2008-11-04  Simon Josefsson  <simon@josefsson.org>
16194
16195         * doc/fdl-1.3.texi: New file, from
16196         <http://www.gnu.org/licenses/fdl-1.3.texi>.
16197         * modules/fdl-1.3: Add.
16198         * MODULES.html.sh: Add fdl-1.3.
16199
16200 2008-11-03  Bruno Haible  <bruno@clisp.org>
16201
16202         Make determination of absolute name of header file work with AIX xlc.
16203         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
16204         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
16205         preprocessing.
16206         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
16207         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
16208
16209 2008-11-03  Simon Josefsson  <simon@josefsson.org>
16210
16211         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
16212         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
16213         <ludo@gnu.org>.
16214
16215 2008-11-02  Bruno Haible  <bruno@clisp.org>
16216
16217         Mark 'strpbrk' obsolete.
16218         * modules/strpbrk (Status, Notice): New sections.
16219         * modules/strtok_r (Depends-on): Add strpbrk.
16220
16221 2008-11-02  Bruno Haible  <bruno@clisp.org>
16222
16223         Mark 'strdup' obsolete.
16224         * modules/strdup (Status, Notice): New sections.
16225         * modules/findprog (Depends-on): Add strdup.
16226         * modules/getaddrinfo (Depends-on): Likewise.
16227         * modules/localename (Depends-on): Likewise.
16228         * modules/relocatable-lib (Depends-on): Likewise.
16229         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
16230         * modules/relocatable-prog (Depends-on): Likewise.
16231         * modules/trim (Depends-on): Likewise.
16232         * modules/unictype/gen-ctype (Depends-on): Likewise.
16233         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
16234
16235 2008-11-02  Bruno Haible  <bruno@clisp.org>
16236
16237         Mark 'strcspn' obsolete.
16238         * modules/strcspn (Status, Notice): New sections.
16239
16240 2008-11-02  Bruno Haible  <bruno@clisp.org>
16241
16242         Mark 'rmdir' obsolete.
16243         * modules/rmdir (Status, Notice): New sections.
16244         * modules/clean-temp (Depends-on): Add rmdir.
16245         * modules/openat (Depends-on): Likewise.
16246
16247 2008-11-02  Bruno Haible  <bruno@clisp.org>
16248
16249         Mark 'raise' obsolete.
16250         * modules/raise (Status, Notice): New sections.
16251         (Include): Specify <signal.h>.
16252         * modules/stdio (Depends-on): Add raise.
16253         * modules/write (Depends-on): Likewise.
16254
16255 2008-11-02  Bruno Haible  <bruno@clisp.org>
16256
16257         Mark 'memset' obsolete.
16258         * modules/memset (Status, Notice): New sections.
16259
16260 2008-11-02  Bruno Haible  <bruno@clisp.org>
16261
16262         Mark 'memmove' obsolete.
16263         * modules/memmove (Status, Notice): New sections.
16264         * modules/argp (Depends-on): Add memmove.
16265         * modules/argz (Depends-on): Likewise.
16266         * modules/canonicalize (Depends-on): Likewise.
16267         * modules/canonicalize-lgpl (Depends-on): Likewise.
16268         * modules/fts (Depends-on): Likewise.
16269         * modules/getcwd (Depends-on): Likewise.
16270         * modules/human (Depends-on): Likewise.
16271         * modules/regex (Depends-on): Likewise.
16272         * modules/striconveh (Depends-on): Likewise.
16273         * modules/trim (Depends-on): Likewise.
16274         * modules/unistr/u8-move (Depends-on): Likewise.
16275         * modules/unistr/u16-move (Depends-on): Likewise.
16276         * modules/unistr/u32-move (Depends-on): Likewise.
16277
16278 2008-11-02  Bruno Haible  <bruno@clisp.org>
16279
16280         Mark 'memcpy' obsolete.
16281         * modules/memcpy (Status, Notice): New sections.
16282
16283 2008-11-02  Bruno Haible  <bruno@clisp.org>
16284
16285         Mark 'memcmp' obsolete.
16286         * modules/memcmp (Status, Notice): New sections.
16287         * modules/argmatch (Depends-on): Add memchr.
16288         * modules/backupfile (Depends-on): Likewise.
16289         * modules/c-strcasestr (Depends-on): Likewise.
16290         * modules/crypto/des (Depends-on): Likewise.
16291         * modules/csharpcomp (Depends-on): Likewise.
16292         * modules/fnmatch (Depends-on): Likewise.
16293         * modules/git-merge-changelog (Depends-on): Likewise.
16294         * modules/isnand (Depends-on): Likewise.
16295         * modules/isnand-nolibm (Depends-on): Likewise.
16296         * modules/isnanf (Depends-on): Likewise.
16297         * modules/isnanf-nolibm (Depends-on): Likewise.
16298         * modules/isnanl (Depends-on): Likewise.
16299         * modules/isnanl-nolibm (Depends-on): Likewise.
16300         * modules/mbchar (Depends-on): Likewise.
16301         * modules/memcoll (Depends-on): Likewise.
16302         * modules/quotearg (Depends-on): Likewise.
16303         * modules/regex (Depends-on): Likewise.
16304         * modules/relocatable-prog (Depends-on): Likewise.
16305         * modules/same (Depends-on): Likewise.
16306         * modules/signbit (Depends-on): Likewise.
16307         * modules/strcasestr-simple (Depends-on): Likewise.
16308         * modules/unictype/gen-ctype (Depends-on): Likewise.
16309         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
16310         * modules/uniname/uniname (Depends-on): Likewise.
16311         * modules/unistr/u8-cmp (Depends-on): Likewise.
16312
16313 2008-11-02  Bruno Haible  <bruno@clisp.org>
16314
16315         Mark 'memchr' obsolete.
16316         * modules/memchr (Status, Notice): New sections.
16317         * modules/argp (Depends-on): Add memchr.
16318         * modules/base64 (Depends-on): Likewise.
16319         * modules/c-strcasestr (Depends-on): Likewise.
16320         * modules/chdir-long (Depends-on): Likewise.
16321         * modules/fnmatch (Depends-on): Likewise.
16322         * modules/getsubopt (Depends-on): Likewise.
16323         * modules/git-merge-changelog (Depends-on): Likewise.
16324         * modules/glob (Depends-on): Likewise.
16325         * modules/strcasestr-simple (Depends-on): Likewise.
16326         * modules/strnlen (Depends-on): Likewise.
16327
16328 2008-11-02  Bruno Haible  <bruno@clisp.org>
16329
16330         Mark 'atexit' obsolete.
16331         * modules/atexit (Status, Notice): New sections.
16332         * modules/chdir-long (Depends-on): Add atexit.
16333         * modules/wait-process (Depends-on): Likewise.
16334
16335 2008-11-02  Bruno Haible  <bruno@clisp.org>
16336
16337         * gnulib-tool: New option --with-obsolete.
16338         (func_usage): Document it.
16339         (func_modules_transitive_closure): Drop obsolete dependencies if
16340         incobsolete is not true.
16341         (func_import): Read and save the incobsolete variable to the cache.
16342
16343 2008-11-02  Bruno Haible  <bruno@clisp.org>
16344
16345         * modules/TEMPLATE-EXTENDED: New field 'Status'.
16346         * gnulib-tool: New option --extract-status.
16347         (func_usage): Document it.
16348         (sed_extract_prog): Recognize it.
16349         (func_get_status): New function.
16350
16351 2008-10-30  Simon Josefsson  <simon@josefsson.org>
16352
16353         * modules/sockets (License): Change from LGPL to LGPLv2+.
16354
16355 2008-10-28  Simon Josefsson  <simon@josefsson.org>
16356
16357         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
16358
16359 2008-10-28  Simon Josefsson  <simon@josefsson.org>
16360
16361         * MODULES.html.sh (Support for systems lacking POSIX:2001):
16362         Mention times and sys_times.
16363         * modules/sys_times, modules/sys_times-tests: New modules.
16364         * modules/times, modules/times-tests: Likewise
16365         * m4/sys_times_h.m4: New file.
16366         * lib/sys_times.in.h: Likewise
16367         * lib/times.c: Likewise.
16368         * tests/test-sys_times.c: Likewise.
16369         * tests/test-times.c: Likewise.
16370         * doc/posix-headers/sys_times.texi: Update.
16371         * doc/posix-functions/times.texi: Update.
16372
16373 2008-10-28  Jim Meyering  <meyering@redhat.com>
16374
16375         * modules/tempname (Depends-on): Add lstat.
16376
16377         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
16378
16379 2008-10-28  Simon Josefsson  <simon@josefsson.org>
16380
16381         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
16382         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
16383         using idiom used elsewhere in gnulib.
16384
16385 2008-10-27  Jim Meyering  <meyering@redhat.com>
16386
16387         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
16388
16389 2008-10-27  Simon Josefsson  <simon@josefsson.org>
16390
16391         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
16392         TESTS_ENVIRONMENT, for shell scripts that needs to call built
16393         programs.
16394         * tests/test-argp-2.sh: Use $EXEEXT when needed.
16395
16396 2008-10-27  Simon Josefsson  <simon@josefsson.org>
16397
16398         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
16399
16400 2008-10-27  Bruno Haible  <bruno@clisp.org>
16401
16402         * tests/test-lstat.c: Include <stdio.h>.
16403
16404 2008-10-27  Simon Josefsson  <simon@josefsson.org>
16405
16406         * modules/lstat-tests: New module.
16407         * tests/test-lstat.c: New file.
16408
16409 2008-10-26  Jim Meyering  <meyering@redhat.com>
16410
16411         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
16412
16413 2008-10-26  Simon Josefsson  <simon@josefsson.org>
16414             Bruno Haible  <bruno@clisp.org>
16415
16416         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
16417         * modules/configmake (Include): Add a note that the include must come
16418         after all system headers.
16419         * lib/javaversion.c: Include configmake.h after all other includes.
16420
16421 2008-10-26  Bruno Haible  <bruno@clisp.org>
16422
16423         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
16424         HAVE_STRUCT_RANDOM_DATA to 1.
16425         (gl_STDLIB_H): Simplify.
16426
16427 2008-10-26  Simon Josefsson  <simon@josefsson.org>
16428
16429         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
16430         substitute HAVE_STRUCT_RANDOM_DATA.
16431         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
16432         random_data.
16433         * modules/stdlib (Makefile.am): Substitute
16434         HAVE_STRUCT_RANDOM_DATA.
16435
16436 2008-10-26  Simon Josefsson  <simon@josefsson.org>
16437
16438         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
16439         * doc/gnulib-intro.texi (Copyright): Likewise.
16440
16441 2008-10-26  Simon Josefsson  <simon@josefsson.org>
16442
16443         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
16444         findings.
16445
16446 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
16447             Bruno Haible  <bruno@clisp.org>
16448
16449         * lib/unistd.in.h: Include <winsock2.h>.
16450         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
16451         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
16452         Provide dummy declarations.
16453         (gethostname): Override.
16454         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
16455         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
16456         gl_PREREQ_SYS_H_WINSOCK2.
16457         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
16458         * doc/posix-functions/gethostname.texi: More details.
16459
16460 2008-10-25  Bruno Haible  <bruno@clisp.org>
16461
16462         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
16463         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
16464         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
16465
16466         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
16467         here ...
16468         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
16469         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
16470         gl_UNISTD_H_DEFAULTS.
16471
16472 2008-10-25  Eric Blake  <ebb9@byu.net>
16473
16474         signbit: avoid spurious compiler failure
16475         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
16476         declarations inside function.
16477
16478 2008-10-24  Simon Josefsson  <simon@josefsson.org>
16479             Bruno Haible  <bruno@clisp.org>
16480
16481         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
16482         * modules/random_r (Depends-on): Add stdint.
16483
16484 2008-10-24  Bruno Haible  <bruno@clisp.org>
16485
16486         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
16487         Eggert.
16488         * modules/strerror (License): Likewise.
16489
16490 2008-10-24  Jim Meyering  <meyering@redhat.com>
16491
16492         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
16493         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
16494
16495 2008-10-24  Eric Blake  <ebb9@byu.net>
16496
16497         getgroups: fix compilation when getgroups is available
16498         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
16499         but with <config.h> override of getgroups disabled.
16500
16501 2008-10-24  Simon Josefsson  <simon@josefsson.org>
16502
16503         * doc/gnulib.texi (Header files): Add note about C++ problems.
16504         Explained by Bruno Haible <bruno@clisp.org>.
16505
16506 2008-10-23  Bruno Haible  <bruno@clisp.org>
16507
16508         Define a dummy SA_NODEFER macro on Interix.
16509         * lib/signal.in.h (SA_NODEFER): Define fallback.
16510         Reported by Aleksey Cheusov <cheusov@tut.by> via
16511         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
16512
16513 2008-10-23  Bruno Haible  <bruno@clisp.org>
16514
16515         * modules/freadahead (License): Change to LGPLv2+.
16516         Suggested by Simon Josefsson.
16517
16518 2008-10-23  Jim Meyering  <meyering@redhat.com>
16519
16520         random_r: new module
16521         * modules/random_r: New file.
16522         * m4/random_r.m4: New file.
16523         * lib/random_r.c: New file, from glibc.
16524         * modules/random_r-tests: New file.
16525         * tests/test-random_r.c: New file.
16526         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
16527          Declare.
16528         (RAND_MAX): Define.
16529         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
16530         * modules/stdlib: Substitute them, too.
16531         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
16532         * doc/glibc-functions/initstate_r.texi: Mention the new module.
16533         * doc/glibc-functions/random_r.texi: Likewise.
16534         * doc/glibc-functions/setstate_r.texi: Likewise.
16535         * doc/glibc-functions/srandom_r.texi: Likewise.
16536         * config/srclist.txt: Mention it.
16537
16538 2008-10-23  David Lutterkort  <lutter@redhat.com>
16539
16540         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
16541         link requirement
16542
16543 2008-10-23  Jim Meyering  <meyering@redhat.com>
16544
16545         selinux-h: mark parameters of stub functions as intentionally unused
16546         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
16547         * lib/se-context.in.h: Likewise.
16548
16549 2008-10-22  Simon Josefsson  <simon@josefsson.org>
16550
16551         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
16552
16553 2008-10-22  Simon Josefsson  <simon@josefsson.org>
16554
16555         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
16556
16557 2008-10-22  Eric Blake  <ebb9@byu.net>
16558
16559         glthread/thread: avoid compiler warning
16560         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
16561         Add unreachable abort to silence compiler.
16562
16563 2008-10-22  Eric Blake  <ebb9@byu.net>
16564
16565         netdb: also supply struct addrinfo for cygwin 1.5.x
16566         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
16567         older cygwin.
16568         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
16569         cygwin.
16570         * doc/posix-headers/netdb.texi (netdb.h): Document this.
16571
16572 2008-10-22  Bruno Haible  <bruno@clisp.org>
16573
16574         * users.txt: Update entry about pspp.
16575
16576 2008-10-21  Bruno Haible  <bruno@clisp.org>
16577
16578         Simplification.
16579         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
16580         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
16581
16582         Simplification.
16583         * lib/ioctl.c (ioctl): Don't undefine.
16584         * lib/socket.c (socket): Don't undefine.
16585
16586         Remove unused module indicator macros.
16587         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
16588         GNULIB_$1 as a C macro.
16589
16590         * doc/posix-functions/close.texi: Undo last change.
16591         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
16592         Windows platforms.
16593
16594 2008-10-21  Bruno Haible  <bruno@clisp.org>
16595
16596         Add gethostname() declaration to <unistd.h>.
16597         * lib/unistd.in.h (gethostname): New declaration.
16598         * lib/gethostname.c: Include <unistd.h>.
16599         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
16600         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
16601         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
16602         and HAVE_GETHOSTNAME.
16603         * modules/gethostname (Depends-on): Add unistd.
16604         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
16605         (Include): Specify <unistd.h>.
16606         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
16607         HAVE_GETHOSTNAME.
16608         * tests/test-gethostname.c: Include <unistd.h> first.
16609
16610 2008-10-21  Bruno Haible  <bruno@clisp.org>
16611
16612         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
16613         * modules/select-tests (Depends-on): Likewise.
16614         Reported by Simon Josefsson.
16615
16616 2008-10-21  Simon Josefsson  <simon@josefsson.org>
16617
16618         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
16619         * lib/accept.c: New file, based on winsock.c.
16620         * lib/bind.c: New file, based on winsock.c.
16621         * lib/connect.c: New file, based on winsock.c.
16622         * lib/getpeername.c: New file, based on winsock.c.
16623         * lib/getsockname.c: New file, based on winsock.c.
16624         * lib/getsockopt.c: New file, based on winsock.c.
16625         * lib/ioctl.c: New file, based on winsock.c.
16626         * lib/listen.c: New file, based on winsock.c.
16627         * lib/recv.c: New file, based on winsock.c.
16628         * lib/recvfrom.c: New file, based on winsock.c.
16629         * lib/send.c: New file, based on winsock.c.
16630         * lib/sendto.c: New file, based on winsock.c.
16631         * lib/setsockopt.c: New file, based on winsock.c.
16632         * lib/shutdown.c: New file, based on winsock.c.
16633         * lib/socket.c: New file, based on winsock.c.
16634         * lib/w32sock.h: New file, based on winsock.c.
16635         * lib/winsock.c: Remove file.
16636         * modules/accept: Likewise.
16637         * modules/bind: Likewise.
16638         * modules/connect: Likewise.
16639         * modules/getpeername: Likewise.
16640         * modules/getsockname: Likewise.
16641         * modules/getsockopt: Likewise.
16642         * modules/ioctl: Likewise.
16643         * modules/listen: Likewise.
16644         * modules/recv: Likewise.
16645         * modules/recvfrom: Likewise.
16646         * modules/send: Likewise.
16647         * modules/sendto: Likewise.
16648         * modules/setsockopt: Likewise.
16649         * modules/shutdown: Likewise.
16650         * modules/socket: Use socket.c instead of winsock.c.
16651         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
16652         * doc/posix-functions/accept.texi: Doc fix.
16653         * doc/posix-functions/bind.texi: Doc fix.
16654         * doc/posix-functions/close.texi: Doc fix.
16655         * doc/posix-functions/connect.texi: Doc fix.
16656         * doc/posix-functions/getpeername.texi: Doc fix.
16657         * doc/posix-functions/getsockname.texi: Doc fix.
16658         * doc/posix-functions/getsockopt.texi: Doc fix.
16659         * doc/posix-functions/ioctl.texi: Doc fix.
16660         * doc/posix-functions/listen.texi: Doc fix.
16661         * doc/posix-functions/recv.texi: Doc fix.
16662         * doc/posix-functions/recvfrom.texi: Doc fix.
16663         * doc/posix-functions/send.texi: Doc fix.
16664         * doc/posix-functions/sendto.texi: Doc fix.
16665         * doc/posix-functions/setsockopt.texi: Doc fix.
16666         * doc/posix-functions/shutdown.texi: Doc fix.
16667         * doc/posix-functions/socket.texi: Doc fix.
16668
16669 2008-10-20  Bruno Haible  <bruno@clisp.org>
16670
16671         Take into account the role of SIGABRT_COMPAT on Windows 2008.
16672         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
16673         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
16674         as an alias for SIGABRT.
16675         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
16676         (sigaction): Map it to SIGABRT.
16677         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
16678
16679 2008-10-20  Bruno Haible  <bruno@clisp.org>
16680
16681         * lib/fts.c: Don't include lstat.h.
16682         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
16683
16684         Move the lstat() declaration to <sys/stat.h>.
16685         * lib/lstat.h: Remove file.
16686         * lib/sys_stat.in.h: Add special invocation convention.
16687         (lstat): New declaration.
16688         * lib/lstat.c (orig_lstat): New function.
16689         (rpl_lstat): Use orig_lstat instead of lstat.
16690         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
16691         AC_C_INLINE. Set REPLACE_LSTAT.
16692         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
16693         and REPLACE_LSTAT.
16694         * modules/lstat (Files): Remove lib/lstat.h.
16695         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
16696         (Include): Specify <sys/stat.h> instead of lstat.h.
16697         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
16698         REPLACE_LSTAT.
16699         * NEWS: Mention the change.
16700
16701 2008-10-20  Bruno Haible  <bruno@clisp.org>
16702
16703         * modules/posix_spawn-tests: New file.
16704         * tests/test-posix_spawn3.c: New file.
16705
16706 2008-10-20  Bruno Haible  <bruno@clisp.org>
16707
16708         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
16709         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
16710         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
16711         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
16712         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
16713
16714 2008-10-20  Bruno Haible  <bruno@clisp.org>
16715
16716         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
16717         of posix_spawn on AIX 5.3.
16718
16719 2008-10-20  Bruno Haible  <bruno@clisp.org>
16720
16721         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
16722
16723 2008-10-20  Bruno Haible  <bruno@clisp.org>
16724
16725         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
16726         of AC_LANG_PROGRAM.
16727
16728 2008-10-20  Simon Josefsson  <simon@josefsson.org>
16729
16730         * lib/netdb.in.h: Don't define GNU specific constants until they
16731         are supported or needed.  Reported by Bruno Haible
16732         <bruno@clisp.org>.
16733
16734 2008-10-20  Simon Josefsson  <simon@josefsson.org>
16735
16736         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
16737
16738 2008-10-20  Simon Josefsson  <simon@josefsson.org>
16739
16740         * lib/getaddrinfo.h: Remove file.
16741         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
16742         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
16743         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
16744         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
16745         * modules/netdb: Substitute GNULIB_GETADDRINFO.
16746         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
16747         * tests/test-getaddrinfo.c: Likewise.
16748         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
16749         * NEWS: Mention change.
16750
16751 2008-10-19  Bruno Haible  <bruno@clisp.org>
16752
16753         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
16754
16755 2008-10-19  Bruno Haible  <bruno@clisp.org>
16756
16757         * lib/wait-process.c: Include simply <sys/wait.h>.
16758         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
16759         WIFSTOPPED): Remove fallback definitions.
16760         * modules/wait-process (Depends-on): Add sys_wait.
16761
16762         New module 'sys_wait'.
16763         * modules/sys_wait: New file.
16764         * lib/sys_wait.in.h: New file, partially copied from
16765         lib/wait-process.c.
16766         * m4/sys_wait_h.m4: New file.
16767         * doc/posix-headers/sys_wait.texi: Mention the new module.
16768
16769 2008-10-19  Bruno Haible  <bruno@clisp.org>
16770
16771         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
16772
16773 2008-10-19  Bruno Haible  <bruno@clisp.org>
16774
16775         Assume that waitpid() fills an 'int' status, not a 'union wait'.
16776         * lib/wait-process.c (WAIT_T): Remove type.
16777         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
16778         (wait_subprocess): Update.
16779
16780 2008-10-19  Bruno Haible  <bruno@clisp.org>
16781
16782         New module 'atoll'.
16783         * modules/atoll: New file.
16784         * lib/stdlib.in.h (atoll): New declaration.
16785         * lib/atoll.c: New file, from glibc with modifications.
16786         * m4/atoll.m4: New file.
16787         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
16788         HAVE_ATOLL.
16789         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
16790         * doc/posix-functions/atoll.texi: Mention the new module.
16791
16792 2008-10-19  Bruno Haible  <bruno@clisp.org>
16793
16794         Add strtoull() declaration to <stdlib.h>.
16795         * lib/stdlib.in.h (strtoull): New declaration.
16796         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
16797         Set HAVE_STRTOULL.
16798         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
16799         HAVE_STRTOULL.
16800         * modules/strtoull (Depends-on): Add stdlib.
16801         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
16802         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
16803         HAVE_STRTOULL.
16804
16805 2008-10-19  Bruno Haible  <bruno@clisp.org>
16806
16807         Add strtoll() declaration to <stdlib.h>.
16808         * lib/stdlib.in.h (strtoll): New declaration.
16809         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
16810         Set HAVE_STRTOLL.
16811         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
16812         HAVE_STRTOLL.
16813         * modules/strtoll (Depends-on): Add stdlib.
16814         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
16815         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
16816
16817 2008-10-19  Bruno Haible  <bruno@clisp.org>
16818
16819         * modules/bcopy (Depends-on): Add strings.
16820         (Include): Specify <strings.h>.
16821
16822 2008-10-19  Bruno Haible  <bruno@clisp.org>
16823
16824         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
16825
16826 2008-10-19  Bruno Haible  <bruno@clisp.org>
16827
16828         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
16829         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
16830         mingw.
16831
16832 2008-10-19  Bruno Haible  <bruno@clisp.org>
16833
16834         * lib/atanl.c: Don't include isnanl.h.
16835         * lib/cosl.c: Likewise.
16836         * lib/ldexpl.c: Likewise.
16837         * lib/logl.c: Likewise.
16838         * lib/sinl.c: Likewise.
16839         * lib/sqrtl.c: Likewise.
16840         * lib/tanl.c: Likewise.
16841
16842         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
16843         * lib/isnanf.h: Remove file.
16844         * lib/isnand.h: Remove file.
16845         * lib/isnanl.h: Remove file.
16846         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
16847         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
16848         macros.
16849         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
16850         HAVE_ISNANF, don't define it as a C macro.
16851         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
16852         HAVE_ISNAND, don't define it as a C macro.
16853         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
16854         HAVE_ISNANL, don't define it as a C macro.
16855         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
16856         HAVE_ISNAN[FDL].
16857         * modules/isnanf (Files): Remove lib/isnanf.h.
16858         (Depends-on): Add math.
16859         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
16860         (Include): Specify <math.h> instead of isnanf.h.
16861         * modules/isnand (Files): Remove lib/isnand.h.
16862         (Depends-on): Add math.
16863         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
16864         (Include): Specify <math.h> instead of isnand.h.
16865         * modules/isnanl (Files): Remove lib/isnanl.h.
16866         (Depends-on): Add math.
16867         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
16868         (Include): Specify <math.h> instead of isnanl.h.
16869         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
16870         HAVE_ISNAN[FDL].
16871         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
16872         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
16873         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
16874         * NEWS: Mention the change.
16875
16876 2008-10-18  Bruno Haible  <bruno@clisp.org>
16877
16878         Add getusershell(), setusershell(), endusershell() declarations to
16879         <unistd.h>.
16880         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
16881         declarations.
16882         * lib/getusershell.c: Include unistd.h.
16883         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
16884         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
16885         HAVE_GETUSERSHELL.
16886         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
16887         and HAVE_GETUSERSHELL.
16888         * modules/getusershell (Depends-on): Add unistd, extensions.
16889         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
16890         (Include): Specify <unistd.h>.
16891         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
16892         HAVE_GETUSERSHELL.
16893
16894 2008-10-18  Bruno Haible  <bruno@clisp.org>
16895
16896         Add a getloadavg() declaration to <stdlib.h>.
16897         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
16898         getloadavg declaration.
16899         (getloadavg): New declaration.
16900         * lib/getloadavg.c: Include <stdlib.h> first.
16901         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
16902         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
16903         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
16904         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
16905         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
16906         * modules/getloadavg (Depends-on): Add stdlib, extensions.
16907         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
16908         (Include): Specify <stdlib.h>.
16909         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
16910         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
16911
16912 2008-10-18  Bruno Haible  <bruno@clisp.org>
16913
16914         * lib/dirchownmod.c: Don't include lchmod.h.
16915
16916         Move the lchmod() declaration to <sys/stat.h>.
16917         * lib/lchmod.h: Remove file.
16918         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
16919         (lchmod): New declaration, moved here from lib/lchown.h.
16920         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
16921         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
16922         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
16923         and HAVE_LCHMOD.
16924         * modules/lchmod (Files): Remove lib/lchmod.h.
16925         (Depends-on): Add sys_stat, extensions.
16926         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
16927         (Include): Specify <sys/stat.h> instead of lchmod.h.
16928         * modules/sys_stat (Depends-on): Add link-warning.
16929         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
16930         definition of GL_LINK_WARNING.
16931         * NEWS: Mention the change.
16932
16933 2008-10-18  Bruno Haible  <bruno@clisp.org>
16934
16935         * lib/fchdir.c: Don't include dirfd.h.
16936         * lib/fts.c: Likewise.
16937         * lib/getcwd.c: Likewise.
16938         * lib/glob.c: Likewise.
16939
16940         Move the dirfd() declaration to <dirent.h>.
16941         * lib/dirfd.h: Remove file.
16942         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
16943         (dirfd): New declaration.
16944         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
16945         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
16946         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
16947         HAVE_DECL_DIRFD.
16948         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
16949         HAVE_DECL_DIRFD.
16950         * modules/dirfd (Files): Remove lib/dirfd.h.
16951         (Depends-on): Add dirent, extensions.
16952         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
16953         (Include): Specify <dirent.h> instead of dirfd.h.
16954         * modules/dirent (Depends-on): Add link-warning.
16955         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
16956         definition of GL_LINK_WARNING.
16957         * NEWS: Mention the change.
16958
16959 2008-10-18  Bruno Haible  <bruno@clisp.org>
16960
16961         Move the euidaccess() declaration to <unistd.h>.
16962         * lib/euidaccess.h: Remove file.
16963         * lib/unistd.in.h (euidaccess): New declaration.
16964         * lib/euidaccess.c: Don't include euidaccess.h.
16965         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
16966         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
16967         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
16968         and HAVE_EUIDACCESS.
16969         * modules/euidaccess (Files): Remove lib/euidaccess.h.
16970         (Depends-on): Add unistd.
16971         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
16972         (Include): Specify <unistd.h> instead of euidaccess.h.
16973         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
16974         HAVE_EUIDACCESS.
16975         * NEWS: Mention the change.
16976
16977 2008-10-18  Bruno Haible  <bruno@clisp.org>
16978
16979         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
16980
16981         Move the getdomainname() declaration to <unistd.h>.
16982         * lib/getdomainname.h: Remove file.
16983         * lib/unistd.in.h (getdomainname): New declaration.
16984         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
16985         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
16986         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
16987         HAVE_GETDOMAINNAME.
16988         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
16989         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
16990         * modules/getdomainname (Files): Remove lib/getdomainname.h.
16991         (Depends-on): Add unistd, extensions.
16992         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
16993         (Includes): Specify <unistd.h> instead of getdomainname.h.
16994         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
16995         HAVE_GETDOMAINNAME.
16996         * NEWS: Mention the change.
16997
16998 2008-10-18  Bruno Haible  <bruno@clisp.org>
16999
17000         * modules/dirent: New file.
17001         * m4/dirent_h.m4: New file.
17002         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
17003         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
17004         * modules/fchdir (Files): Remove lib/dirent.in.h.
17005         (Depends-on): Add dirent.
17006         (Makefile.am): Move rules to modules/dirent.
17007         * doc/posix-headers/dirent.texi: Mention the new module.
17008
17009 2008-10-18  Bruno Haible  <bruno@clisp.org>
17010
17011         Avoid -Wunused-parameter warnings in public gnulib header files.
17012         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
17013         macro.
17014         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
17015
17016 2008-10-18  Bruno Haible  <bruno@clisp.org>
17017
17018         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
17019         * doc/glibc-functions/error.texi: Mention the module 'error'.
17020         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
17021         * doc/glibc-functions/getdomainname.texi: Mention the module
17022         'getdomainname'.
17023         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
17024         * doc/glibc-functions/getpagesize.texi: Mention the module
17025         'getpagesize'.
17026         * doc/glibc-functions/getusershell.texi: Mention the module
17027         'getusershell'.
17028         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
17029         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
17030         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
17031         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
17032         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
17033         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
17034         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
17035         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
17036         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
17037         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
17038         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
17039         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
17040         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
17041         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
17042
17043 2008-10-17  Bruno Haible  <bruno@clisp.org>
17044
17045         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
17046         HP-UX and IRIX, use -0.0L.
17047         * tests/test-ceill.c (minus_zero): Likewise.
17048         * tests/test-floorl.c (minus_zero): Likewise.
17049         * tests/test-frexpl.c (minus_zero): Likewise.
17050         * tests/test-isnan.c (minus_zerol): Likewise.
17051         * tests/test-isnanl.h (minus_zero): Likewise.
17052         * tests/test-ldexpl.c (minus_zero): Likewise.
17053         * tests/test-roundl.c (minus_zero): Likewise.
17054         * tests/test-signbit.c (minus_zerol): Likewise.
17055         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
17056         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
17057         * tests/test-truncl.c (minus_zero): Likewise.
17058         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
17059         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
17060         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
17061         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
17062
17063 2008-10-17  Bruno Haible  <bruno@clisp.org>
17064
17065         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
17066         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
17067         that it gets activated only for gcc >= 3.0.
17068         * lib/dirent.in.h: Likewise.
17069         * lib/errno.in.h: Likewise.
17070         * lib/fcntl.in.h: Likewise.
17071         * lib/float.in.h: Likewise.
17072         * lib/iconv.in.h: Likewise.
17073         * lib/inttypes.in.h: Likewise.
17074         * lib/locale.in.h: Likewise.
17075         * lib/math.in.h: Likewise.
17076         * lib/netdb.in.h: Likewise.
17077         * lib/netinet_in.in.h: Likewise.
17078         * lib/search.in.h: Likewise.
17079         * lib/signal.in.h: Likewise.
17080         * lib/spawn.in.h: Likewise.
17081         * lib/stdarg.in.h: Likewise.
17082         * lib/stdint.in.h: Likewise.
17083         * lib/stdio.in.h: Likewise.
17084         * lib/stdlib.in.h: Likewise.
17085         * lib/string.in.h: Likewise.
17086         * lib/strings.in.h: Likewise.
17087         * lib/sys_file.in.h: Likewise.
17088         * lib/sys_ioctl.in.h: Likewise.
17089         * lib/sys_select.in.h: Likewise.
17090         * lib/sys_socket.in.h: Likewise.
17091         * lib/sys_stat.in.h: Likewise.
17092         * lib/sys_time.in.h: Likewise.
17093         * lib/sysexits.in.h: Likewise.
17094         * lib/time.in.h: Likewise.
17095         * lib/unistd.in.h: Likewise.
17096         * lib/wchar.in.h: Likewise.
17097         * lib/wctype.in.h: Likewise.
17098         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
17099
17100 2008-10-17  Jim Meyering  <meyering@redhat.com>
17101
17102         ignore-value: don't depend on inline module
17103         * modules/ignore-value (Depends-on): Remove 'inline'.
17104         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
17105         Suggestion from Bruno Haible.
17106
17107 2008-10-17  Bruno Haible  <bruno@clisp.org>
17108
17109         New implementation of condition variables for Win32.
17110         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
17111         (gl_linked_waitqueue_t): New type.
17112         (gl_cond_t): Use it.
17113         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
17114         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
17115         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
17116         (glthread_cond_init_func, glthread_cond_wait_func,
17117         glthread_cond_timedwait_func, glthread_cond_signal_func,
17118         glthread_cond_broadcast_func, glthread_cond_destroy_func):
17119         Reimplemented on the basis of gl_linked_waitqueue_t.
17120         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
17121         gl_waitqueue_t.
17122         (gl_rwlock_t): Update.
17123         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
17124
17125 2008-10-17  Simon Josefsson  <simon@josefsson.org>
17126
17127         * modules/recvfrom (Depends-on): Add dependency on getpeername.
17128         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
17129
17130 2008-10-17  Jim Meyering  <meyering@redhat.com>
17131
17132         ignore-value: new module
17133         * modules/ignore-value: New file.
17134         * lib/ignore-value.h: New file.
17135         * MODULES.html.sh (Compiler warning management): New section,
17136         just for this module.  More to come.
17137
17138 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
17139
17140         open-safer.c: avoid 'signed and unsigned in conditional...' warning
17141         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
17142         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
17143
17144 2008-10-16  Jim Meyering  <meyering@redhat.com>
17145
17146         openat-die.c: avoid 'no previous prototype' warning
17147         * lib/openat-die.c: Include "openat.h".
17148         Reported by Reuben Thomas <rrt@sc3d.org>.
17149
17150 2008-10-16  Simon Josefsson  <simon@josefsson.org>
17151
17152         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
17153         * lib/netdb.in.h: Fix typo.
17154         Reported by Bruno Haible  <bruno@clisp.org>
17155
17156         * lib/netdb.in.h: Include sys/socket.h for platforms without
17157         netdb.h, to get structures like hostent on MinGW.
17158         * modules/netdb (Depends-on): Add sys_socket.
17159
17160 2008-10-15  Simon Josefsson  <simon@josefsson.org>
17161
17162         * modules/netdb, modules/netdb-tests: New file.
17163         * m4/netdb_h.m4: New file.
17164         * lib/netdb.in.h: Add, currently just an empty file pending
17165         definitions.
17166         * tests/test-netdb.c: New file.
17167         * doc/posix-headers/netdb.texi: Mention that we replace it if
17168         needed.
17169         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
17170         netdb.
17171
17172 2008-10-15  Simon Josefsson  <simon@josefsson.org>
17173
17174         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
17175         with code.
17176
17177 2008-10-13  Bruno Haible  <bruno@clisp.org>
17178
17179         * lib/glthread/cond.c (glthread_cond_wait_func,
17180         glthread_cond_timedwait_func): Add a comment.
17181
17182 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
17183
17184         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
17185         * tests/test-select.c: Likewise,
17186
17187 2008-10-13  Bruno Haible  <bruno@clisp.org>
17188
17189         * lib/glthread/cond.c (glthread_cond_wait_func,
17190         glthread_cond_timedwait_func): Fix variable name.
17191         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
17192
17193 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
17194
17195         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
17196         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
17197         struct sockaddr.sa_len.
17198         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
17199
17200 2008-10-13  Simon Josefsson  <simon@josefsson.org>
17201
17202         * build-aux/pmccabe2html: Add css and css_url parameters.
17203
17204 2008-10-12  Bruno Haible  <bruno@clisp.org>
17205
17206         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
17207         calling aclx_get.
17208         Reported by Rainer Tammer <tammer@tammer.net>.
17209
17210 2008-10-12  Bruno Haible  <bruno@clisp.org>
17211
17212         Use msvcrt aware primitives for creation/termination of Win32 threads.
17213         * lib/glthread/thread.c: Include <process.h>.
17214         (glthread_create_func): Use _beginthreadex instead of CreateThread.
17215         (wrapper_func): Update signature.
17216         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
17217
17218 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
17219             Bruno Haible  <bruno@clisp.org>
17220
17221         Provide a Win32 implementation of the 'cond' module.
17222         * lib/glthread/cond.h [USE_WIN32]: New implementation.
17223         * lib/glthread/cond.c (glthread_cond_init_func,
17224         glthread_cond_wait_func, glthread_cond_timedwait_func,
17225         glthread_cond_signal_func, glthread_cond_broadcast_func,
17226         glthread_cond_destroy_func) [USE_WIN32]: New functions.
17227         * modules/cond (Dependencies): Add gettimeofday.
17228
17229 2008-10-11  Bruno Haible  <bruno@clisp.org>
17230
17231         Make sleep work on older versions of mingw.
17232         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
17233         only whether it exists.
17234         * doc/posix-functions/sleep.texi: Mention the problem with older
17235         versions of mingw.
17236
17237 2008-10-11  Bruno Haible  <bruno@clisp.org>
17238
17239         New module 'shutdown'.
17240         * modules/shutdown: New file.
17241         * lib/sys_socket.in.h (shutdown): New declaration.
17242         * lib/winsock.c (shutdown): New function.
17243         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
17244         GNULIB_SHUTDOWN.
17245         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
17246         * doc/posix-functions/shutdown.texi: Document the new module.
17247
17248 2008-10-11  Jim Meyering  <meyering@redhat.com>
17249
17250         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
17251
17252 2008-10-11  Bruno Haible  <bruno@clisp.org>
17253
17254         New module 'fclose'.
17255         * modules/fclose: New file.
17256         * lib/stdio.in.h (fclose): New declaration.
17257         * lib/fclose.c: New file.
17258         * m4/fclose.m4: New file.
17259         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
17260         REPLACE_FCLOSE.
17261         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
17262         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
17263         REPLACE_FCLOSE.
17264         * modules/close (Depends-on): fclose.
17265         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
17266
17267 2008-10-11  Bruno Haible  <bruno@clisp.org>
17268
17269         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
17270         set errno and don't call _close.
17271
17272 2008-10-10  Bruno Haible  <bruno@clisp.org>
17273
17274         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
17275         ACL, not afterwards. Fixes test failure on Cygwin.
17276
17277 2008-10-09  Ben Pfaff  <blp@gnu.org>
17278
17279         * build-aux/announce-gen: Fix gnulib version related part of usage
17280         message.  Die with a useful error message if no tarballs are
17281         found.
17282
17283 2008-10-10  Jim Meyering  <meyering@redhat.com>
17284
17285         bootstrap: use git's --depth=N option only if it's supported
17286         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
17287         recognize the --depth option.  Reported by Pádraig Brady.
17288
17289 2008-10-09  Bruno Haible  <bruno@clisp.org>
17290
17291         New module 'ioctl'.
17292         * modules/ioctl: New file.
17293         * lib/sys_socket.in.h (ioctl): Remove declaration.
17294         * lib/winsock.c: Include <sys/ioctl.h>.
17295         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
17296         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
17297         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
17298         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
17299         * doc/posix-functions/ioctl.texi: Mention the new module.
17300
17301 2008-10-09  Bruno Haible  <bruno@clisp.org>
17302
17303         New module 'sys_ioctl'.
17304         * lib/sys_ioctl.in.h: New file.
17305         * m4/sys_ioctl_h.m4: New file.
17306         * modules/sys_ioctl: New file.
17307         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
17308
17309 2008-10-09  Bruno Haible  <bruno@clisp.org>
17310
17311         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
17312         * lib/winsock.c: Include <stdarg.h>.
17313         (rpl_ioctl): Change to second argument 'int' and then varargs.
17314
17315 2008-10-09  Bruno Haible  <bruno@clisp.org>
17316
17317         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
17318         when the sys_socket module is present and the system has <winsock2.h>.
17319
17320 2008-10-09  Bruno Haible  <bruno@clisp.org>
17321
17322         * doc/posix-functions/close.texi: Mention module 'close' instead of
17323         module 'sys_socket'.
17324
17325 2008-10-09  Bruno Haible  <bruno@clisp.org>
17326
17327         * doc/glibc-headers/sys_ioctl.texi: New file.
17328         * doc/gnulib.texi: Include it.
17329
17330 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
17331             Bruno Haible  <bruno@clisp.org>
17332
17333         Combine the two replacements of 'close'.
17334         * lib/sys_socket.in.h (close): Define to a reminder to include
17335         <unistd.h>.
17336         (_gl_close_fd_maybe_socket): New declaration.
17337         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
17338         * lib/winsock.c (close): Remove undefinition.
17339         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
17340         needed for the gnulib module 'close'.
17341         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
17342         define to an error symbol or to a warning, if suitable.
17343         * lib/close.c: Include <sys/socket.h>.
17344         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
17345         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
17346         UNISTD_H_HAVE_WINSOCK2_H.
17347         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
17348         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17349         UNISTD_H_HAVE_WINSOCK2_H.
17350         * modules/sys_socket (Files): Add m4/unistd_h.m4.
17351         (configure.ac): Set a module indicator.
17352         (Makefile.am): Substitute GNULIB_CLOSE.
17353         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
17354         * modules/poll-tests (Depends-on): Add close.
17355         * modules/select-tests (Depends-on): Likewise.
17356
17357 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
17358             Bruno Haible  <bruno@clisp.org>
17359
17360         New module 'close'.
17361         * modules/close: New file.
17362         * lib/unistd.in.h (close): Move declaration out of the
17363         FCHDIR_REPLACEMENT scope.
17364         (_gl_unregister_fd): New declaration.
17365         * lib/close.c: New file.
17366         * lib/fchdir.c (rpl_close): Remove function.
17367         * m4/close.m4: New file.
17368         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
17369         close.
17370         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
17371         REPLACE_CLOSE.
17372         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
17373         REPLACE_CLOSE.
17374         * modules/fchdir (Depends-on): Add close.
17375
17376 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
17377             Bruno Haible  <bruno@clisp.org>
17378
17379         * lib/fcntl.in.h (open): Simplify conditionals.
17380         (_gl_register_fd): New declaration.
17381         * lib/fchdir.c (rpl_open): Remove function.
17382         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
17383         also.
17384         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
17385         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
17386         open.
17387
17388 2008-10-09  Jim Meyering  <meyering@redhat.com>
17389
17390         GNUmakefile: use the more name-space-friendly "_version"
17391         * top/GNUmakefile (_dummy): Update.
17392         (_version): Rename from "version".
17393
17394 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
17395             Bruno Haible  <bruno@clisp.org>
17396
17397         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
17398         rpl_close.
17399         (_gl_register_fd): New function, extracted from rpl_open.
17400         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
17401         (rpl_open, rpl_opendir): Use _gl_register_fd.
17402
17403 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
17404
17405         Fix organization of 'open' replacement.
17406         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
17407         (gl_FUNC_OPEN): Use it.
17408         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
17409
17410 2008-10-08  Bruno Haible  <bruno@clisp.org>
17411
17412         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
17413
17414 2008-10-08  Simon Josefsson  <simon@josefsson.org>
17415
17416         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
17417         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
17418         listen).
17419
17420 2008-10-08  Eric Blake  <ebb9@byu.net>
17421
17422         GNUmakefile: add 'make version' target
17423         * top/GNUmakefile (_curr-ver): Split version update rules...
17424         (version): ...into a target.
17425
17426 2008-10-07  Bruno Haible  <bruno@clisp.org>
17427
17428         Use a more portable replacement expression for -0.0L.
17429         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
17430         instead of -0.0L. Fix m4 quotation.
17431
17432         * tests/test-signbit.c: Include <float.h>.
17433         (minus_zero): New variable.
17434         (test_signbitl): Use minus_zero instead of -zero.
17435         * modules/signbit-tests (Depends-on): Add float.
17436
17437         * tests/test-ceill.c: Include <float.h>.
17438         (zero): Remove variable.
17439         (minus_zero): New variable.
17440         (main): Use minus_zero instead of -zero.
17441         * modules/ceill-tests (Depends-on): Add float.
17442
17443         * tests/test-floorl.c: Include <float.h>.
17444         (zero): Remove variable.
17445         (minus_zero): New variable.
17446         (main): Use minus_zero instead of -zero.
17447         * modules/floorl-tests (Depends-on): Add float.
17448
17449         * tests/test-roundl.c: Include <float.h>.
17450         (zero): Remove variable.
17451         (minus_zero): New variable.
17452         (main): Use minus_zero instead of -zero.
17453         * modules/roundl-tests (Depends-on): Add float.
17454
17455         * tests/test-truncl.c: Include <float.h>.
17456         (zero): Remove variable.
17457         (minus_zero): New variable.
17458         (main): Use minus_zero instead of -zero.
17459         * modules/truncl-tests (Depends-on): Add float.
17460
17461         * tests/test-frexpl.c (zero): Remove variable.
17462         (minus_zero): New variable.
17463         (main): Use minus_zero instead of -zero.
17464         * modules/frexpl-tests (Depends-on): Add float.
17465
17466         * tests/test-isnan.c (zerol): Remove variable.
17467         (minus_zerol): New variable.
17468         (test_long_double): Use minus_zerol instead of -zerol.
17469         * modules/isnan-tests (Depends-on): Add float.
17470
17471         * tests/test-isnanl.h (zero): Remove variable.
17472         (minus_zero): New variable.
17473         (main): Use minus_zero instead of -zero.
17474         * modules/isnanl-nolibm-tests (Depends-on): Add float.
17475         * modules/isnanl-tests (Depends-on): Add float.
17476
17477         * tests/test-ldexpl.c (zero): Remove variable.
17478         (minus_zero): New variable.
17479         (main): Use minus_zero instead of -zero.
17480         * modules/ldexpl-tests (Depends-on): Add float.
17481
17482         * tests/test-snprintf-posix.h (zerol): Remove variable.
17483         (minus_zerol): New variable.
17484         (test_function): Use minus_zerol instead of -zerol.
17485         * modules/snprintf-posix-tests (Depends-on): Add float.
17486         * modules/vsnprintf-posix-tests (Depends-on): Add float.
17487
17488         * tests/test-sprintf-posix.h (zerol): Remove variable.
17489         (minus_zerol): New variable.
17490         (test_function): Use minus_zerol instead of -zerol.
17491         * modules/sprintf-posix-tests (Depends-on): Add float.
17492         * modules/vsprintf-posix-tests (Depends-on): Add float.
17493
17494         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
17495         (minus_zerol): New variable.
17496         (test_function): Use minus_zerol instead of -zerol.
17497         * modules/vasnprintf-posix-tests (Depends-on): Add float.
17498
17499         * tests/test-vasprintf-posix.c (zerol): Remove variable.
17500         (minus_zerol): New variable.
17501         (test_function): Use minus_zerol instead of -zerol.
17502         * modules/vasprintf-posix-tests (Depends-on): Add float.
17503
17504 2008-10-07  Simon Josefsson  <simon@josefsson.org>
17505
17506         * MODULES.html.sh (Support for building documentation): Mention
17507         pmccabe2html.  Sort entries.
17508
17509         Add pmccabe2html module, from gnupdf.
17510         * build-aux/pmccabe.css: New file.
17511         * build-aux/pmccabe2html: New file.
17512         * m4/pmccabe2html.m4: New file.
17513         * modules/pmccabe2html: New file.
17514
17515 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
17516
17517         flock: new module
17518         * MODULES.html.sh: Add to list of modules.
17519         * lib/flock.c: flock implementation for Windows and Unix systems
17520         which have fcntl.
17521         * doc/glibc-functions/flock.texi: Update documentation.
17522         * lib/sys_file.in.h: <sys/file.h> header file.
17523         * m4/flock.m4: M4 macros.
17524         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
17525         * modules/flock: flock module.
17526         * modules/flock-tests: flock tests module.
17527         * modules/sys_file: sys/file.h module.
17528         * tests/test-flock.c: test suite for flock.
17529
17530 2008-10-06  Jim Meyering  <meyering@redhat.com>
17531
17532         bootstrap: check for LT_INIT more portably still ;-)
17533         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
17534         Spotted by Bruno Haible.
17535
17536 2008-10-06  Eric Blake  <ebb9@byu.net>
17537
17538         test-signbit: avoid tripping Irix cc bug on -0.0L
17539         * tests/test-signbit.c (minus_zerol): Delete, and replace with
17540         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
17541         entire testsuite consistent and avoids an Irix 6.2 bug.
17542
17543 2008-10-05  Bruno Haible  <bruno@clisp.org>
17544             Jim Meyering  <jim@meyering.net>
17545
17546         Add an option for ignoring EPIPE during close_stdout.
17547         * lib/closeout.h: Include <stdbool.h>.
17548         (close_stdout_set_ignore_EPIPE): New declaration.
17549         * lib/closeout.c: Include <stdbool.h>.
17550         (ignore_EPIPE): New variable.
17551         (close_stdout_set_ignore_EPIPE): New function.
17552         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
17553         * lib/close-stream.c (close_stream): Mention the possible EPIPE
17554         failure.
17555         * modules/closeout (Depends-on): Add stdbool.
17556
17557 2008-10-05  Bruno Haible  <bruno@clisp.org>
17558
17559         * modules/accept: New file.
17560         * modules/bind: New file.
17561         * modules/connect: New file.
17562         * modules/getpeername: New file.
17563         * modules/getsockname: New file.
17564         * modules/getsockopt: New file.
17565         * modules/listen: New file.
17566         * modules/recv: New file.
17567         * modules/recvfrom: New file.
17568         * modules/send: New file.
17569         * modules/sendto: New file.
17570         * modules/setsockopt: New file.
17571         * modules/socket: New file.
17572         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
17573         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
17574         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
17575         the particular module is requested. Add a link warning when the
17576         particular module is not requested.
17577         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
17578         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
17579         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
17580         the particular module is requested.
17581         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
17582         gl_SYS_SOCKET_H_DEFAULTS): New macros.
17583         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
17584         * modules/sys_socket (Depends-on): Add link-warning.
17585         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
17586         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
17587         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
17588         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
17589         GL_LINK_WARNING.
17590         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
17591         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
17592         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
17593         * doc/posix-functions/getpeername.texi: Mention the new module
17594         'getpeername'.
17595         * doc/posix-functions/getsockname.texi: Mention the new module
17596         'getsockname'.
17597         * doc/posix-functions/getsockopt.texi: Mention the new module
17598         'getsockopt'.
17599         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
17600         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
17601         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
17602         * doc/posix-functions/send.texi: Mention the new module 'send'.
17603         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
17604         * doc/posix-functions/setsockopt.texi: Mention the new module
17605         'setsockopt'.
17606         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
17607         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
17608         listen, connect, accept.
17609         * modules/select-tests (Depends-on): Likewise.
17610
17611 2008-10-05  Bruno Haible  <bruno@clisp.org>
17612
17613         * lib/winsock.c (strerror): Remove unused #undef.
17614         (rpl_close): Remove unused local variable.
17615
17616         * modules/sys_socket (Depends-on); Add errno.
17617
17618 2008-10-05  Bruno Haible  <bruno@clisp.org>
17619
17620         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
17621         (select): Add a link warning when the 'select' module is not used.
17622         * modules/sys_select (Depends-on): Add link-warning.
17623         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
17624         Suggested by Paolo Bonzini.
17625
17626 2008-10-05  Jim Meyering  <meyering@redhat.com>
17627
17628         bootstrap: check for LT_INIT more portably
17629         * build-aux/bootstrap: Avoid using grep -E, since it's not
17630         portable enough.  Suggestion from Bruno Haible.
17631
17632 2008-10-05  Bruno Haible  <bruno@clisp.org>
17633
17634         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
17635         as being fixed by gnulib.
17636
17637 2008-10-05  Bruno Haible  <bruno@clisp.org>
17638
17639         * modules/select-tests: New file, mostly copied from
17640         modules/sys_select-tests.
17641         * tests/test-select.c: New file, mostly copied from
17642         tests/test-sys_select.c.
17643         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
17644         * modules/sys_select-tests (Depends-on): Remove all dependencies.
17645         (Makefile.am): Remove test_sys_select_LDADD.
17646
17647         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
17648         to an undefined symbol, for an error message.
17649         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
17650         (gl_SYS_SELECT_H_DEFAULTS): New macro.
17651         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
17652         winsock-select.c here.
17653         * modules/sys_select (Files): Remove lib/winsock-select.c.
17654         (Depends-on): Remove alloca.
17655         (Makefile.am): Substitute GNULIB_SELECT.
17656         * modules/select: New file.
17657         * doc/posix-functions/select.texi: Update.
17658
17659 2008-10-05  Bruno Haible  <bruno@clisp.org>
17660
17661         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
17662         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
17663         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
17664         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
17665         getdtablesize.
17666         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
17667         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
17668
17669 2008-10-05  Bruno Haible  <bruno@clisp.org>
17670
17671         * modules/getdtablesize-tests: New file.
17672         * tests/test-getdtablesize.c: New file.
17673
17674         New module 'getdtablesize'.
17675         * lib/unistd.in.h (getdtablesize): New declaration.
17676         * lib/getdtablesize.c: New file.
17677         * m4/getdtablesize.m4: New file.
17678         * modules/getdtablesize: New file.
17679         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17680         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
17681         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
17682         HAVE_GETDTABLESIZE.
17683         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
17684
17685 2008-10-05  Bruno Haible  <bruno@clisp.org>
17686
17687         * modules/sched (Makefile.am): Fix typo.
17688         Reported by Simon Josefsson.
17689
17690 2008-10-05  Jim Meyering  <meyering@redhat.com>
17691
17692         bootstrap: check for LT_INIT, too
17693         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
17694         are deprecated.  Suggestion from Ralf Wildenhues.
17695
17696 2008-10-05  Bruno Haible  <bruno@clisp.org>
17697
17698         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
17699         overriding them by ours.
17700         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
17701
17702 2008-10-05  Jim Meyering  <meyering@redhat.com>
17703
17704         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
17705         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
17706         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
17707
17708 2008-10-04  Bruno Haible  <bruno@clisp.org>
17709
17710         * modules/dup2 (License): Change to LGPLv2+.
17711         * modules/sleep (License): Likewise.
17712         * modules/perror (License): Likewise.
17713         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
17714         Blake.
17715         * modules/signal (License): Likewise.
17716         * modules/sigprocmask (License): Likewise.
17717         * modules/raise (License): Change to LGPLv2+, with approval by Jim
17718         Meyering.
17719
17720 2008-10-04  Bruno Haible  <bruno@clisp.org>
17721
17722         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
17723         Reported by Rainer Tammer <tammer@tammer.net>.
17724
17725 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
17726             Bruno Haible  <bruno@clisp.org>
17727
17728         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
17729         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
17730         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
17731
17732 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
17733
17734         filevercmp: new module
17735         * lib/filevercmp.h: New function filevercmp comparing version strings.
17736         * lib/filevercmp.c: Implementation of filevercmp function.
17737         * modules/filevercmp: Module metadata.
17738         * tests/test-filevercmp.c: Unit test for new module.
17739         * modules/filevercmp-tests: Unit test metadata.
17740         * MODULES.html.sh: Add filevercmp module.
17741
17742 2008-10-03  Bruno Haible  <bruno@clisp.org>
17743
17744         * lib/c-ctype.h: Add comment.
17745         Reported by Jim Meyering.
17746
17747 2008-10-02  Bruno Haible  <bruno@clisp.org>
17748
17749         * modules/posix_spawn-internal (Depends-on): Add 'open'.
17750
17751 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
17752
17753         * build-aux/bootstrap: Allow renaming bootstrap, and change the
17754         name of bootstrap.conf accordingly.
17755
17756 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
17757
17758         * build-aux/bootstrap: Install git-merge-changelog configuration
17759         items into .gitconfig if needed.
17760
17761 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
17762
17763         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
17764         git repository, and initialize/update it accordingly.
17765
17766 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
17767
17768         * modules/fsync-tests: New file.
17769         * tests/test-fsync.c: New file.
17770
17771         New module 'fsync'.
17772         * lib/fsync.c: New file.
17773         * m4/fsync.m4: New file.
17774         * modules/fsync: New file.
17775         * lib/unistd.in.h (fsync): New declaration.
17776         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
17777         GNULIB_FSYNC and HAVE_FSYNC.
17778         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
17779         * MODULES.html.sh (posix_functions): Add fsync.
17780         * doc/posix-functions/fsync.texi: Mention the new module.
17781
17782 2008-10-02  Jim Meyering  <meyering@redhat.com>
17783
17784         fts.c: sync with similar code from coreutils' remove.c
17785         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
17786         Guard also with "#if defined __linux__", since for now at least,
17787         this code is Linux-kernel-specific.
17788
17789 2008-10-02  Jim Meyering  <meyering@redhat.com>
17790
17791         fts: bug fixes
17792         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
17793         Include <sys/vfs.h>, not <sys/statfs.h>.
17794
17795         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
17796         Include <sys/vfs.h>, not <sys/statfs.h>.
17797
17798 2008-10-01  Bruno Haible  <bruno@clisp.org>
17799
17800         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
17801         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
17802         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
17803         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
17804         * doc/posix-functions/posix_spawnp.texi: Likewise.
17805         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
17806         whether posix_spawn actually works.
17807         * m4/pipe.m4 (gl_PIPE): Likewise.
17808         * modules/execute (Files): Add m4/posix_spawn.m4.
17809         * modules/pipe (Files): Add m4/posix_spawn.m4.
17810         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
17811
17812 2008-10-01  Jim Meyering  <meyering@redhat.com>
17813
17814         remove trailing spaces
17815         * NEWS: Likewise.
17816         * lib/poll.c (poll): Likewise.
17817         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
17818         * lib/winsock.c (rpl_close): Likewise.
17819         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
17820         * modules/yield: Likewise.
17821         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
17822         * tests/test-sys_select.c (connect_to_socket): Likewise.
17823
17824         fts.c: adjust a new interface to be more generally useful
17825         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
17826         (fts_build): Adjust caller.
17827
17828 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17829
17830         * modules/cond-tests: New file.
17831         * tests/test-cond.c: New file.
17832
17833 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17834             Bruno Haible  <bruno@clisp.org>
17835
17836         * modules/cond (Dependencies): Add errno, time.
17837         * lib/glthread/cond.h: Include <time.h>.
17838         (gl_cond_define, gl_cond_define_initialized): Use the same definition
17839         across platforms.
17840
17841 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17842             Bruno Haible  <bruno@clisp.org>
17843
17844         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
17845
17846 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17847             Bruno Haible  <bruno@clisp.org>
17848
17849         * modules/tls-tests (Depends-on): Add thread, yield.
17850         (configure.ac): Remove all checks.
17851         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
17852         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
17853         gl_thread_self): Remove definitions. Include glthread/thread.h and
17854         glthread/yield.h instead.
17855         (test_tls): Pass an additional NULL argument to gl_thread_join.
17856
17857 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17858             Bruno Haible  <bruno@clisp.org>
17859
17860         * modules/lock-tests (Depends-on): Add thread, yield.
17861         (configure.ac): Remove all checks.
17862         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
17863         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
17864         gl_thread_self): Remove definitions. Include glthread/thread.h and
17865         glthread/yield.h instead.
17866         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
17867         additional NULL argument to gl_thread_join.
17868
17869 2008-09-30  Bruno Haible  <bruno@clisp.org>
17870
17871         Fix the Win32 implementation of the 'thread' module.
17872         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
17873         pointer type.
17874         (gl_thread_self): Invoke gl_thread_self_func.
17875         (gl_thread_self_func): New declaration.
17876         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
17877         (do_init_self_key, init_self_key): New functions.
17878         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
17879         Remove some fields.
17880         (running_threads, running_lock): Remove variables.
17881         (get_current_thread_handle): New function.
17882         (gl_thread_self_func, wrapper_func, glthread_create_func,
17883         glthread_join_func, gl_thread_exit_func): Largely rewritten and
17884         simplified.
17885
17886 2008-09-30  Bruno Haible  <bruno@clisp.org>
17887
17888         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
17889         files.
17890
17891 2008-09-30  Jim Meyering  <meyering@redhat.com>
17892
17893         fts.m4: correct the test for statfs.f_type
17894         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
17895         when checking for statfs.f_type.
17896
17897 2008-09-15  Simon Josefsson  <simon@josefsson.org>
17898
17899         tests: avoid some compiler warnings
17900         * tests/test-memchr.c (main): Pass NULL indirectly.
17901         * tests/test-getdate.c (main): Remove unused variable 'ret'.
17902
17903 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
17904
17905         getdate.y: disallow countable dayshifts like "4 yesterday ago"
17906         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
17907         exactly specified dayshifts.
17908         (dayshift): New rule.
17909         (rel): Add dayshift.
17910         (relative_time_table) [tomorrow, yesterday, today, now]:
17911         Use tDAY_SHIFT in place of tDAY_UNIT.
17912         * tests/test-getdate.c: Add tests for now-disallowed countable
17913         dayshifts, e.g., "4 yesterday ago".
17914
17915 2008-09-29  Bruno Haible  <bruno@clisp.org>
17916
17917         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
17918         * tests/test-posix_spawn1.in.sh: Renamed from
17919         tests/test-posix_spawn.in.sh.
17920         * tests/test-posix_spawn2.c: New file.
17921         * tests/test-posix_spawn2.in.sh: New file.
17922         * modules/posix_spawnp-tests (Files): Update.
17923         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
17924
17925 2008-09-29  Bruno Haible  <bruno@clisp.org>
17926
17927         Propagate effects of putenv/setenv/unsetenv to child processes.
17928         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
17929         * lib/pipe.c (create_pipe): Likewise.
17930
17931 2008-09-29  Bruno Haible  <bruno@clisp.org>
17932
17933         Enable use of shell scripts as executables in mingw.
17934         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
17935         run the program as a shell script.
17936         * lib/pipe.c (create_pipe): Likewise.
17937         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
17938         resulting array.
17939
17940 2008-09-29  Eric Blake  <ebb9@byu.net>
17941
17942         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
17943
17944 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
17945
17946         * doc/posix-functions/accept.texi: Update mingw problems.
17947         * doc/posix-functions/bind.texi: Update mingw problems.
17948         * doc/posix-functions/close.texi: Update mingw problems.
17949         * doc/posix-functions/connect.texi: Update mingw problems.
17950         * doc/posix-functions/getpeername.texi: Update mingw problems.
17951         * doc/posix-functions/getsockname.texi: Update mingw problems.
17952         * doc/posix-functions/getsockopt.texi: Update mingw problems.
17953         * doc/posix-functions/ioctl.texi: Update mingw problems.
17954         * doc/posix-functions/listen.texi: Update mingw problems.
17955         * doc/posix-functions/recv.texi: Update mingw problems.
17956         * doc/posix-functions/recvfrom.texi: Update mingw problems.
17957         * doc/posix-functions/select.texi: Update mingw problems.
17958         * doc/posix-functions/send.texi: Update mingw problems.
17959         * doc/posix-functions/sendto.texi: Update mingw problems.
17960         * doc/posix-functions/setsockopt.texi: Update mingw problems.
17961         * doc/posix-functions/socket.texi: Update mingw problems.
17962
17963 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
17964             Bruno Haible  <bruno@clisp.org>
17965
17966         * lib/sys_select.in.h: Include sys/time.h.
17967         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
17968         * modules/sys_select: Depend on sys_time.
17969         * tests/test-sys_select.c: Test that sys/select.h defines struct
17970         timeval fully.
17971
17972 2008-09-29  Bruno Haible  <bruno@clisp.org>
17973
17974         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
17975         * lib/sys_select.in.h: Likewise.
17976
17977 2008-09-29  Bruno Haible  <bruno@clisp.org>
17978
17979         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
17980
17981 2008-09-29  Bruno Haible  <bruno@clisp.org>
17982
17983         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
17984         Set LIBSOCKET instead of augmenting LIBS.
17985         * modules/sockets (Link): New section.
17986         * modules/sockets-tests (test_sockets_LDADD): New variable.
17987         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
17988         * modules/poll-tests (test_poll_LDADD): New variable.
17989         * NEWS: Document the change.
17990
17991 2008-09-29  Bruno Haible  <bruno@clisp.org>
17992
17993         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
17994         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
17995         ARPA_INET_H directly.
17996         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
17997
17998 2008-09-28  Bruno Haible  <bruno@clisp.org>
17999
18000         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
18001         from gl_HEADER_SYS_SOCKET.
18002         (gl_HEADER_SYS_SOCKET): Invoke it.
18003         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
18004
18005 2008-09-28  Bruno Haible  <bruno@clisp.org>
18006
18007         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
18008         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
18009         Needed on OSF/1 4.0.
18010
18011 2008-09-28  Bruno Haible  <bruno@clisp.org>
18012
18013         Override open more carefully.
18014         * lib/open.c (orig_open): New function.
18015         (rpl_open): Use orig_open instead of open.
18016         * lib/fcntl.in.h: Add special invocation convention.
18017         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
18018         (gl_FUNC_OPEN): Invoke it.
18019
18020         Override freopen more carefully.
18021         * lib/freopen.c (orig_freopen): New function.
18022         (rpl_freopen): Use orig_freopen instead of freopen.
18023         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
18024         (gl_FUNC_FREOPEN): Invoke it.
18025
18026         Override fopen more carefully.
18027         * lib/fopen.c (orig_fopen): New function.
18028         (rpl_fopen): Use orig_fopen instead of fopen.
18029         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
18030         (gl_FUNC_FOPEN): Invoke it.
18031         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
18032
18033 2008-09-28  Bruno Haible  <bruno@clisp.org>
18034
18035         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
18036         SIGPIPE.
18037
18038 2008-09-28  Bruno Haible  <bruno@clisp.org>
18039
18040         * tests/test-sigaction.c (handler, main): Disable the check whether
18041         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
18042         glibc systems with LinuxThreads.
18043
18044 2008-09-28  Bruno Haible  <bruno@clisp.org>
18045
18046         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
18047
18048         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
18049         with AIX xlc.
18050         * lib/fcntl.in.h (open): Likewise.
18051         Reported by Rainer Tammer <tammer@tammer.net>.
18052
18053 2008-09-28  Bruno Haible  <bruno@clisp.org>
18054
18055         * modules/posix_spawnp-tests: New file.
18056         * tests/test-posix_spawn.c: New file.
18057         * tests/test-posix_spawn.in.sh: New file.
18058
18059         New module 'posix_spawnp'.
18060         * modules/posix_spawnp: New file.
18061         * lib/spawnp.c: New file, from GNU libc with modifications.
18062         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
18063
18064         New module 'posix_spawn'.
18065         * modules/posix_spawn: New file.
18066         * lib/spawn.c: New file, from GNU libc with modifications.
18067         * doc/posix-functions/posix_spawn.texi: Mention the new module.
18068
18069         New module 'posix_spawnattr_destroy'.
18070         * modules/posix_spawnattr_destroy: New file.
18071         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
18072         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
18073         module.
18074
18075         New module 'posix_spawnattr_setsigmask'.
18076         * modules/posix_spawnattr_setsigmask: New file.
18077         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
18078         modifications.
18079         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
18080         new module.
18081
18082         New module 'posix_spawnattr_getsigmask'.
18083         * modules/posix_spawnattr_getsigmask: New file.
18084         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
18085         modifications.
18086         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
18087         new module.
18088
18089         New module 'posix_spawnattr_setsigdefault'.
18090         * modules/posix_spawnattr_setsigdefault: New file.
18091         * lib/spawnattr_setdefault.c: New file, from GNU libc with
18092         modifications.
18093         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
18094         new module.
18095
18096         New module 'posix_spawnattr_getsigdefault'.
18097         * modules/posix_spawnattr_getsigdefault: New file.
18098         * lib/spawnattr_getdefault.c: New file, from GNU libc with
18099         modifications.
18100         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
18101         new module.
18102
18103         New module 'posix_spawnattr_setschedpolicy'.
18104         * modules/posix_spawnattr_setschedpolicy: New file.
18105         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
18106         modifications.
18107         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
18108         new module.
18109
18110         New module 'posix_spawnattr_getschedpolicy'.
18111         * modules/posix_spawnattr_getschedpolicy: New file.
18112         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
18113         modifications.
18114         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
18115         new module.
18116
18117         New module 'posix_spawnattr_setschedparam'.
18118         * modules/posix_spawnattr_setschedparam: New file.
18119         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
18120         modifications.
18121         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
18122         new module.
18123
18124         New module 'posix_spawnattr_getschedparam'.
18125         * modules/posix_spawnattr_getschedparam: New file.
18126         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
18127         modifications.
18128         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
18129         new module.
18130
18131         New module 'posix_spawnattr_setpgroup'.
18132         * modules/posix_spawnattr_setpgroup: New file.
18133         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
18134         modifications.
18135         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
18136         module.
18137
18138         New module 'posix_spawnattr_getpgroup'.
18139         * modules/posix_spawnattr_getpgroup: New file.
18140         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
18141         modifications.
18142         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
18143         module.
18144
18145         New module 'posix_spawnattr_setflags'.
18146         * modules/posix_spawnattr_setflags: New file.
18147         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
18148         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
18149         module.
18150
18151         New module 'posix_spawnattr_getflags'.
18152         * modules/posix_spawnattr_getflags: New file.
18153         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
18154         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
18155         module.
18156
18157         New module 'posix_spawnattr_init'.
18158         * modules/posix_spawnattr_init: New file.
18159         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
18160         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
18161         module.
18162
18163         New module 'posix_spawn_file_actions_destroy'.
18164         * modules/posix_spawn_file_actions_destroy: New file.
18165         * lib/spawn_faction_destroy.c: New file, from GNU libc with
18166         modifications.
18167         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
18168         the new module.
18169
18170         New module 'posix_spawn_file_actions_addopen'.
18171         * modules/posix_spawn_file_actions_addopen: New file.
18172         * lib/spawn_faction_addopen.c: New file, from GNU libc with
18173         modifications.
18174         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
18175         the new module.
18176
18177         New module 'posix_spawn_file_actions_adddup2'.
18178         * modules/posix_spawn_file_actions_adddup2: New file.
18179         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
18180         modifications.
18181         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
18182         the new module.
18183
18184         New module 'posix_spawn_file_actions_addclose'.
18185         * modules/posix_spawn_file_actions_addclose: New file.
18186         * lib/spawn_faction_addclose.c: New file, from GNU libc with
18187         modifications.
18188         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
18189         the new module.
18190
18191         New module 'posix_spawn_file_actions_init'.
18192         * modules/posix_spawn_file_actions_init: New file.
18193         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
18194         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
18195         new module.
18196
18197         New module 'posix_spawn-internal'.
18198         * modules/posix_spawn-internal: New file.
18199         * lib/spawn_int.h: New file, from GNU libc with modifications.
18200         * lib/spawni.c: New file, from GNU libc with modifications.
18201         * m4/posix_spawn.m4: New file.
18202
18203         New module 'spawn'.
18204         * modules/spawn: New file.
18205         * lib/spawn.in.h: New file, from GNU libc with modifications.
18206         * m4/spawn_h.m4: New file.
18207         * doc/posix-headers/spawn.texi: Mention the new module.
18208
18209 2008-09-28  Bruno Haible  <bruno@clisp.org>
18210
18211         * modules/sched-tests: New file.
18212         * tests/test-sched.c: New file.
18213
18214         New module 'sched'.
18215         * modules/sched: New file.
18216         * lib/sched.in.h: New file.
18217         * m4/sched_h.m4: New file.
18218         * doc/posix-headers/sched.texi: Mention the new module.
18219
18220 2008-09-27  Eric Blake  <ebb9@byu.net>
18221
18222         Fix previous patch, and tweak references to $0.
18223         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
18224         (func_version, func_gnulib_dir): Don't call this program
18225         gnulib-tool.
18226         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
18227         with using $0 in function.
18228         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
18229         (func_fatal_error): Reuse the name the user invoked us with.
18230
18231 2008-09-27  Bruno Haible  <bruno@clisp.org>
18232
18233         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
18234         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
18235         (gl_ICONV_H): Not here.
18236         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
18237         instead of assigning ICONV_H directly.
18238
18239         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
18240         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
18241         WCHAR_H directly.
18242
18243 2008-09-27  Bruno Haible  <bruno@clisp.org>
18244
18245         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
18246         * modules/arpa_inet (Depends-on): Add link-warning.
18247         (Makefile.am): Insert the definition of GL_LINK-WARNING.
18248         * modules/unistd (Makefile.am): Likewise.
18249
18250 2008-09-26  Bruno Haible  <bruno@clisp.org>
18251
18252         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
18253         variables.
18254         (func_version): Essentially copied from gnulib-tool.
18255         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
18256         func_readlink): Copied from gnulib-tool.
18257
18258 2008-09-26  Bruno Haible  <bruno@clisp.org>
18259
18260         * gnulib-tool (func_version): Change directory to $gnulib_dir before
18261         invoking git-version-gen.
18262
18263 2008-09-26  Bruno Haible  <bruno@clisp.org>
18264
18265         * posix-modules: Update to directory names changed on 2008-01-19.
18266         Remove commas in output before splitting into words. No more need to
18267         avoid 'ftruncate' since 2007-02-19.
18268
18269 2008-09-26  Bruno Haible  <bruno@clisp.org>
18270
18271         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
18272
18273 2008-09-26  Bruno Haible  <bruno@clisp.org>
18274
18275         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
18276         * modules/fwriteerror (Depends-on): Add errno.
18277
18278 2008-09-26  Bruno Haible  <bruno@clisp.org>
18279
18280         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
18281         * tests/test-vc-list-files-cvs.sh: Likewise.
18282
18283 2008-09-26  Bruno Haible  <bruno@clisp.org>
18284
18285         * doc/posix-headers/sys_resource.texi: Reorder items.
18286
18287 2008-09-26  Jim Meyering  <meyering@redhat.com>
18288
18289         fts: tweak inode comparison function
18290         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
18291         inode numbers, as documented.
18292
18293         fts: sort dirent entries on inode number before traversing
18294         This avoids a quadratic, seek-related performance penalty when
18295         operating on a directory containing many entries (measurable at 10k;
18296         3.5 hours at 2 million entries with a cold cache) on certain types
18297         of file systems, including ext3 and ext4, but not tmpfs.
18298         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
18299         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
18300         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
18301         (fs_handles_readdir_ordered_dirents_efficiently): New function.
18302         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
18303         (fts_build): Set the stat.st_ino member from D_INO.
18304         If it is likely to be useful, sort dirent entries on inode number.
18305
18306         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
18307         and the struct statfs.f_type member.
18308         * modules/fts (Depends-on): Add d-ino.
18309
18310 2008-09-26  Bruno Haible  <bruno@clisp.org>
18311
18312         * modules/sigpipe-die (Depends-on): Add sigpipe.
18313
18314         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
18315         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
18316         and GNULIB_STDIO_H_SIGPIPE are set.
18317         * lib/stdio-write.c: New file.
18318         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
18319         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
18320         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
18321         REPLACE_STDIO_WRITE_FUNCS.
18322         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
18323         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
18324         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
18325         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
18326         * modules/stdio (Files): Add lib/stdio-write.c.
18327         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
18328         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
18329         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
18330         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
18331         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
18332         REPLACE_FPRINTF_POSIX.
18333         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
18334         REPLACE_PRINTF_POSIX.
18335         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
18336         REPLACE_VFPRINTF_POSIX.
18337         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
18338         REPLACE_VPRINTF_POSIX.
18339         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
18340         SIGPIPE issue.
18341         * doc/posix-functions/fputc.texi: Likewise.
18342         * doc/posix-functions/fputs.texi: Likewise.
18343         * doc/posix-functions/fwrite.texi: Likewise.
18344         * doc/posix-functions/printf.texi: Likewise.
18345         * doc/posix-functions/putc.texi: Likewise.
18346         * doc/posix-functions/putchar.texi: Likewise.
18347         * doc/posix-functions/puts.texi: Likewise.
18348         * doc/posix-functions/vfprintf.texi: Likewise.
18349         * doc/posix-functions/vprintf.texi: Likewise.
18350
18351         * modules/safe-write (Depends-on): Add write.
18352
18353         * modules/sigpipe-tests: New file.
18354         * tests/test-sigpipe.c: New file.
18355         * tests/test-sigpipe.sh: New file.
18356
18357         * modules/write: New file.
18358         * lib/unistd.in.h: Include <sys/types.h>.
18359         (write): New declaration.
18360         * lib/write.c: New file.
18361         * m4/write.m4: New file.
18362         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
18363         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
18364         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
18365         GNULIB_WRITE, REPLACE_WRITE.
18366         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
18367         and the SIGPIPE issue.
18368
18369         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
18370         (raise): New declaration.
18371         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
18372         (ext_signal): New function.
18373         (rpl_raise): New function.
18374         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
18375         GNULIB_SIGNAL_H_SIGPIPE.
18376         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
18377         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
18378
18379         * modules/sigpipe: New file.
18380         * m4/sigpipe.m4: New file.
18381
18382 2008-09-25  Derek Price  <derek@ximbiot.com>
18383             Bruno Haible  <bruno@clisp.org>
18384
18385         * gnulib-tool (func_import): Report all license incompatibilities, not
18386         just the first one.
18387
18388 2008-09-25  Bruno Haible  <bruno@clisp.org>
18389
18390         * gnulib-tool (func_import): When computing the edits, consider not
18391         only the Makefile.ams that exist but also those that will be generated.
18392
18393 2008-09-25  Simon Josefsson  <simon@josefsson.org>
18394
18395         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
18396         fixes gnulib-tool --test warning about duplicate dependency.
18397
18398 2008-09-25  Bruno Haible  <bruno@clisp.org>
18399
18400         * gnulib-tool: Don't ask the user to perform edits in the generated
18401         Makefile.ams.
18402         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
18403         apply to the Makefile.am being generated.
18404         (func_emit_tests_Makefile_am): Execute edits that apply to the
18405         Makefile.am being generated.
18406         (func_import): Setup list of Makefile.am edits before emitting the
18407         Makefile.ams, not at the end.
18408         (func_create_testdir): Update.
18409         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
18410
18411 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
18412
18413         * gnulib-tool (func_import): Store the --tests-base option in the
18414         comment in gnulib-cache.m4.
18415
18416 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
18417
18418         * NEWS: Document increased portability that sys_select now provides.
18419
18420         * lib/sys_select.in.h: Install select wrapper.
18421         * lib/sys_socket.in.h: Use more descriptive name when there is no
18422         select wrapper.
18423         * lib/winsock-select.c: New.
18424         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
18425         Require gl_HEADER_SYS_SOCKET.
18426         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
18427         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
18428         * tests/test-sys_select.c: Add functional tests.
18429
18430 2008-09-24  Eric Blake  <ebb9@byu.net>
18431
18432         open, fopen: close fd leak in last patch
18433         * lib/open.c (rpl_open): Close fd before returning error.
18434         * lib/fopen.c (rpl_fopen): Close fd before returning error.
18435         * doc/posix-functions/open.texi (open): Document that Irix also
18436         has the bug.
18437         * doc/posix-functions/fopen.texi (fopen): Likewise.
18438         Reported by Paolo Bonzini.
18439
18440 2008-09-24  Bruno Haible  <bruno@clisp.org>
18441
18442         Ensure that a filename ending in a slash cannot be used to access a
18443         non-directory.
18444         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
18445         to check whether it's really a directory.
18446         * lib/fopen.c: Include fcntl.h, unistd.h.
18447         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
18448         and fdopen().
18449         * modules/fopen (Depends-on): Add unistd.
18450         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
18451         * tests/test-fopen.c (main): Likewise.
18452         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
18453         * doc/posix-functions/fopen.texi: Likewise.
18454         Reported by Eric Blake.
18455
18456 2008-09-23  Eric Blake  <ebb9@byu.net>
18457
18458         c-stack: avoid compiler optimizations when provoking overflow
18459         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
18460         recursion harder to optimize, to ensure a stack overflow occurs.
18461         * tests/test-c-stack.c (recurse): Likewise.
18462         Borrowed from libsigsegv.
18463
18464         c-stack: work around Irix sigaltstack bug
18465         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
18466         whether sigaltstack uses wrong end of stack_t (copied in part from
18467         libsigsegv).
18468         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
18469         Irix bug, without requiring an over-allocation.
18470         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
18471         bug.
18472
18473         fopen: document mingw bug on directories
18474         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
18475         not allowing a stream visiting a directory, even though reading
18476         from such a stream is not portable.
18477
18478 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
18479
18480         * lib/poll.c: Rewrite.
18481         * modules/poll: Depend on alloca.
18482
18483 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
18484
18485         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
18486         instead define prototypes for a full set of wrappers.  Ensure
18487         that Cygwin does not use the compatibility code, which is only
18488         for MinGW.
18489         * lib/winsock.c: New.
18490         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
18491         * modules/sys_socket: Add lib/winsock.c.
18492
18493         * modules/poll-tests: Add errno and perror.
18494         * tests/test-poll.c: Use ioctl, not ioctlsocket.
18495
18496 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
18497
18498         * tests/test-poll.c: Downgrade minimum needed Winsock version.
18499
18500 2008-09-23  Bruno Haible  <bruno@clisp.org>
18501
18502         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
18503         * doc/glibc-functions/*: Likewise.
18504
18505 2008-09-23  Simon Josefsson  <simon@josefsson.org>
18506
18507         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
18508         success.
18509
18510 2008-09-22  Eric Blake  <ebb9@byu.net>
18511             Bruno Haible  <bruno@clisp.org>
18512
18513         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
18514         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
18515         supply %A but mishandle pseudo-NaN.
18516         Reported by Simon Josefsson.
18517
18518 2008-09-21  Bruno Haible  <bruno@clisp.org>
18519
18520         * tests/test-lock.c (main): Tweak skip message.
18521         * tests/test-tls.c (main): Likewise.
18522
18523 2008-09-21  Bruno Haible  <bruno@clisp.org>
18524
18525         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
18526         whether 'struct sigaction' has sa_sigaction here...
18527         (gl_PREREQ_SIG_HANDLER_H): ... not here.
18528         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
18529
18530 2008-09-21  Bruno Haible  <bruno@clisp.org>
18531
18532         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
18533         section.
18534         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
18535         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
18536         the new section.
18537         (Support for obsolete systems lacking POSIX:2001): New section.
18538         (String handling <string.h>): Move strdup to the new section.
18539         Suggested by Simon Josefsson and Paolo Bonzini.
18540
18541 2008-09-21  Bruno Haible  <bruno@clisp.org>
18542
18543         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
18544         exponents in %e and %g results on 'long double'. Needed for mingw's
18545         improved *printf functions.
18546         * tests/test-vasprintf-posix.c (test_function): Likewise.
18547         * tests/test-snprintf-posix.h (test_function): Likewise.
18548         * tests/test-sprintf-posix.h (test_function): Likewise.
18549         Reported by Eric Blake.
18550
18551 2008-09-21  Bruno Haible  <bruno@clisp.org>
18552
18553         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
18554         * tests/test-sprintf-posix.h (test_function): Likewise.
18555
18556 2008-09-21  Bruno Haible  <bruno@clisp.org>
18557
18558         * modules/getpass (Depends-on): Add strdup-posix.
18559
18560         New module 'strdup-posix'.
18561         * modules/strdup-posix: New file.
18562         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
18563         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
18564         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
18565         REPLACE_STRDUP.
18566         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
18567         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
18568         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
18569         strdup-posix.
18570
18571         * modules/strdup (Depends-on): Remove malloc-posix.
18572
18573 2008-09-20  Bruno Haible  <bruno@clisp.org>
18574
18575         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
18576         Wildenhues.
18577
18578 2008-09-20  Bruno Haible  <bruno@clisp.org>
18579
18580         Ensure that wint_t gets defined on IRIX 5.3.
18581         * lib/wchar.in.h (wint_t): Define if not defined by the system.
18582         * lib/wctype.in.h (wint_t): Likewise.
18583         (__wctype_wint_t): Remove type.
18584         (isw*): Use wint_t instead of __wctype_wint_t.
18585         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
18586         * modules/wchar (Files): Add m4/wint_t.m4.
18587         (Makefile.am): Substitute HAVE_WINT_T.
18588         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
18589         * tests/test-wctype.c: Check that wint_t is defined.
18590         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
18591         * doc/posix-headers/wctype.texi: Likewise.
18592         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
18593
18594 2008-09-18  Bruno Haible  <bruno@clisp.org>
18595
18596         * gnulib-tool (func_exit): Update comment.
18597
18598 2008-09-18  Simon Josefsson  <simon@josefsson.org>
18599
18600         * modules/getaddrinfo (Depends-on): Remove strdup, this module
18601         assumes strdup exists and does not depend on strdup to return
18602         ENOMEM on out of memory conditions.
18603
18604 2008-09-18  Bruno Haible  <bruno@clisp.org>
18605
18606         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
18607         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
18608         digits for the exponent.
18609
18610 2008-09-18  Jim Meyering  <meyering@redhat.com>
18611             Bruno Haible  <bruno@clisp.org>
18612
18613         * lib/vasnprintf.c (decimal_point_char): Define also if
18614         NEED_PRINTF_INFINITE_LONG_DOUBLE.
18615
18616 2008-09-16  Bruno Haible  <bruno@clisp.org>
18617         and Eric Blake  <ebb9@byu.net>
18618
18619         vasnprintf: support Irix 5.3
18620         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
18621         that mishandle long double infinity.
18622         Reported by Tom G. Christensen.
18623
18624 2008-09-16  Bruno Haible  <bruno@clisp.org>
18625
18626         * doc/glibc-functions/scandir.texi: Mention the function is missing on
18627         Solaris 9.
18628         * doc/glibc-functions/alphasort.texi: Likewise.
18629         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
18630
18631 2008-09-16  Jim Meyering  <meyering@redhat.com>
18632
18633         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
18634         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
18635         a umask modification leak out of a subshell.  Otherwise, the
18636         opensolaris /bin/sh would be accepted and thus cause unwarranted
18637         failures in the coreutils test suite.
18638
18639 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
18640
18641         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
18642         to succeed.
18643
18644 2008-09-16  Jim Meyering  <meyering@redhat.com>
18645
18646         avoid spurious test failure when library is built without ACL support
18647         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
18648         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
18649         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
18650         * tests/test-copy-acl.sh: Likewise.
18651
18652 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18653
18654         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
18655         based on character occurrence counts.
18656
18657 2008-09-15  Eric Blake  <ebb9@byu.net>
18658
18659         tests: avoid some compiler warnings
18660         * tests/test-memchr.c (main): Pass NULL indirectly.
18661         * tests/test-closein.c (main): Avoid unused variable.
18662
18663 2008-09-15  Bruno Haible  <bruno@clisp.org>
18664
18665         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
18666         are missing on OpenBSD 4.0 individually.
18667         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
18668
18669 2008-09-15  Bruno Haible  <bruno@clisp.org>
18670
18671         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
18672         * doc/posix-functions/strerror.texi: Mention also Cygwin.
18673         * doc/posix-functions/perror.texi: Likewise.
18674         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
18675         is missing.
18676         Reported by Eric Blake.
18677
18678         * lib/errno.in.h: Use replacement values >= 2000.
18679         Reported by Eric Blake.
18680
18681 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18682
18683         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
18684         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
18685         limit.
18686         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
18687         compareseq was aborted.
18688
18689 2008-09-14  Bruno Haible  <bruno@clisp.org>
18690
18691         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
18692         yvec_edit_count.
18693         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
18694         (fstrcmp_bounded): Simplify result computation accordingly.
18695
18696 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18697
18698         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
18699         (fstrcmp): Define in terms of fstrcmp_bounded.
18700         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
18701         lower_bound argument.
18702         Return quickly if the result is certainly < lower_bound.
18703         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
18704
18705 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18706
18707         * lib/diffseq.h (EARLY_ABORT): New macro.
18708         (compareseq): Change return type to bool. Return true when EARLY_ABORT
18709         evaluates to true.
18710
18711 2008-09-14  Bruno Haible  <bruno@clisp.org>
18712
18713         * modules/perror-tests: New file.
18714         * tests/test-perror.sh: New file.
18715         * tests/test-perror.c: New file.
18716
18717         New module 'perror'.
18718         * lib/stdio.in.h (perror): New declaration.
18719         * lib/perror.c: New file.
18720         * m4/perror.m4: New file.
18721         * modules/perror: New file.
18722         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
18723         * doc/posix-functions/perror.texi: Mention the perror module.
18724         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
18725         REPLACE_PERROR.
18726         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
18727         REPLACE_PERROR.
18728
18729 2008-09-14  Bruno Haible  <bruno@clisp.org>
18730
18731         * modules/stdio (Makefile.am): Reorder to match the order in
18732         lib/stdio.in.h.
18733         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
18734
18735 2008-09-13  Bruno Haible  <bruno@clisp.org>
18736
18737         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
18738
18739 2008-09-13  Bruno Haible  <bruno@clisp.org>
18740
18741         Extend strerror to cover the added errno values.
18742         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
18743         (rpl_strerror): Provide error messages for the added errno values and
18744         for the WSA* values.
18745         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
18746         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
18747         strerror.
18748         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
18749         * modules/strerror (Depends-on): Add errno.
18750         * doc/posix-functions/strerror.texi: Document the change.
18751         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
18752         and EOVERFLOW.
18753
18754 2008-09-13  Bruno Haible  <bruno@clisp.org>
18755
18756         * modules/EOVERFLOW: Remove file.
18757         * m4/eoverflow.m4: Remove file.
18758         * modules/EOVERFLOW-tests: Remove file.
18759         * tests/test-EOVERFLOW.c: Remove file.
18760         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
18761         * modules/ftell (Depends-on): Likewise.
18762         * modules/getdelim (Depends-on): Likewise.
18763         * modules/getugroups (Depends-on): Likewise.
18764         * modules/poll (Depends-on): Likewise.
18765         * modules/snprintf (Depends-on): Likewise.
18766         * modules/sprintf-posix (Depends-on): Likewise.
18767         * modules/vasnprintf (Depends-on): Likewise.
18768         * modules/vasprintf (Depends-on): Likewise.
18769         * modules/vfprintf-posix (Depends-on): Likewise.
18770         * modules/vsnprintf (Depends-on): Likewise.
18771         * modules/vsprintf-posix (Depends-on): Likewise.
18772         * modules/xvasprintf (Depends-on): Likewise.
18773         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
18774         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
18775         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
18776         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
18777         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
18778         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
18779         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
18780         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
18781         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
18782         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
18783         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
18784         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
18785         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
18786         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
18787         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
18788         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
18789         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
18790         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
18791         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
18792         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
18793         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
18794         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
18795         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
18796         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
18797         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
18798         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
18799         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
18800         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
18801         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
18802         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
18803         * MODULES.html.sh: Remove EOVERFLOW.
18804         * NEWS: Mention the change.
18805
18806 2008-09-13  Bruno Haible  <bruno@clisp.org>
18807
18808         * modules/errno-tests: New file.
18809         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
18810
18811         * lib/errno.in.h: New file.
18812         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
18813         * modules/errno: New file.
18814         * doc/posix-headers/errno.texi: Update documentation.
18815         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
18816
18817 2008-09-13  Bruno Haible  <bruno@clisp.org>
18818
18819         * tests/test-poll.c: Use #if for native Windows, rather than testing
18820         __MSVCRT__.
18821
18822 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
18823             Bruno Haible  <bruno@clisp.org>
18824
18825         * lib/glob.c: Don't include <pwd.h> on native Windows.
18826         (WINDOWS32): New macro.
18827         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
18828
18829 2008-09-13  Bruno Haible  <bruno@clisp.org>
18830
18831         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
18832         (ETIMEDOUT): Remove macro.
18833         (glthread_cond_timedwait_multithreaded): New declaration.
18834         (glthread_cond_timedwait): Use it.
18835         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
18836         (glthread_cond_timedwait_multithreaded): New function.
18837
18838 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
18839
18840         * modules/poll-tests: Do not check for io.h.
18841         * tests/test-poll.c: Check for __MSVCRT__ instead.
18842
18843 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
18844
18845         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
18846         * modules/poll-tests: Add inet_pton, stdbool, sockets.
18847         * tests/test-poll.c: Use them.  Use _pipe on Windows.
18848
18849 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
18850
18851         * modules/poll-tests: New.
18852         * tests/test-poll.c: New.
18853
18854 2008-09-12  Eric Blake  <ebb9@byu.net>
18855
18856         frexp: test for NetBSD failure on -0.0
18857         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
18858         not all, bugs from NetBSD 3.0 have been fixed.
18859         * doc/posix-functions/frexp.texi (frexp): Document bug.
18860         Reported by Thomas Klausner.
18861
18862         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
18863         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
18864         literal -0.0.
18865         Reported by Jonathan C. Patschke <jp@centtech.com>.
18866
18867 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
18868
18869         * lib/glthread/cond.h: Use dummy implementation also if
18870         USE_WIN32_THREADS.
18871
18872 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
18873
18874         * modules/fnmatch-posix (License): Change to LGPLv2+.
18875         * modules/fnmatch-gnu (License): Likewise.
18876
18877 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
18878
18879         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
18880
18881 2008-09-11  Jim Meyering  <meyering@redhat.com>
18882
18883         * users.txt: Add gtk-vnc.
18884
18885 2008-09-08  Simon Josefsson  <simon@josefsson.org>
18886
18887         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
18888         rotate amounts.
18889
18890         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
18891         required for 16-bit and 8-bit rotates.
18892         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
18893         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
18894         UINT8_MAX instead of hard-coded constants.
18895         Suggested by Paul Eggert.
18896
18897 2008-09-07  Bruno Haible  <bruno@clisp.org>
18898
18899         * tests/test-striconveh.c (main): Check behaviour when converting from
18900         UTF-7.
18901
18902         Make striconveh work better with stateful encodings.
18903         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
18904         that iconv does not increment the inptr when returning -1/EINVAL.
18905
18906 2008-09-07  Bruno Haible  <bruno@clisp.org>
18907
18908         * build-aux/config.rpath: Update according to libtool-2.2.6.
18909         * build-aux/config.libpath: Likewise.
18910
18911 2008-09-06  Bruno Haible  <bruno@clisp.org>
18912
18913         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
18914         * lib/freadptr.c (freadptr): Likewise.
18915         * lib/freadseek.c (freadptrinc): Likewise.
18916         Reported by Simon Josefsson.
18917
18918 2008-09-06  Bruno Haible  <bruno@clisp.org>
18919
18920         * modules/freadptr (License): Change to LGPLv2+.
18921         * modules/freadseek (License): Likewise.
18922         Suggested by Eric Blake.
18923
18924         * modules/memchr2 (License): Change to LGPLv2+.
18925         Approved by Eric Blake.
18926
18927 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18928             Bruno Haible  <bruno@clisp.org>
18929
18930         Make gnulib-tool work with native 'sed' on AIX.
18931         * gnulib-tool (sed_noop): New variable.
18932         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
18933         func_add_or_update, func_create_testdir): Use it to initialize sed
18934         script variables.
18935         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
18936
18937 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
18938             Bruno Haible  <bruno@clisp.org>
18939
18940         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
18941         also works after #include directives.
18942
18943 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
18944
18945         getdate.y: reject an out-of-range timezone value
18946         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
18947         the range [-24...+24].  When specified with only one or two digits,
18948         * tests/test-getdate.c: Tests for the fix.
18949         * doc/getdate.texi: Document this change.
18950
18951 2008-09-03  Bruno Haible  <bruno@clisp.org>
18952
18953         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
18954
18955 2008-09-02  Simon Josefsson  <simon@josefsson.org>
18956
18957         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
18958         <bruce.korb@gmail.com> with ideas from Ben Pfaff
18959         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
18960         Blake <ebb9@byu.net>.
18961
18962         * tests/test-bitrotate.c: Add more test vectors.
18963
18964 2008-09-02  Eric Blake  <ebb9@byu.net>
18965
18966         vasnprintf-posix: handle large precision via %.*d
18967         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
18968         when handling it ourselves.
18969         * tests/test-vasnprintf-posix.c (test_function): Add test.
18970         * tests/test-snprintf-posix.h (test_function): Likewise.
18971         * tests/test-sprintf-posix.h (test_function): Likewise.
18972         * tests/test-vasprintf-posix.c (test_function): Likewise.
18973         Reported by Alain Guibert.
18974
18975 2008-09-01  Eric Blake  <ebb9@byu.net>
18976
18977         c-stack: make configure-time check more robust
18978         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
18979         successful sigaction call.
18980         Reported by Tom G. Christensen.
18981
18982 2008-09-01  Bruno Haible  <bruno@clisp.org>
18983
18984         New module 'findprog-lgpl'.
18985         * modules/findprog-lgpl: New file.
18986         * lib/findprog-lgpl.c: New file.
18987         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
18988         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
18989         to decide whether to use strdup or xstrdup, concatenated_filename or
18990         xconcatenated_filename.
18991
18992 2008-09-01  Bruno Haible  <bruno@clisp.org>
18993
18994         Split module 'concat-filename' into 'concat-filename' (LGPL) and
18995         'xconcat-filename' (GPL).
18996         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
18997         (License): Change to LGPLv2+.
18998         * modules/xconcat-filename: New file.
18999         * lib/concat-filename.h (concatenated_filename): Change specification.
19000         (xconcatenated_filename): New declaration.
19001         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
19002         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
19003         memory situations.
19004         * lib/xconcat-filename.c: New file.
19005         * NEWS: Mention the change.
19006         * lib/findprog.c: Include concat-filename.h, not filename.h.
19007         (find_in_path): Use xconcatenated_filename instead of
19008         concatenated_filename.
19009         * lib/javacomp.c: Include concat-filename.h, not filename.h.
19010         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
19011         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
19012         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
19013         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
19014         instead of concatenated_filename.
19015         * lib/javaexec.c: Include concat-filename.h, not filename.h.
19016         (execute_java_class): Use xconcatenated_filename instead of
19017         concatenated_filename.
19018         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
19019         * modules/javacomp (Depends-on): Likewise.
19020         * modules/javaexec (Depends-on): Likewise.
19021
19022 2008-09-01  Bruno Haible  <bruno@clisp.org>
19023
19024         Split module 'filename' into 'filename' and 'concat-filename'.
19025         * modules/filename: Keep only lib/filename.h.
19026         (License): Change to LGPLv2+.
19027         * modules/concat-filename: New file, extracted from modules/filename.
19028         * lib/filename.h (concatenated_filename): Remove declaration.
19029         * lib/concat-filename.h: New file, extracted from lib/filename.h.
19030         * lib/concat-filename.c: Include concat-filename.h.
19031         * NEWS: Mention the change.
19032
19033 2008-09-01  Simon Josefsson  <simon@josefsson.org>
19034
19035         * lib/bitrotate.h (rotl8, rotr8): Add.
19036
19037         * modules/bitrotate (configure.ac): Need
19038         AC_REQUIRE([AC_C_INLINE]).
19039         (Description): Mention stdint.h.  Reported by Bruno Haible
19040         <bruno@clisp.org>.
19041
19042         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
19043         Paolo Bonzini <bonzini@gnu.org>.
19044
19045 2008-08-31  Bruno Haible  <bruno@clisp.org>
19046
19047         Assume Solaris specific bi-arch conventions on Solaris systems.
19048         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
19049         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
19050         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
19051         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
19052         like acl_libdirstem.
19053         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
19054         acl_libdirstem.
19055         * NEWS: Mention the change.
19056         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
19057
19058 2008-08-31  Jim Meyering  <meyering@redhat.com>
19059
19060         * lib/strftime.h: Add comments describing the two added arguments.
19061
19062         remove duplicate #include directives
19063         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
19064         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
19065
19066 2008-08-31  Bruno Haible  <bruno@clisp.org>
19067
19068         New module 'sigpipe-die'.
19069         * modules/sigpipe-die: New file.
19070         * lib/sigpipe-die.h: New file.
19071         * lib/sigpipe-die.c: New file.
19072         * MODULES.html.sh (Signal handling): Add sigpipe-die.
19073
19074 2008-08-31  Bruno Haible  <bruno@clisp.org>
19075
19076         Don't override previously installed signal handlers.
19077         * lib/fatal-signal.c (saved_sigactions): New variable.
19078         (uninstall_handlers): Reset the signal to the saved handler, not
19079         to SIG_DFL (except when ignored).
19080         (install_handlers): Save the previous handlers.
19081
19082 2008-08-30  Bruno Haible  <bruno@clisp.org>
19083
19084         * gnulib-tool (func_reset_sigpipe): New function.
19085         (func_get_automake_snippet, func_modules_transitive_closure,
19086         func_import): Invoke it before a join command that reads from stdin,
19087         to avoid "echo: write error: Broken pipe" error messages on stderr.
19088         Reported by Sam Steingold <sds@gnu.org>.
19089
19090 2008-08-30  Bruno Haible  <bruno@clisp.org>
19091
19092         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
19093         Code copied from m4/open.m4.
19094         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
19095         access and the filename ends in a slash. Code copied from lib/open.c.
19096         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
19097         * tests/test-fopen.c (main): Check against bug with trailing slash.
19098
19099 2008-08-29  Bruno Haible  <bruno@clisp.org>
19100
19101         Avoid some "gcc -pedantic" warnings.
19102         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
19103         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
19104         * lib/dirent.in.h: Likewise.
19105         * lib/fcntl.in.h: Likewise.
19106         * lib/float.in.h: Likewise.
19107         * lib/iconv.in.h: Likewise.
19108         * lib/inttypes.in.h: Likewise.
19109         * lib/locale.in.h: Likewise.
19110         * lib/math.in.h: Likewise.
19111         * lib/netinet_in.in.h: Likewise.
19112         * lib/search.in.h: Likewise.
19113         * lib/signal.in.h: Likewise.
19114         * lib/stdarg.in.h: Likewise.
19115         * lib/stdint.in.h: Likewise.
19116         * lib/stdio.in.h: Likewise.
19117         * lib/stdlib.in.h: Likewise.
19118         * lib/string.in.h: Likewise.
19119         * lib/strings.in.h: Likewise.
19120         * lib/sys_select.in.h: Likewise.
19121         * lib/sys_socket.in.h: Likewise.
19122         * lib/sys_stat.in.h: Likewise.
19123         * lib/sys_time.in.h: Likewise.
19124         * lib/sysexits.in.h: Likewise.
19125         * lib/time.in.h: Likewise.
19126         * lib/unistd.in.h: Likewise.
19127         * lib/wchar.in.h: Likewise.
19128         * lib/wctype.in.h: Likewise.
19129         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
19130         * modules/fchdir (Makefile.am): Likewise.
19131         * modules/fcntl (Makefile.am): Likewise.
19132         * modules/float (Makefile.am): Likewise.
19133         * modules/iconv_open (Makefile.am): Likewise.
19134         * modules/inttypes (Makefile.am): Likewise.
19135         * modules/locale (Makefile.am): Likewise.
19136         * modules/math (Makefile.am): Likewise.
19137         * modules/netinet_in (Makefile.am): Likewise.
19138         * modules/search (Makefile.am): Likewise.
19139         * modules/signal (Makefile.am): Likewise.
19140         * modules/stdarg (Makefile.am): Likewise.
19141         * modules/stdint (Makefile.am): Likewise.
19142         * modules/stdio (Makefile.am): Likewise.
19143         * modules/stdlib (Makefile.am): Likewise.
19144         * modules/string (Makefile.am): Likewise.
19145         * modules/strings (Makefile.am): Likewise.
19146         * modules/sys_select (Makefile.am): Likewise.
19147         * modules/sys_socket (Makefile.am): Likewise.
19148         * modules/sys_stat (Makefile.am): Likewise.
19149         * modules/sys_time (Makefile.am): Likewise.
19150         * modules/sysexits (Makefile.am): Likewise.
19151         * modules/time (Makefile.am): Likewise.
19152         * modules/unistd (Makefile.am): Likewise.
19153         * modules/wchar (Makefile.am): Likewise.
19154         * modules/wctype (Makefile.am): Likewise.
19155         Reported by Reuben Thomas <rrt@sc3d.org>.
19156
19157 2008-08-29  Bruno Haible  <bruno@clisp.org>
19158
19159         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
19160         any more.
19161
19162 2008-08-29  Simon Josefsson  <simon@josefsson.org>
19163
19164         * MODULES.html.sh (Misc): Add bitrotate.
19165
19166         * modules/bitrotate: New file.
19167
19168         * lib/bitrotate.h: New file.
19169
19170         * modules/bitrotate-tests: New file.
19171
19172         * tests/test-bitrotate.c: New file.
19173
19174         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
19175         on the bitrotate module.
19176
19177         * lib/arctwo.c: Use new bitrotate module.
19178
19179 2008-08-29  Jim Meyering  <meyering@redhat.com>
19180
19181         bootstrap: merge changes from coreutils
19182         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
19183         of copied files.  Remove a kludge, now that this is fixed.
19184         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
19185         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
19186         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
19187
19188 2008-08-29  Bruno Haible  <bruno@clisp.org>
19189
19190         * MODULES.html.sh: Remove --cvs-urls option.
19191
19192 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
19193
19194         maint.mk: adjust to file name change
19195         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
19196
19197 2008-08-28  Jim Meyering  <meyering@redhat.com>
19198
19199         * modules/getndelim2 (License): Relicense to LGPLv2+.
19200         Approved by Richard Stallman for the version of 1995, and by
19201         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
19202
19203 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
19204
19205         * lib/getdelim.c (flockfile, funlockfile): Make all of them
19206         dummy if one is not available.  Do not touch them if
19207         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
19208         (getc_maybe_unlocked): New.
19209         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
19210
19211 2008-08-26  Eric Blake  <ebb9@byu.net>
19212
19213         doc/INSTALL: resync from autoconf
19214         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
19215         (INSTALL_PRELUDE): Delete; this is done more efficiently by
19216         moving...
19217         * install.texi [!autoconf]: ...here.  Resync from autoconf.
19218         * INSTALL: Regenerate.
19219         * INSTALL.ISO: New file.
19220         * INSTALL.UTF-8: Likewise.
19221
19222 2008-08-26  Jim Meyering  <meyering@redhat.com>
19223
19224         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
19225         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
19226         these definitions conditional, so that they may be overridden, too.
19227
19228 2008-08-26  Bruno Haible  <bruno@clisp.org>
19229
19230         Generate INSTALL file variants with prettier quotes.
19231         * doc/Makefile (INSTALL_PRELUDE): New macro.
19232         (INSTALL): Use it.
19233         (INSTALL.ISO, INSTALL.UTF-8): New rules.
19234
19235 2008-08-26  Bruno Haible  <bruno@clisp.org>
19236
19237         Run makeinfo in an English locale.
19238         * doc/Makefile (MAKEINFO): New variable.
19239
19240 2008-08-26  Bruno Haible  <bruno@clisp.org>
19241
19242         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
19243         Suggested by Eric Blake.
19244
19245 2008-08-25  Bruno Haible  <bruno@clisp.org>
19246
19247         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
19248
19249 2008-08-25  Eric Blake  <ebb9@byu.net>
19250
19251         c-stack: test that stack overflow can be caught
19252         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
19253         that platform allows handling stack overflow; at least OS/2 EMX
19254         has sigaltstack, but crashes before transferring control to
19255         handler on stack overflow.
19256         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
19257         check for HAVE_STACK_OVERFLOW_HANDLING.
19258         Reported by Elbert Pol.
19259
19260 2008-08-25  Bruno Haible  <bruno@clisp.org>
19261
19262         * doc/posix-functions/strftime.texi: Fix description of strftime
19263         module.
19264
19265 2008-08-24  Bruno Haible  <bruno@clisp.org>
19266
19267         * tests/uniwidth/test-uc_width2.c: New file.
19268         * tests/uniwidth/test-uc_width2.sh: New file.
19269         * modules/uniwidth/width-tests (Files): Add the new files.
19270         (TESTS): Add uniwidth/test-uc_width2.sh.
19271         (TESTS_ENVIRONMENT): New variable.
19272         (check_PROGRAMS): Add test-uc_width2.
19273         (test_uc_width2_SOURCES): New variable.
19274
19275         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
19276         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
19277         not 0x00AB.
19278         Reported by Alexander V. Lukyanov <lav@netis.ru>.
19279
19280 2008-08-22  Eric Blake  <ebb9@byu.net>
19281
19282         test-lock, test-tls: mention why a test is skipped
19283         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
19284         skipped.
19285         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
19286
19287         count-one-bits: relax license
19288         * modules/count-one-bits (License): Relicense to LGPLv2+.
19289         Suggested by Ludovic Courtès, approved by Ben Pfaff.
19290
19291 2008-08-22  Andreas Schwab  <schwab@suse.de>
19292
19293         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
19294         Remove spurious space in assignment.
19295
19296 2008-08-21  Simon Josefsson  <simon@josefsson.org>
19297
19298         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
19299         Paul Eggert <eggert@CS.UCLA.EDU>.
19300
19301 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
19302
19303         * modules/gettext: Add m4/threadlib.m4.
19304
19305 2008-08-19  Eric Blake  <ebb9@byu.net>
19306
19307         test-c-stack: fix compilation failure on FreeBSD 5.0
19308         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
19309         headers before <sys/resource.h>.
19310         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
19311         the bug.
19312         Reported by Nelson H. F. Beebe.
19313
19314         strverscmp: migrate from "strverscmp.h" to <string.h>
19315         * modules/string (Makefile.am): Add new hooks.
19316         * modules/strverscmp (Files): Remove strverscmp.h.
19317         (Depends-on): Add string.
19318         (configure.ac): Add indicator.
19319         (Include): Mention new header.
19320         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
19321         defaults.
19322         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
19323         results.
19324         * lib/strverscmp.h: Delete.
19325         * lib/string.in.h (strverscmp): Provide declaration, when needed.
19326         * tests/test-strverscmp.c (includes): Adjust client.
19327         * lib/check-version.c (includes): Likewise.
19328         * NEWS: Document the change.
19329
19330         strverscmp: add unit test
19331         * modules/strverscmp-tests: New file.
19332         * tests/test-strverscmp.c: Likewise.
19333
19334 2008-08-19  Simon Josefsson  <simon@josefsson.org>
19335
19336         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
19337         regarding Windows crypto stuff, from Mono.
19338
19339 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
19340
19341         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
19342         if present, for intel RND.  Return error on failures.
19343
19344 2008-08-18  Ben Pfaff  <blp@gnu.org>
19345
19346         gitlog-to-changelog: give better diagnostic for failed pipe-open
19347         * build-aux/gitlog-to-changelog: Improve error message: suggest
19348         that the version of Git may be too old.
19349
19350 2008-08-18  Simon Josefsson  <simon@josefsson.org>
19351
19352         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
19353         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
19354
19355 2008-08-18  Bruno Haible  <bruno@clisp.org>
19356
19357         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
19358         pthread_in_use().
19359
19360 2008-08-18  Bruno Haible  <bruno@clisp.org>
19361
19362         * lib/glthread/threadlib.c: Include <pthread.h>.
19363
19364 2008-08-18  Bruno Haible  <bruno@clisp.org>
19365
19366         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
19367         glthread_recursive_lock_* macros.
19368         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
19369         Fix syntax error.
19370
19371 2008-08-18  Bruno Haible  <bruno@clisp.org>
19372
19373         * lib/glthread/thread.c: Avoid forcing a context switch right after
19374         thread creation.
19375
19376 2008-08-17  Bruno Haible  <bruno@clisp.org>
19377
19378         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
19379         * lib/glthread/thread.h: Provide Win32 specific implementation.
19380         * modules/thread (Files): Add lib/glthread/thread.c.
19381         (Depends-on): Add lock.
19382         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
19383
19384 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19385
19386         New module 'yield'.
19387         * modules/yield: New file.
19388         * lib/glthread/yield.h: New file.
19389         * m4/yield.m4: New file.
19390         * MODULES.html.sh (Multithreading): Add yield.
19391
19392 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19393
19394         New module 'thread'.
19395         * modules/thread: New file.
19396         * lib/glthread/thread.h: New file.
19397         * m4/thread.m4: New file.
19398         * MODULES.html.sh (Multithreading): Add thread.
19399
19400 2008-08-17  Bruno Haible  <bruno@clisp.org>
19401
19402         * lib/glthread/lock.h: Include <stdlib.h> always.
19403         * lib/glthread/tls.h: Likewise.
19404         * lib/glthread/cond.h: Likewise.
19405
19406 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19407
19408         New module 'cond'.
19409         * modules/cond: New file.
19410         * lib/glthread/cond.h: New file.
19411         * lib/glthread/cond.c: New file.
19412         * m4/cond.m4: New file.
19413         * MODULES.html.sh (Multithreading): Add cond.
19414
19415 2008-08-16  Eric Blake  <ebb9@byu.net>
19416
19417         c-stack: fix regression on Irix 5.3 from 2008-06-21
19418         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
19419         sa_sigaction...
19420         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
19421         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
19422         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
19423         * modules/signal (Makefile.am): Use the value.
19424         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
19425         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
19426         * doc/posix-headers/signal.texi (signal.h): Document this
19427         portability issue.
19428         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
19429         Reported by Tom G. Christensen.
19430
19431 2008-08-17  Bruno Haible  <bruno@clisp.org>
19432
19433         New module 'threadlib'.
19434         * modules/threadlib: New file.
19435         * lib/glthread/threadlib.c: New file, extracted from
19436         lib/glthread/lock.c.
19437         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
19438         functions.
19439         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
19440         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
19441         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
19442         macros.
19443         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
19444         (gl_DISABLE_THREADS): Remove macro.
19445         * modules/lock (Files): Remove build-aux/config.rpath.
19446         (Depends-on): Remove havelib. Add threadlib.
19447         (configure.ac-early): Remove section.
19448         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
19449         * modules/tls (Depends-on): Remove lock. Add threadlib.
19450         (Link): New section, copied from threadlib.
19451         * MODULES.html.sh (Multithreading): Add threadlib.
19452
19453 2008-08-14  Bruno Haible  <bruno@clisp.org>
19454
19455         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
19456         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
19457         glthread_rwlock_unlock, glthread_rwlock_destroy,
19458         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
19459         glthread_recursive_lock_destroy): Define as macros always.
19460         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
19461         glthread_lock_lock.
19462         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
19463         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
19464         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
19465         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
19466         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
19467         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
19468         (glthread_recursive_lock_lock_func): Renamed from
19469         glthread_recursive_lock_lock.
19470         (glthread_recursive_lock_unlock_func): Renamed from
19471         glthread_recursive_lock_unlock.
19472         (glthread_recursive_lock_destroy_func): Renamed from
19473         glthread_recursive_lock_destroy.
19474
19475 2008-08-14  Bruno Haible  <bruno@clisp.org>
19476
19477         * lib/glthread/lock.h: Renamed from lib/lock.h.
19478         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
19479         * lib/glthread/tls.h: Renamed from lib/tls.h.
19480         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
19481         * lib/fstrcmp.c: Update includes.
19482         * lib/strsignal.c: Update includes.
19483         * modules/lock (Files, Makefile.am): Update.
19484         (Include): Change to "glthread/lock.h".
19485         * modules/tls (Files, Makefile.am): Update.
19486         (Include): Change to "glthread/tls.h".
19487         * tests/test-lock.c: Update includes.
19488         * tests/test-tls.c: Update includes.
19489         * NEWS: Mention the renamed header files.
19490
19491 2008-08-11  Jim Meyering  <meyering@redhat.com>
19492
19493         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
19494
19495 2008-08-11  Eric Blake  <ebb9@byu.net>
19496
19497         test-c-stack: avoid C99-ism
19498         * tests/test-c-stack.c (main): Fix whitespace, move declaration
19499         before statement.
19500         Reported by Alain Guibert.
19501
19502 2008-08-10  Jim Meyering  <meyering@redhat.com>
19503
19504         ensure that return value of uinttostr et al are not ignored
19505         * lib/inttostr.h (__GNUC_PREREQ): Define.
19506         (__attribute_warn_unused_result__): Define.
19507         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
19508
19509 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
19510
19511         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
19512         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
19513
19514 2008-08-07  Jim Meyering  <meyering@redhat.com>
19515
19516         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
19517
19518         * modules/mkstemp (License): Relicense under LGPLv2+.
19519         * modules/tempname (License): Likewise.
19520
19521 2008-08-06  Bruno Haible  <bruno@clisp.org>
19522
19523         * lib/poll.c (poll): Further micro-optimization.
19524
19525 2008-08-06  Jim Meyering  <meyering@redhat.com>
19526
19527         inet_pton.c: use locale-independent tolower
19528         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
19529         (inet_pton6): Use c_tolower rather than tolower.
19530         * modules/inet_pton (Depends-on): Add c-ctype.
19531
19532 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
19533
19534         * lib/poll.c (poll): Avoid division when timeout is 0, cache
19535         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
19536
19537 2008-08-06  Jim Meyering  <meyering@redhat.com>
19538
19539         * modules/inet_pton (License): Relicense under LGPLv2+.
19540
19541 2008-08-03  Bruno Haible  <bruno@clisp.org>
19542
19543         Additional non-aborting API for lock and tls.
19544         * lib/lock.h: Include <errno.h>.
19545         (glthread_lock_init): New macro/function.
19546         (gl_lock_init): Define as wrapper around glthread_lock_init.
19547         (glthread_lock_lock): New macro/function.
19548         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
19549         (glthread_lock_unlock): New macro/function.
19550         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
19551         (glthread_lock_destroy): New macro/function.
19552         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
19553         (glthread_rwlock_init): New macro/function.
19554         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
19555         (glthread_rwlock_rdlock): New macro/function.
19556         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
19557         (glthread_rwlock_wrlock): New macro/function.
19558         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
19559         (glthread_rwlock_unlock): New macro/function.
19560         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
19561         (glthread_rwlock_destroy): New macro/function.
19562         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
19563         (glthread_recursive_lock_init): New macro/function.
19564         (gl_recursive_lock_init): Define as wrapper around
19565         glthread_recursive_lock_init.
19566         (glthread_recursive_lock_lock): New macro/function.
19567         (gl_recursive_lock_lock): Define as wrapper around
19568         glthread_recursive_lock_lock.
19569         (glthread_recursive_lock_unlock): New macro/function.
19570         (gl_recursive_lock_unlock): Define as wrapper around
19571         glthread_recursive_lock_unlock.
19572         (glthread_recursive_lock_destroy): New macro/function.
19573         (gl_recursive_lock_destroy): Define as wrapper around
19574         glthread_recursive_lock_destroy.
19575         (glthread_once): New macro/function.
19576         (gl_once): Define as wrapper around glthread_once.
19577         Update function declarations.
19578         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
19579         glthread_rwlock_init. Return error code.
19580         (glthread_rwlock_rdlock_multithreaded): Renamed from
19581         glthread_rwlock_rdlock. Return error code.
19582         (glthread_rwlock_wrlock_multithreaded): Renamed from
19583         glthread_rwlock_wrlock. Return error code.
19584         (glthread_rwlock_unlock_multithreaded): Renamed from
19585         glthread_rwlock_unlock. Return error code.
19586         (glthread_rwlock_destroy_multithreaded): Renamed from
19587         glthread_rwlock_destroy. Return error code.
19588         (glthread_recursive_lock_init_multithreaded): Renamed from
19589         glthread_recursive_lock_init. Return error code.
19590         (glthread_recursive_lock_lock_multithreaded): Renamed from
19591         glthread_recursive_lock_lock. Return error code.
19592         (glthread_recursive_lock_unlock_multithreaded): Renamed from
19593         glthread_recursive_lock_unlock. Return error code.
19594         (glthread_recursive_lock_destroy_multithreaded): Renamed from
19595         glthread_recursive_lock_destroy. Return error code.
19596         (glthread_once_call): Make static.
19597         (glthread_once_multithreaded): Renamed from glthread_once.
19598         * lib/tls.h: Include <errno.h>.
19599         (glthread_tls_key_init): New macro/function.
19600         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
19601         (glthread_tls_set): New macro/function.
19602         (gl_tls_set): Define as wrapper around glthread_tls_set.
19603         (glthread_tls_key_destroy): New macro/function.
19604         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
19605         Update function declarations.
19606         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
19607         glthread_tls_get.
19608         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
19609
19610 2008-08-04  Eric Blake  <ebb9@byu.net>
19611
19612         gnumakefile: use space, not TAB, outside of targets
19613         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
19614
19615 2008-08-02  Jim Meyering  <meyering@redhat.com>
19616
19617         getdate.y: avoid locale-dependent date parsing failure
19618         In Turkish locales, getdate would fail to recognize keywords
19619         containing a lowercase "i".  The solution is not to rely on
19620         locale-sensitive case-conversion.
19621         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
19622         (lookup_word): Use c_toupper in place of toupper.
19623         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
19624         Reported by Vefa Bicakci <bicave@superonline.com> in
19625         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
19626         * modules/getdate (Depends-on): Add c-ctype.
19627
19628 2008-08-02  Bruno Haible  <bruno@clisp.org>
19629
19630         * gnulib-tool (func_import): When updating or creating a .gitignore
19631         file, prepend each added line with a slash, and ignore leading slashes
19632         from the existing lines.
19633         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
19634
19635 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19636
19637         Portability fix for GNU make 3.79.1.
19638         * top/GNUmakefile: Avoid 'else COND', which older GNU make
19639         versions do not understand.
19640
19641 2008-08-01  Bruno Haible  <bruno@clisp.org>
19642
19643         Work around bug of HP-UX 10.20 cc with -0.0 literal.
19644         * tests/test-isnanf.h (zero): New variable.
19645         (main): Avoid literal -0.0f.
19646         * tests/test-isnand.h (zero): New variable.
19647         (main): Avoid literal -0.0.
19648         * tests/test-isnanl.h (zero): New variable.
19649         (main): Avoid literal -0.0L.
19650         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
19651         (test_float, test_double, test_long_double): Avoid literals -0.0f,
19652         -0.0, -0.0L.
19653         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
19654         (test_signbitd): Avoid literal -0.0.
19655         (test_signbitl): Avoid literal -0.0L.
19656         * tests/test-ceilf1.c (zero): New variable.
19657         (main): Avoid literal -0.0f.
19658         * tests/test-ceill.c (zero): New variable.
19659         (main): Avoid literal -0.0L.
19660         * tests/test-floorf1.c (zero): New variable.
19661         (main): Avoid literal -0.0f.
19662         * tests/test-floorl.c (zero): New variable.
19663         (main): Avoid literal -0.0L.
19664         * tests/test-roundf1.c (zero): New variable.
19665         (main): Avoid literal -0.0f.
19666         * tests/test-round1.c (zero): New variable.
19667         (main): Avoid literal -0.0.
19668         * tests/test-roundl.c (zero): New variable.
19669         (main): Avoid literal -0.0L.
19670         * tests/test-truncf1.c (zero): New variable.
19671         (main): Avoid literal -0.0f.
19672         * tests/test-trunc1.c (zero): New variable.
19673         (main): Avoid literal -0.0.
19674         * tests/test-truncl.c (zero): New variable.
19675         (main): Avoid literal -0.0L.
19676         * tests/test-frexp.c (zero): New variable.
19677         (main): Avoid literal -0.0.
19678         * tests/test-frexpl.c (zero): New variable.
19679         (main): Avoid literal -0.0L.
19680         * tests/test-ldexpl.c (zero): New variable.
19681         (main): Avoid literal -0.0L.
19682         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
19683         (zerod, zerol): New variables.
19684         (test_function): Avoid literals -0.0, -0.0L.
19685         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
19686         (zerod, zerol): New variables.
19687         (test_function): Avoid literals -0.0, -0.0L.
19688         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
19689         (zerod, zerol): New variables.
19690         (test_function): Avoid literals -0.0, -0.0L.
19691         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
19692         (zerod, zerol): New variables.
19693         (test_function): Avoid literals -0.0, -0.0L.
19694         * tests/test-strtod.c (zero): New variable.
19695         (main): Avoid literal -0.0.
19696         Reported by Jonathan C. Patschke <jp@centtech.com>.
19697
19698 2008-07-31  Jim Meyering  <meyering@redhat.com>
19699
19700         sha256.h: correct definition of SHA224_DIGEST_SIZE
19701         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
19702         Reported by Paulie Pena IV <paulie4@gmail.com>.
19703         Define as 224 / 8, rather than as a literal.
19704         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
19705         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
19706         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
19707
19708 2008-07-31  Bruno Haible  <bruno@clisp.org>
19709
19710         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
19711         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
19712         Reported by Jonathan Patschke <jp@centtech.com>.
19713
19714 2008-07-31  Bruno Haible  <bruno@clisp.org>
19715
19716         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
19717         Reported by Paolo Bonzini <bonzini@gnu.org>.
19718
19719 2008-07-30  Eric Blake  <ebb9@byu.net>
19720
19721         test-strtod: allow compilation without -lm
19722         * tests/test-strtod.c (main): Avoid link dependence on fabs.
19723         Reported by Dennis Clarke <blastwave@gmail.com>.
19724
19725 2008-07-28  Jim Meyering  <meyering@redhat.com>
19726
19727         bootstrap: work also when there are no .po files in po/
19728         * build-aux/bootstrap (update_po_files): Complete the change
19729         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
19730
19731 2008-07-27  Jim Meyering  <meyering@redhat.com>
19732
19733         * users.txt: Add zile.
19734
19735 2008-07-26  Ben Pfaff  <blp@gnu.org>
19736
19737         Add missing dependencies on new m4/exponent[fdl].m4 files.
19738         * modules/isnanf-nolibm: Add m4/exponentf.m4.
19739         * modules/isnand-nolibm: Add m4/exponentd.m4.
19740         * modules/isnanl-nolibm: Add m4/exponentl.m4.
19741         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
19742         m4/isnan[fdl].m4, because the macros actually used moved.
19743         Reported by Jim Meyering.
19744
19745 2008-07-14  Ben Pfaff  <blp@gnu.org>
19746
19747         Add isinf module.
19748         * lib/isinf.c: New file.
19749         * lib/math.in.h: Define isinf macro if we have decided to replace
19750         it.
19751         * m4/isinf.m4: New file.
19752         * m4/math_h.m4: Initialize and substitute variables for isinf
19753         module.
19754         * modules/isinf: New file.
19755         * modules/isinf-tests: New file.
19756         * modules/math: Add substitutions for new module.
19757         * tests/test-isinf.c: New file.
19758         * doc/posix-functions/isinf.texi: Mention new module.
19759         * MODULES.html.sh: Mention new module.
19760
19761 2008-07-14  Ben Pfaff  <blp@gnu.org>
19762
19763         Factor out some macros for use by additional modules.
19764         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
19765         exponentf.m4.
19766         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
19767         exponentd.m4.
19768         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
19769         file exponentl.m4.
19770         * m4/exponentf.m4: New file.
19771         * m4/exponentd.m4: New file.
19772         * m4/exponentl.m4: New file.
19773         * modules/isnanf: Use new file m4/exponentf.m4.
19774         * modules/isnand: Use new file m4/exponentd.m4.
19775         * modules/isnanl: Use new file m4/exponentl.m4.
19776
19777 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
19778
19779         mktime.c: normalize tp->tm_isdst value to -1/0/1.
19780         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
19781         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
19782         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
19783
19784         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
19785         readlink on platforms without PATH_MAX.
19786
19787 2008-07-21  Eric Blake  <ebb9@byu.net>
19788
19789         Warn, not fail, on stale version.
19790         * top/GNUmakefile (_curr-ver): Tone down previous patch.
19791
19792         Don't allow installation with stale devel version number.
19793         * top/GNUmakefile (_is-install-target): New macro.
19794         (_curr-ver): Forbid installation with stale version number.
19795
19796 2008-07-20  Bruno Haible  <bruno@clisp.org>
19797
19798         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
19799         TESTS_ENVIRONMENT.
19800         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
19801
19802 2008-07-20  Bruno Haible  <bruno@clisp.org>
19803
19804         * lib/c-stack.h (c_stack_action): Add documentation.
19805         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
19806
19807 2008-07-20  Bruno Haible  <bruno@clisp.org>
19808
19809         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
19810         * modules/readlink (License): Likewise.
19811
19812 2008-07-17  Eric Blake  <ebb9@byu.net>
19813
19814         * modules/c-stack (Link): Fix typo.
19815
19816         Make c-stack use libsigsegv, when available.
19817         * modules/c-stack (Depends-on): Add libsigsegv.
19818         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
19819         needed.
19820         * lib/c-stack.c (SIGSTKSZ): Define fallback.
19821         (segv_handler, overflow_handler, c_stack_action)
19822         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
19823         implementation when libsigsegv is available, but only when using
19824         the library is necessary.
19825         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
19826         comment, explaining why XSI check fails on Linux.
19827         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
19828         * tests/test-c-stack2.sh: Tweak skip message.
19829         * NEWS: Document new link-time requirements.
19830
19831 2008-07-16  Eric Blake  <ebb9@byu.net>
19832
19833         c-stack: Expose false positives when not using libsigsegv.
19834         * modules/c-stack-tests (Files): Expand test.
19835         * tests/test-c-stack.c (main): Add means to conditionally trigger
19836         non-overflow SIGSEGV.
19837         * tests/test-c-stack2.sh: New file.
19838
19839 2008-07-14  Bruno Haible  <bruno@clisp.org>
19840
19841         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
19842         Reported by Eric Blake.
19843
19844 2008-07-14  Sam Steingold  <sds@gnu.org>
19845             Bruno Haible  <bruno@clisp.org>
19846
19847         New module libsigsegv.
19848         * modules/libsigsegv: New file.
19849         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
19850         modifications.
19851         * MODULES.html.sh (Signal handling): New section.
19852
19853 2008-07-14  Bruno Haible  <bruno@clisp.org>
19854
19855         * modules/unictype/ctype-* (Description): Add the word "function".
19856         Improves the resulting doc in MODULES.html.
19857
19858 2008-07-12  Ben Pfaff  <blp@gnu.org>
19859
19860         Add longlong module.
19861         * modules/longlong: New file.
19862
19863 2008-07-12  Bruno Haible  <bruno@clisp.org>
19864
19865         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
19866         to empty.
19867
19868 2008-07-10  Ben Pfaff  <blp@gnu.org>
19869
19870         Add isnan module.
19871         * doc/posix-functions/isnan.texi: Mention new module.
19872         * lib/math.in.h: Define isnan macro if we have decided to replace
19873         it.
19874         * m4/isnan.m4: New file.
19875         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
19876         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
19877         also.
19878         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
19879         redundancy.
19880         * m4/math_h.m4: Initialize and substitute variables for isnan
19881         module.
19882         * modules/isnan: New file.
19883         * modules/isnan-tests: New file.
19884         * modules/math: Add substitutions for new module.
19885         * tests/test-isnan.c: New file.
19886         * MODULES.html.sh: Mention new module.
19887
19888 2008-07-10  Ben Pfaff  <blp@gnu.org>
19889
19890         Add isnanf module.
19891         * lib/isnanf.m4: New file.
19892         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
19893         (gl_HAVE_ISNANF_IN_LIBM): New macro.
19894         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
19895         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
19896         * modules/isnanf: New file.
19897         * modules/isnanf-tests: New file.
19898         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
19899         files.
19900         * tests/test-isnanf-nolibm.c: factored most of its contents into
19901         new file tests/test-isnanf.h.
19902         * tests/test-isnanf.h: New file.
19903         * tests/test-isnanf.c: New file.
19904         * MODULES.html.sh: Mention new module.
19905         * doc/glibc-functions/isnanf.texi: Mention new module.
19906
19907 2008-07-10  Ben Pfaff  <blp@gnu.org>
19908
19909         Add isnand module.
19910         * lib/isnand.h: New file.
19911         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
19912         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
19913         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
19914         functionality also.
19915         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
19916         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
19917         (gl_HAVE_ISNAND_IN_LIBM): New macro.
19918         * modules/isnand: New file.
19919         * modules/isnand-tests: New file.
19920         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
19921         files.
19922         * tests/test-isnand-nolibm.c: factored most of its contents into
19923         new file tests/test-isnand.h.
19924         * tests/test-isnand.h: New file.
19925         * tests/test-isnand.c: New file.
19926         * MODULES.html.sh: Mention new module.
19927
19928 2008-07-10  Ben Pfaff  <blp@gnu.org>
19929
19930         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
19931         * lib/isnand.h: Rename lib/isnand-nolibm.h.
19932         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
19933         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
19934         * modules/isnanf-nolibm: Update references to renamed files.
19935         * modules/isnand-nolibm: Likewise.
19936         * modules/isnanf-nolibm-tests: Likewise.
19937         * modules/isnand-nolibm-tests: Likewise.
19938         * lib/frexp.c: Likewise.
19939         * lib/isfinite.c: Likewise.
19940         * lib/signbitd.c: Likewise.
19941         * lib/signbitf.c: Likewise.
19942         * lib/vasnprintf.c: Likewise.
19943         * tests/test-ceilf1.c: Likewise.
19944         * tests/test-ceilf2.c: Likewise.
19945         * tests/test-floorf1.c: Likewise.
19946         * tests/test-floorf2.c: Likewise.
19947         * tests/test-frexp.c: Likewise.
19948         * tests/test-round1.c: Likewise.
19949         * tests/test-round2.c: Likewise.
19950         * tests/test-roundf1.c: Likewise.
19951         * tests/test-strtod.c: Likewise.
19952         * tests/test-trunc1.c: Likewise.
19953         * tests/test-trunc2.c: Likewise.
19954         * tests/test-truncf1.c: Likewise.
19955         * tests/test-truncf2.c: Likewise.
19956         * NEWS: Mention the renamed header files.
19957
19958 2008-07-11  Jim Meyering  <meyering@redhat.com>
19959
19960         vc-list-files: make the last-resort awk code more portable
19961         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
19962         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
19963         does not support it.
19964
19965 2008-07-10  Eric Blake  <ebb9@byu.net>
19966
19967         Work with tar's bootstrap.
19968         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
19969         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
19970         an m4 comment.
19971
19972 2008-07-09  Jim Meyering  <meyering@redhat.com>
19973
19974         posix-shell.m4: fix typo that made this test malfunction
19975         * m4/posix-shell.m4: Remove capitalization in variable name.
19976
19977 2008-07-08  Bruno Haible  <bruno@clisp.org>
19978
19979         * m4/onceonly.m4: Update comments.
19980         Reported by Ben Pfaff <blp@cs.stanford.edu>.
19981
19982 2008-07-04  Jim Meyering  <meyering@redhat.com>
19983
19984         * users.txt: Add vc-dwim.
19985         (bison, coreutils): Use the gitweb URL.
19986
19987 2008-07-03  Jim Meyering  <meyering@redhat.com>
19988
19989         * users.txt: Add libffcall.  From Sam Steingold.
19990
19991 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
19992
19993         getdate.y: do not ignore TZ with relative day, month or year offset
19994         * lib/getdate.y (get_date): Move the tz-handling block to follow the
19995         relative-date-handling, since otherwise, the latter would clobber the
19996         sole output (an updated Start value) of the tz-handling block.
19997         * tests/test-getdate.c: Tests for the fix
19998
19999 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20000
20001         Recognize 'foo_LIBRARIES += libgnu.a'.
20002         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
20003         makefile snippet has already specified an installation location,
20004         also using '+='.
20005
20006 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
20007
20008         getdate.y: factor out common actions
20009         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
20010         Use them in place of open-coded actions.
20011
20012 2008-07-01  Simon Josefsson  <simon@josefsson.org>
20013
20014         Add self-test for getdate module.
20015         * modules/getdate-tests: New file.
20016         * tests/test-getdate.c: New file.
20017
20018 2008-06-29  Bruno Haible  <bruno@clisp.org>
20019
20020         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
20021         .gitignore.
20022         Reported by Sylvain Beucler <beuc@beuc.net>.
20023
20024 2008-06-29  Bruno Haible  <bruno@clisp.org>
20025
20026         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
20027         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
20028
20029 2008-06-29  Bruno Haible  <bruno@clisp.org>
20030
20031         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
20032         EXTRA_DIST.
20033         Reported by Sylvain Beucler <beuc@beuc.net>.
20034
20035 2008-06-26  Jim Meyering  <meyering@redhat.com>
20036
20037         make several modules depend on the "open" module
20038         This provides slightly increased consistency when opening-for-write
20039         the name of a non-directory spelled with a trailing slash.
20040         * modules/chdir-safer: Likewise.
20041         * modules/chown: Likewise.
20042         * modules/clean-temp: Likewise.
20043         * modules/copy-file: Likewise.
20044         * modules/fchdir: Likewise.
20045         * modules/fcntl-safer: Likewise.
20046         * modules/pipe: Likewise.
20047         * modules/utime: Likewise.
20048         Prompted by Eric Blake and Bruno Haible.
20049
20050 2008-06-24  Andreas Schwab  <schwab@suse.de>
20051
20052         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
20053         literals can be used as initializers for global variables.
20054
20055 2008-06-23  Eric Blake  <ebb9@byu.net>
20056
20057         Make gnulib-cache.m4 easier to diff.
20058         * gnulib-tool (func_import): Allow newlines when reading cached
20059         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
20060
20061 2008-06-23  Bruno Haible  <bruno@clisp.org>
20062
20063         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
20064         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
20065         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
20066         m4/signalblocking.m4.
20067         (gl_PREREQ_SIGACTION): Don't invoke it.
20068         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
20069         gl_PREREQ_SIG_HANDLER_H.
20070         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
20071         Don't check for sigaction here.
20072
20073 2008-06-23  Bruno Haible  <bruno@clisp.org>
20074
20075         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
20076         (install_handlers): Don't set the SA_RESETHAND flag.
20077
20078 2008-06-23  Bruno Haible  <bruno@clisp.org>
20079
20080         * m4/sigaction.m4: Comment fixes.
20081         * lib/signal.in.h: Likewise.
20082
20083 2008-06-23  Eric Blake  <ebb9@byu.net>
20084
20085         Fix typo.
20086         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
20087
20088         Avoid SA_ namespace.
20089         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
20090         Reported by Ralf Wildenhues.
20091
20092         Avoid test failure due to SA_RESTORER.
20093         * tests/test-sigaction.c (SA_MASK): New macro.
20094         (main): Avoid failing due to extension flags being set.
20095         Reported by Jim Meyering.
20096
20097         Revert use of sig-handler.h in sigprocmask.c.
20098         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
20099         it requires the existence of struct sigaction.
20100         * lib/sigprocmask.c (handler_t): Restore typedef.
20101         (rpl_signal, old_handlers): Use local type.
20102
20103 2008-06-22  Bruno Haible  <bruno@clisp.org>
20104
20105         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
20106         conditionally.
20107         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
20108
20109 2008-06-22  Bruno Haible  <bruno@clisp.org>
20110
20111         * doc/posix-functions/siginterrupt.texi: Move note.
20112
20113         * lib/signal.in.h (SA_RESTART): New macro.
20114         * lib/sigaction.c: Update comment.
20115
20116         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
20117
20118         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
20119         (gl_PREREQ_SIGPROCMASK): Invoke it.
20120         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
20121
20122         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
20123
20124         * lib/sigprocmask.c: Update a comment.
20125
20126 2008-06-21  Eric Blake  <ebb9@byu.net>
20127
20128         Use sigaction module rather than signal().
20129         * modules/c-stack (Depends-on): Add sigaction.
20130         * modules/fatal-signal (Depends-on): Likewise.
20131         * modules/nanosleep (Depends-on): Likewise.
20132         * modules/sigprocmask (Files): Add sig-handler.h.
20133         * modules/sigaction (Files): Likewise.
20134         * lib/sig-handler.h (get_handler): New file, suggested by Paul
20135         Eggert.
20136         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
20137         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
20138         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
20139         (init_fatal_signals): Likewise.
20140         * lib/nanosleep.c (rpl_nanosleep): Likewise.
20141         (siginterrupt): Delete fallback.
20142         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
20143         instead.
20144         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
20145         siginterrupt.
20146
20147         New module sigaction, for mingw.
20148         * modules/sigaction: New module...
20149         * modules/sigaction-tests: ...and its test.
20150         * m4/sigaction.m4: New file.
20151         * lib/sigaction.c: Likewise.
20152         * tests/test-sigaction.c: Likewise.
20153         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
20154         * modules/signal (Makefile.am): Likewise.
20155         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
20156         needed.
20157         * doc/posix-headers/signal.texi (signal.h): Mention provided
20158         types.
20159         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
20160         that sigaction is preferable.
20161         * doc/posix-functions/sigaction.texi (sigaction): Mention new
20162         module.
20163         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
20164         sigaction.
20165
20166         Improve robustness of sigprocmask by overriding signal.
20167         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
20168         is in use.
20169         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
20170         (SIGKILL, SIGSTOP): Provide fallbacks.
20171         (rpl_signal): Implement.
20172         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
20173         signal can be called inside handlers.
20174
20175         Fix nanosleep module on mingw.
20176         * modules/nanosleep (Depends-on): Add sys_select.
20177         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
20178
20179         Fix licensing of sigprocmask.
20180         * modules/raise (License): Relicense as LGPL.
20181
20182 2008-06-21  Bruno Haible  <bruno@clisp.org>
20183
20184         * lib/propername.c (proper_name_utf8): Don't use the transliterated
20185         result if it contains question marks.
20186         Reported by Michael Geng <linux@michaelgeng.de>.
20187
20188 2008-06-19  Bruno Haible  <bruno@clisp.org>
20189
20190         Fix CVS-ism.
20191         * doc/gnulib.texi: Include updated-stamp.texi.
20192         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
20193         (updated-stamp.texi): New rule.
20194         (gnulib.info): Depend on it.
20195         * doc/.gitignore: Add updated-stamp.texi.
20196         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
20197
20198 2008-06-19  Bruno Haible  <bruno@clisp.org>
20199
20200         * doc/Makefile (gnulib.info): Update and simplify dependencies.
20201         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
20202
20203 2008-06-19  Eric Blake  <ebb9@byu.net>
20204
20205         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
20206         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
20207         Reported by Stepan Kasal.
20208
20209 2008-06-18  Bruno Haible  <bruno@clisp.org>
20210
20211         * lib/fatal-signal.c (init_fatal_signals): Add comment.
20212         Reported by Eric Blake.
20213
20214 2008-06-18  Eric Blake  <ebb9@byu.net>
20215
20216         Work around cygwin 1.5.25 strsignal bug.
20217         * tests/test-strsignal.c: Allow for const char *.
20218         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
20219
20220 2008-06-18  Simon Josefsson  <simon@josefsson.org>
20221
20222         * users.txt: Update URL to article and add author/date
20223         information.
20224
20225 2008-06-17  Bruno Haible  <bruno@clisp.org>
20226
20227         New macro gl_DISABLE_THREADS.
20228         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
20229         if the user did not pass --enable-threads or --disable-threads option.
20230         (gl_DISABLE_THREADS): New macro.
20231         Reported by Eric Blake <ebb9@byu.net>.
20232
20233 2008-06-17  Bruno Haible  <bruno@clisp.org>
20234
20235         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
20236         when the macro ignores it.
20237         Based on a patch by Eric Blake <ebb9@byu.net>.
20238
20239 2008-06-17  Bruno Haible  <bruno@clisp.org>
20240
20241         * modules/tls (License): Change to LGPLv2+.
20242         Reported by Eric Blake.
20243
20244 2008-06-17  Eric Blake  <ebb9@byu.net>
20245
20246         Simplify c-stack prerequisites.
20247         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
20248         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
20249         no longer requires <ucontext.h> to exist.  Optimize setrlimit
20250         check.
20251         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
20252         <sys/resource.h>.
20253
20254         Move c-stack test into testsuite.
20255         * modules/c-stack-tests: New file.
20256         * lib/c-stack.c [DEBUG]: Move test program...
20257         * tests/test-c-stack.c: ...into this new file.  Skip rather than
20258         fail test if sigaltstack is lacking.
20259         * tests/test-c-stack.sh: New driver file.
20260
20261 2008-06-16  Eric Blake  <ebb9@byu.net>
20262
20263         Use raise module consistently.
20264         * modules/fatal-signal (Depends-on): Add raise.
20265         * modules/sigprocmask (Depends-on): Likewise.
20266         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
20267         * lib/sigprocmask.c (sigprocmask): Likewise.
20268         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
20269         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
20270
20271         Fix compliance bug in sigpending.
20272         * lib/sigprocmask.c (sigpending): Return pending array via
20273         parameter, not return value.
20274
20275 2008-06-14  Eric Blake  <ebb9@byu.net>
20276
20277         Improve obstack-printf test code.
20278         * tests/test-obstack-printf.c (test_function): Fix comment, and
20279         simplify usage of obstack_* in macros.  Add a test for coverage.
20280         Reported by Bruno Haible.
20281
20282 2008-06-14  Bruno Haible  <bruno@clisp.org>
20283
20284         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
20285         array size as a constant, not as a const variable.
20286         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
20287         AC_USE_SYSTEM_EXTENSIONS.
20288         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
20289         Test whether the obstack_printf function actually exists.
20290         * modules/obstack-printf (Depends-on): Add extensions.
20291         (Include): Remove obstack.h.
20292         * modules/obstack-printf-posix (Depends-on): Add extensions.
20293         (Include): Remove obstack.h.
20294
20295 2008-06-13  Eric Blake  <ebb9@byu.net>
20296
20297         Add obstack-printf and obstack-printf-posix modules.
20298         * modules/obstack-printf: New file.
20299         * modules/obstack-printf-posix: Likewise.
20300         * MODULES.html.sh (Misc): Mention them.
20301         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
20302         Likewise.
20303         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
20304         Likewise.
20305         * modules/stdio (Makefile.am): Accomodate new modules.
20306         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
20307         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
20308         Declare.
20309         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
20310         functions.
20311         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
20312         (gl_REPLACE_OBSTACK_PRINTF): New macros
20313         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
20314         * tests/test-obstack-printf.c: New file.
20315         * modules/obstack-printf-tests: Likewise.
20316         * modules/obstack-printf-posix-tests: Likewise.
20317
20318 2008-06-11  Bruno Haible  <bruno@clisp.org>
20319
20320         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
20321         * lib/open.c: Include errno.h.
20322         (open): Fail when attempting to write to a file that has a trailing
20323         slash.
20324         * tests/test-open.c (main): Test against trailing slash bug.
20325         * doc/posix-functions/open.texi: Mention the trailing slash bug.
20326
20327 2008-06-10  Bruno Haible  <bruno@clisp.org>
20328
20329         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
20330         for $? to work inside the trap command, with various /bin/sh-s.
20331         * tests/test-vc-list-files-cvs.sh: Likewise.
20332
20333 2008-06-10  Bruno Haible  <bruno@clisp.org>
20334
20335         * lib/acl-internal.h: Don't include gettext.h here.
20336         * lib/set-mode-acl.c: Include gettext.h here.
20337         * lib/copy-acl.c: Likewise.
20338
20339 2008-06-10  Bruno Haible  <bruno@clisp.org>
20340
20341         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
20342         * lib/wait-process.c (wait_subprocess): Likewise.
20343         * lib/execute.h (execute): Add termsigp argument.
20344         * lib/execute.c (execute): Likewise.
20345         * lib/csharpcomp.c (compile_csharp_using_pnet,
20346         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
20347         * lib/csharpexec.c (execute_csharp_using_pnet,
20348         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
20349         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
20350         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
20351         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
20352         is_jikes_present): Update.
20353         * lib/javaexec.c (execute_java_class): Update.
20354         * lib/javaversion.c (execute_and_read_line): Update.
20355         * NEWS: Document the changes.
20356         Reported by Eric Blake.
20357
20358 2008-06-10  Eric Blake  <ebb9@byu.net>
20359
20360         Add missing include.
20361         * tests/test-strstr.c (includes): Add <signal.h>.
20362         * tests/test-strcasestr.c (includes): Likewise.
20363         * tests/test-memmem.c (includes): Likewise.
20364
20365 2008-06-10  Bruno Haible  <bruno@clisp.org>
20366
20367         * lib/wait-process.c (wait_subprocess): Add an assertion.
20368
20369 2008-06-10  Bruno Haible  <bruno@clisp.org>
20370
20371         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
20372
20373 2008-06-10  Bruno Haible  <bruno@clisp.org>
20374
20375         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
20376         using alarm().
20377         * tests/test-strcasestr.c (main): Likewise.
20378         * tests/test-strstr.c (main): Likewise.
20379
20380 2008-06-09  Bruno Haible  <bruno@clisp.org>
20381
20382         Work around the Solaris 10 ACE ACLs ABI change.
20383         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
20384         declare if ACL_NO_TRIVIAL is present.
20385         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
20386         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
20387         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
20388         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
20389         define if ACL_NO_TRIVIAL is present.
20390         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
20391         and use the current ABI.
20392         (file_has_acl): Use same #if condition as elsewhere.
20393         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
20394         in use, and use the current ABI.
20395         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
20396         Reported by Jim Meyering.
20397
20398 2008-06-09  Eric Blake  <ebb9@byu.net>
20399
20400         Work around environments that (stupidly) ignore SIGALRM.
20401         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
20402         before using alarm().
20403         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
20404         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
20405         Reported by Ian Beckwith <ianb@erislabs.net>.
20406
20407         Produce autobuild blurb earlier in log.
20408         * modules/autobuild (configure.ac-early): Move AB_INIT here.
20409
20410 2008-06-09  Jim Meyering  <meyering@redhat.com>
20411         and OndÅ™ej Vašík  <ovasik@redhat.com>
20412
20413         utimens.c: correct kernel bug work-around
20414         OndÅ™ej Vašík found that the invalid return value of 280 indicates
20415         failure, not success, and the kernel bug we're trying to work
20416         around affects not just the utimensat call, but also the fallback
20417         futimens call.
20418         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
20419         not success.
20420         [HAVE_FUTIMENS]: Use the same work-around, here.
20421
20422 2008-06-09  Jim Meyering  <meyering@redhat.com>
20423
20424         add more guards around definition of ACE_-related code
20425         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
20426         ALLOW and ACE_OWNER are also defined.
20427
20428 2008-06-08  Bruno Haible  <bruno@clisp.org>
20429
20430         * lib/acl-internal.h: Add me as co-author.
20431         * lib/file-has-acl.c: Likewise.
20432         * lib/set-mode-acl.c: Likewise.
20433         * lib/copy-acl.c: Likewise.
20434
20435 2008-06-08  Bruno Haible  <bruno@clisp.org>
20436
20437         Add support for AIX ACLs.
20438         * lib/acl-internal.h (acl_nontrivial): New declaration.
20439         * lib/file-has-acl.c (acl_nontrivial): New function.
20440         (file_has_acl): Add implementation using AIX 4 ACL API.
20441         * lib/set-mode-acl.c (qset_acl): Likewise.
20442         * lib/copy-acl.c (qcopy_acl): Likewise.
20443
20444 2008-06-08  Bruno Haible  <bruno@clisp.org>
20445
20446         Add support for HP-UX ACLs.
20447         * lib/acl-internal.h (acl_nontrivial): New declaration.
20448         * lib/file-has-acl.c (acl_nontrivial): New function.
20449         (file_has_acl): Add implementation using HP-UX 11 ACL API.
20450         * lib/set-mode-acl.c (qset_acl): Likewise.
20451         * lib/copy-acl.c (qcopy_acl): Likewise.
20452
20453 2008-06-08  Bruno Haible  <bruno@clisp.org>
20454
20455         Add support for Cygwin ACLs.
20456         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
20457         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
20458         the chmod_or_fchmod call.
20459         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
20460
20461 2008-06-08  Bruno Haible  <bruno@clisp.org>
20462
20463         Fix bug with setuid modes in Solaris 10+ code.
20464         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
20465         succeeded, when the mode contains some special bits.
20466
20467 2008-06-08  Bruno Haible  <bruno@clisp.org>
20468
20469         Add support for Solaris 7..10 ACLs.
20470         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
20471         declarations.
20472         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
20473         functions.
20474         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
20475         * lib/set-mode-acl.c (qset_acl): Likewise.
20476         * lib/copy-acl.c (qcopy_acl): Likewise.
20477
20478 2008-06-08  Bruno Haible  <bruno@clisp.org>
20479
20480         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
20481         declaration.
20482         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
20483         (acl_access_nontrivial): Remove MacOS X case.
20484         (file_has_acl): Use acl_extended_nontrivial.
20485         * lib/copy-acl.c (qcopy_acl): Likewise.
20486
20487 2008-06-08  Bruno Haible  <bruno@clisp.org>
20488
20489         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
20490
20491 2008-06-08  Jim Meyering  <meyering@redhat.com>
20492
20493         * modules/acl (Maintainer): Add Bruno Haible.
20494
20495 2008-06-07  Bruno Haible  <bruno@clisp.org>
20496
20497         Improve support for Tru64 ACLs.
20498         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
20499         ACL on OSF/1.
20500
20501 2008-06-07  Bruno Haible  <bruno@clisp.org>
20502
20503         Add support for MacOS X ACLs.
20504         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
20505         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
20506         * lib/set-mode-acl.c (qset_acl): Likewise.
20507         * lib/copy-acl.c (qcopy_acl): Likewise.
20508
20509 2008-06-07  Bruno Haible  <bruno@clisp.org>
20510
20511         Fix memory leak introduced on 2008-05-22.
20512         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
20513         use.
20514
20515 2008-06-07  Bruno Haible  <bruno@clisp.org>
20516
20517         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
20518         to construct an empty ACL.
20519
20520 2008-06-07  Bruno Haible  <bruno@clisp.org>
20521
20522         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
20523         precisely.
20524         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
20525
20526 2008-06-07  Bruno Haible  <bruno@clisp.org>
20527
20528         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
20529         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
20530
20531 2008-06-07  Bruno Haible  <bruno@clisp.org>
20532
20533         * doc/posix-functions/_setjmp.texi: Explain the use of this function
20534         regardless of POSIX.
20535         * doc/posix-functions/_longjmp.texi: Likewise.
20536         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
20537         SystemV platform in this case.
20538
20539 2008-06-06  Eric Blake  <ebb9@byu.net>
20540
20541         Document abort() bugs.
20542         * doc/posix-functions/abort.texi (abort): Mention anomalies.
20543
20544         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
20545         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
20546         sigsetjmp.
20547         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
20548         siglongjmp, but only as a macro.
20549         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
20550         is obsolete.
20551         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
20552
20553         Tweak documentation to cover cygwin argz bugs.
20554         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
20555         argz bug fix; no code change needed since no cygwin releases
20556         occurred between the last fix and the bug being tested.
20557         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
20558         module and recently fixed cygwin bugs.
20559         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
20560         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
20561         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
20562         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
20563         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
20564         Likewise.
20565         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
20566         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
20567         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
20568         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
20569         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
20570         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
20571         Likewise.
20572
20573         Avoid gcc warning on cygwin.
20574         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
20575         !ACL_NO_TRIVIAL]: Avoid unused variable.
20576
20577 2008-06-05  Eric Blake  <ebb9@byu.net>
20578
20579         Be tolerant of UNKNOWN version in gnulib-tool test dir.
20580         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
20581         git-version-gen fails to come up with a version.
20582         Reported by Simon Josefsson.
20583
20584 2008-06-05  Jim Meyering  <meyering@redhat.com>
20585             Paul Eggert  <eggert@cs.ucla.edu>
20586
20587         utimens.c: work around a probable Linux kernel bug
20588         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
20589         appears to be a kernel bug that causes utimensat to return 280
20590         instead of 0, indicating success.
20591
20592 2008-06-04  Bruno Haible  <bruno@clisp.org>
20593
20594         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
20595         2008-06-01 commit.
20596
20597 2008-06-04  Bruno Haible  <bruno@clisp.org>
20598
20599         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
20600         * lib/file-has-acl.c (acl_access_nontrivial): New function.
20601         (file_has_acl): Use it. Save errno afterwards.
20602         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
20603
20604 2008-06-03  Bruno Haible  <bruno@clisp.org>
20605
20606         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
20607         draft code. Simplify #ifs.
20608         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
20609         Put Solaris code after POSIX-draft code. Fix comments regarding
20610         Solaris 10, HP-UX. Mention Cygwin.
20611         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
20612
20613 2008-06-03  Eric Blake  <ebb9@byu.net>
20614
20615         Provide fallback for older kernels.
20616         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
20617         Provide runtime fallback if kernel lacks support.
20618         Reported by Mike Frysinger.
20619
20620 2008-06-02  Bruno Haible  <bruno@clisp.org>
20621
20622         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
20623         it exists.
20624
20625 2008-06-02  Bruno Haible  <bruno@clisp.org>
20626
20627         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
20628         * lib/copy-acl.c (qcopy_acl): Update comment.
20629
20630 2008-06-02  Bruno Haible  <bruno@clisp.org>
20631
20632         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
20633         like ACL APIs.
20634
20635 2008-06-02  Bruno Haible  <bruno@clisp.org>
20636
20637         * tests/test-file-has-acl.sh: Use different code for Cygwin.
20638         * tests/test-set-mode-acl.sh: Likewise.
20639         * tests/test-copy-acl.sh: Likewise.
20640         * tests/test-copy-file.sh: Likewise.
20641
20642 2008-06-02  Bruno Haible  <bruno@clisp.org>
20643
20644         * tests/test-file-has-acl.sh: Remove unused code.
20645
20646 2008-06-01  Bruno Haible  <bruno@clisp.org>
20647
20648         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
20649         (copy_acl): Just a wrapper around qcopy_acl that emits the error
20650         messages.
20651         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
20652
20653 2008-06-01  Bruno Haible  <bruno@clisp.org>
20654
20655         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
20656         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
20657         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
20658         APIs.
20659         * modules/acl-tests (configure.ac): Remove tests now contained in
20660         m4/acl.m4.
20661
20662 2008-06-02  Jim Meyering  <meyering@redhat.com>
20663
20664         announce-gen: use a better key-server host name
20665         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
20666         it may be more consistently reliable.  Suggested by Werner Koch
20667         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
20668
20669 2008-06-01  Bruno Haible  <bruno@clisp.org>
20670
20671         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
20672         Reported by Voroskoi Andras <voroskoi@gmail.com>.
20673
20674 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
20675
20676         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
20677
20678 2008-06-01  Bruno Haible  <bruno@clisp.org>
20679
20680         New ACL tests.
20681         * tests/test-file-has-acl.sh: New file.
20682         * tests/test-file-has-acl.c: New file.
20683         * tests/test-set-mode-acl.sh: New file.
20684         * tests/test-set-mode-acl.c: New file.
20685         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
20686         * tests/test-copy-acl.c: New file.
20687         * modules/acl-tests: New file, based on modules/copy-file-tests.
20688         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
20689         (Depends-on): Add acl-tests.
20690         (configure.ac): Remove checks.
20691         (Makefile.am): Don't create test-sameacls program here any more.
20692
20693 2008-06-01  Bruno Haible  <bruno@clisp.org>
20694
20695         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
20696         * tests/test-sameacls.c: Include progname.h.
20697         (main): Invoke set_program_name. Portability fixes for MacOS X,
20698         Solaris, HP-UX.
20699
20700 2008-06-01  Bruno Haible  <bruno@clisp.org>
20701
20702         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
20703         function.
20704         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
20705
20706 2008-06-01  Bruno Haible  <bruno@clisp.org>
20707
20708         * modules/rpmatch (Depends-on): Add strdup.
20709
20710 2008-06-01  Bruno Haible  <bruno@clisp.org>
20711
20712         * lib/pipe.c: Include unistd-safer.h.
20713         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
20714         * modules/pipe (Depends-on): Add unistd-safer.
20715
20716 2008-05-30  Simon Josefsson  <simon@josefsson.org>
20717
20718         * modules/autobuild (configure.ac): Call AB_INIT.
20719
20720 2008-05-30  Simon Josefsson  <simon@josefsson.org>
20721
20722         * tests/test-getaddrinfo.c: Don't print debug messages by default.
20723         Suggested by Bruno Haible <bruno@clisp.org>.
20724
20725 2008-05-30  Simon Josefsson  <simon@josefsson.org>
20726
20727         * tests/test-base64.c: Cast size_t to unsigned long when invoking
20728         printf.  Use %lu instead of %d.  Reported by Bruno Haible
20729         <bruno@clisp.org>.
20730
20731 2008-05-29  Eric Blake  <ebb9@byu.net>
20732
20733         Prefer new POSIX 200x interfaces over futimesat.
20734         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
20735         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
20736         when available.
20737         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
20738
20739 2008-05-28  Bruno Haible  <bruno@clisp.org>
20740
20741         * modules/stpcpy (License): Change to LGPLv2+.
20742         Requested by David Lutterkort <dlutter@redhat.com>.
20743
20744 2008-05-27  Bruno Haible  <bruno@clisp.org>
20745
20746         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
20747         current mingw.
20748         Reported by Jose E. Marchesi <jemarch@gnu.org>.
20749
20750 2008-05-27  Bruno Haible  <bruno@clisp.org>
20751
20752         * modules/iconv_open (Link): New section, from module 'iconv'.
20753         * modules/striconv (Link): Likewise.
20754         * modules/striconveh (Link): Likewise.
20755         * modules/xstriconv (Link): Likewise.
20756         * modules/unicodeio (Link): Likewise.
20757         * modules/propername (Link): Likewise.
20758         Reported by Jim Meyering.
20759
20760 2008-05-26  Jim Meyering  <meyering@redhat.com>
20761
20762         sha256: do not artificially restrict buffer length to be < 2^32
20763         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
20764         uint32_t to size_t.
20765         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
20766         to match.
20767
20768         avoid unaligned access errors, e.g., on sparc
20769         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
20770         direct access through a possibly-unaligned uint64* pointer.
20771         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
20772         direct access through a possibly-unaligned uint32* pointer.
20773         Prompted by this patch from Tom "spot" Callaway:
20774         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
20775
20776         sha512.c: fix typo in comment
20777         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
20778
20779 2008-05-25  Bruno Haible  <bruno@clisp.org>
20780
20781         * lib/set-mode-acl.c: Renamed from lib/acl.c.
20782         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
20783         (Makefile.am): Update lib_SOURCES.
20784
20785 2008-05-25  Bruno Haible  <bruno@clisp.org>
20786
20787         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
20788
20789 2008-05-25  Jim Meyering  <meyering@redhat.com>
20790
20791         useless-if-before-free: freed expr may have white-space differences
20792         * build-aux/useless-if-before-free: Recognize cases in which the
20793         freed expression differs from the tested one in embedded white
20794         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
20795         $1 was used, so we can't make any regexp shy.  Improved tests now
20796         detect this.
20797
20798         useless-if-before-free: accept white space in the expression.
20799         * build-aux/useless-if-before-free: For now, any white space
20800         in the expression must be identical in the free argument.
20801
20802         useless-if-before-free: efficiency tweak
20803         * build-aux/useless-if-before-free: Make the expression-matching
20804         regexp "shy".
20805         Make the *outer* regexp shy, not the expr-matching one.
20806
20807         update code-in-comment to accept cast of free arg
20808         * build-aux/useless-if-before-free: Update regexp.
20809
20810 2008-05-25  Bruno Haible  <bruno@clisp.org>
20811
20812         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
20813         * modules/copy-file-tests (Files, Makefile.am): Update.
20814         * tests/test-copy-file.c (func_test_copy): Update.
20815
20816 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
20817
20818         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
20819
20820 2008-05-23  Bruno Haible  <bruno@clisp.org>
20821
20822         Improve support for ACLs on OSF/1.
20823         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
20824         Remove fallback for unknown flavors of ACLs.
20825
20826 2008-05-22  Bruno Haible  <bruno@clisp.org>
20827
20828         Add support for ACLs on OSF/1.
20829         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
20830         replacements.
20831         (acl_free_text): New macro fallback.
20832         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
20833         acl_free.
20834         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
20835         acl_free_text function. Require AC_C_INLINE.
20836
20837 2008-05-22  Bruno Haible  <bruno@clisp.org>
20838
20839         Make copy_acl work on MacOS X 10.5.
20840         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
20841         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
20842         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
20843         If MODE_INSIDE_ACL, don't assume that every system has the same text
20844         representation for ACLs as FreeBSD.
20845         * lib/copy-acl.c (copy_acl): Add support for platforms with
20846         !MODE_INSIDE_ACL.
20847         * lib/file-has-acl.c (file_has_acl): Likewise.
20848         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
20849         FreeBSD, MacOS X, or IRIX, respectively.
20850
20851 2008-05-22  Bruno Haible  <bruno@clisp.org>
20852
20853         * lib/acl.h: Don't include <sys/acl.h>.
20854         (GETACLCNT): Move fallback to lib/acl-internal.h.
20855         * lib/acl-internal.h: Include <sys/acl.h> here.
20856         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
20857
20858 2008-05-22  Bruno Haible  <bruno@clisp.org>
20859
20860         Split off copy_acl function to separate file.
20861         * lib/copy-acl.c: New file, extracted from lib/acl.c.
20862         * lib/acl.c (copy_acl): Moved function to separate file.
20863         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
20864         * modules/acl (Files): Add lib/copy-acl.c.
20865         (Makefiles.am): Augment lib_SOURCES.
20866
20867 2008-05-22  Bruno Haible  <bruno@clisp.org>
20868
20869         * modules/copy-file-tests: New file.
20870         * tests/test-copy-file.sh: New file.
20871         * tests/test-copy-file.c: New file.
20872         * tests/test-copy-file-sameacls.c: New file.
20873
20874 2008-05-22  Eric Blake  <ebb9@byu.net>
20875
20876         Avoid gcc warning.
20877         * tests/test-memcmp.c (main): Pass NULL indirectly.
20878
20879 2008-05-21  Bruno Haible  <bruno@clisp.org>
20880
20881         Add reference doc about ACLs.
20882         * doc/acl-resources.txt: New file.
20883         * doc/acl-cygwin.txt: New file.
20884
20885 2008-05-21  Bruno Haible  <bruno@clisp.org>
20886
20887         Avoid one more warning from gcc.
20888         * lib/vasnprintf.c (IF_LINT): Update comments.
20889         (VASNPRINTF): Use it also for the 'prefix' array initializer.
20890
20891 2008-05-21  Jim Meyering  <meyering@redhat.com>
20892
20893         avoid a warning from gcc
20894         * lib/vasnprintf.c (IF_LINT): Define.
20895         (scale10_round_decimal_long_double):
20896         Use it to avoid a "may be used uninitialized" warning.
20897         (scale10_round_decimal_double): Likewise.
20898
20899 2008-05-21  Simon Josefsson  <simon@josefsson.org>
20900
20901         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
20902         declared.
20903
20904 2008-05-20  Bruno Haible  <bruno@clisp.org>
20905
20906         * tests/test-memcmp.c (main): Test also the sign of the result. Test
20907         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
20908
20909 2008-05-20  Simon Josefsson  <simon@josefsson.org>
20910
20911         * modules/memcmp-tests: New file.
20912         * tests/test-memcmp.c: New file.
20913
20914 2008-05-19  Bruno Haible  <bruno@clisp.org>
20915
20916         * modules/propername (Notice, configure.ac): Put quoted "..." into
20917         --keyword option.
20918         * lib/propername.h: Update comments accordingly.
20919         Reported by Eric Blake.
20920
20921 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
20922
20923         * modules/getpass-gnu (Depends-on): Add fseeko.
20924
20925 2008-05-19  Simon Josefsson  <simon@josefsson.org>
20926
20927         * modules/base64-tests: New file.
20928
20929 2008-05-19  Bo Borgerson <gigabo@gmail.com>
20930
20931         * lib/base64.c (base64_decode_ctx): If a decode context structure
20932         was passed in use it to ignore newlines.  If a context structure
20933         was _not_ passed in, continue to treat newlines as garbage (this
20934         is the historical behavior).  Formerly base64_decode.
20935         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
20936         takes a decode context structure.
20937         * lib/base64.h (base64_decode): Macro for four-argument calls.
20938         (base64_decode_alloc): Likewise.
20939         * lib/base64.c (base64_decode_ctx): If a decode context structure
20940         was passed in use it to ignore newlines.  If a context structure
20941         was _not_ passed in, continue to treat newlines as garbage (this
20942         is the historical behavior).  Formerly base64_decode.
20943         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
20944         takes a decode context structure.
20945         * lib/base64.h (base64_decode): Macro for four-argument calls.
20946         (base64_decode_alloc): Likewise.
20947
20948 2008-05-19  Jim Meyering  <meyering@redhat.com>
20949
20950         avoid a warning from gcc
20951         * lib/trim.c (IF_LINT): Define.
20952         (trim2): Use it to avoid a "may be used uninitialized" warning.
20953
20954         Fix doc typo.
20955         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
20956
20957 2008-05-19  Bruno Haible  <bruno@clisp.org>
20958
20959         * doc/glibc-functions/getpass.texi: Document limits of other
20960         implementations.
20961
20962 2008-05-19  Simon Josefsson  <simon@josefsson.org>
20963             Bruno Haible <bruno@clisp.org>
20964
20965         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
20966
20967 2008-05-18  Bruno Haible  <bruno@clisp.org>
20968
20969         * modules/propername: New file, from GNU gettext.
20970         * lib/propername.h: New file, from GNU gettext.
20971         * lib/propername.c: New file, from GNU gettext.
20972         * MODULES.html.sh (Internationalization functions): Add propername.
20973
20974 2008-05-16  Jim Meyering  <meyering@redhat.com>
20975             Bruno Haible  <bruno@clisp.org>
20976
20977         Avoid some warnings from "gcc -Wshadow".
20978         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
20979
20980 2008-05-15  Eric Blake  <ebb9@byu.net>
20981
20982         Extend previous patch to cygwin 1.7.0.
20983         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
20984         fast implementation in cygwin >= 1.7.0.
20985         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
20986         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
20987
20988 2008-05-15  Bruno Haible  <bruno@clisp.org>
20989
20990         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
20991         implementation in glibc >= 2.9.
20992         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
20993         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
20994
20995 2008-05-15  Bruno Haible  <bruno@clisp.org>
20996
20997         * MODULES.html.sh (Internationalization functions): Remove linebreak.
20998         (Unicode string functions): Add unilbrk/*.
20999         Reported by Karl Berry.
21000
21001 2008-05-15  Eric Blake  <ebb9@byu.net>
21002
21003         Fix violation of <stdbool.h> replacement in regex.
21004         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
21005         * lib/regexec.c (re_search_internal): Likewise.
21006         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
21007
21008 2008-05-15  Jim Meyering  <meyering@redhat.com>
21009
21010         avoid distracting test output when git or cvs is not found
21011         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
21012         * tests/test-vc-list-files-git.sh: Likewise.
21013
21014 2008-05-15  Eric Blake  <ebb9@byu.net>
21015
21016         Glibc finally accepted the memmem speedup code, bugzilla #5514.
21017         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
21018         glibc version.
21019         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
21020         * doc/posix-functions/strstr.texi (strstr): Likewise.
21021         * lib/str-two-way.h (MAX): Sychronize with glibc.
21022
21023 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
21024
21025         * lib/regcomp.c (optimize_utf8): Add a note on why we test
21026         opr.ctx_type.
21027         (calc_first): Initialize constraint field.
21028         (duplicate_node_closure): Use it instead of special casing ANCHORS.
21029         Fix grammar.
21030         (duplicate_node): Merge constraint field for all node types.
21031         (calc_eclosure_iter): Look at constraint field for all node types.
21032         * lib/regex_internal.c (create_cd_newstate): Don't look at
21033         opr.ctx_type.
21034
21035 2008-05-14  Bruno Haible  <bruno@clisp.org>
21036
21037         Help GCC to do better code generation.
21038         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
21039         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
21040         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
21041         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
21042         Declare with attribute 'malloc' if supported.
21043
21044 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
21045
21046         use "echo STR|wc -c" rather than unportable "expr length STR"
21047         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
21048         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
21049
21050 2008-05-14  Jim Meyering  <meyering@redhat.com>
21051
21052         use dd ibs=$n count=1 ... rather than less-portable head -c$n
21053         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
21054         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
21055         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
21056         via Collin Lasse.
21057
21058 2008-05-14  Eric Blake  <ebb9@byu.net>
21059
21060         Avoid quadratic growth in gl_LIBSOURCES.
21061         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
21062         Suggested by Bruno Haible.
21063
21064         Test xmemdup0.
21065         * modules/xmemdup0-tests: New file.
21066         * tests/test-xmemdup0.c: Likewise.
21067
21068 2008-05-13  Eric Blake  <ebb9@byu.net>
21069
21070         Split xmemdup0 into its own module.
21071         * modules/xmemdup0: New file.
21072         * lib/xmemdup0.h: Likewise.
21073         * lib/xmemdup0.c: Likewise.
21074         * MODULES.html.sh (Memory management functions): Add xmemdup0.
21075         * lib/xalloc.h (xmemdup0): Remove.
21076         * lib/xmalloc.c (xmemdup0): Likewise.
21077
21078 2008-05-13  Eric Blake  <ebb9@byu.net>
21079             Bruno Haible  <bruno@clisp.org>
21080
21081         Reduce number of forks required during autoconf.
21082         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
21083         and gl_LIBSOURCES_DIR.
21084         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
21085         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
21086         m4_syscmd per file.
21087         <m4_foreach_w>: Move...
21088         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
21089
21090 2008-05-13  Eric Blake  <ebb9@byu.net>
21091
21092         * gnulib-tool: Fix various comment typos.
21093
21094 2008-05-12  Bruno Haible  <bruno@clisp.org>
21095
21096         Tailor the linebreaking algorithm.
21097         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
21098
21099 2008-05-12  Bruno Haible  <bruno@clisp.org>
21100
21101         Update to Unicode 5.0.0.
21102         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
21103         LBP_JV, LBP_JT. Redistribute values.
21104         (unilbrk_table): Change size.
21105         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
21106         Unicode TR#14 rev. 22.
21107         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
21108         LBP_JV, LBP_JT. Redistribute values.
21109         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
21110         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
21111         Update.
21112         * lib/unilbrk/lbrkprop1.h: Regenerated.
21113         * lib/unilbrk/lbrkprop2.h: Regenerated.
21114         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
21115         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
21116         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
21117         Likewise.
21118         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
21119         Likewise.
21120         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
21121         result.
21122         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
21123         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
21124         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
21125         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
21126         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
21127         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
21128
21129 2008-05-11  Bruno Haible  <bruno@clisp.org>
21130
21131         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
21132
21133 2008-05-11  Bruno Haible  <bruno@clisp.org>
21134
21135         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
21136         * modules/unilbrk/gen-lbrk: New file.
21137
21138 2008-05-11  Bruno Haible  <bruno@clisp.org>
21139
21140         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
21141         * m4/sha512.m4 (gl_SHA512): Likewise.
21142
21143 2008-05-11  Jim Meyering  <meyering@redhat.com>
21144
21145         New modules: crypto/sha256, crypto/sha512 (from coreutils)
21146         * modules/crypto/sha256: New file.
21147         * modules/crypto/sha512: Likewise.
21148         * lib/sha256.c: Likewise.
21149         * lib/sha256.h: Likewise.
21150         * lib/sha512.c: Likewise.
21151         * lib/sha512.h: Likewise.
21152         * lib/u64.h: Likewise.
21153         * m4/sha256.m4: Likewise.
21154         * m4/sha512.m4: Likewise.
21155         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
21156
21157 2008-05-10  Bruno Haible  <bruno@clisp.org>
21158
21159         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
21160         (Input/Output <stdio.h>): Add xprintf.
21161         (Signal handling <signal.h>): Add strsignal.
21162         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
21163         (Core language properties): Add func.
21164         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
21165         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
21166         strings.
21167         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
21168         (Input/output): New section.
21169         (File system functions): Add openat-die, stat-macros.
21170         (Networking functions): Add sockets.
21171         (Unicode string functions): Add unictype/*.
21172         (Support for building libraries and executables): Add gperf.
21173         (Support for building documentation): Add agpl-3.0.
21174         (Misc): Add nocrash.
21175
21176 2008-05-10  Bruno Haible  <bruno@clisp.org>
21177
21178         * modules/unictype/gen-ctype: New file.
21179
21180 2008-05-10  Jim Meyering  <meyering@redhat.com>
21181
21182         Make chdir-safer.c more efficient on a system with no symlinks.
21183         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
21184         also if ELOOP is zero.  Suggested by Bruno Haible.
21185
21186         Make chdir-safer.c slightly safer.
21187         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
21188         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
21189
21190         Avoid compile failure on systems without ELOOP (like mingw).
21191         * lib/chdir-safer.c (ELOOP): Define if not already defined.
21192         Reported by Bruno Haible.
21193
21194 2008-05-10  Bruno Haible  <bruno@clisp.org>
21195
21196         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
21197         (is_utf8_encoding): Use a case-insensitive comparison.
21198         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
21199         streq.
21200
21201 2008-05-10  Bruno Haible  <bruno@clisp.org>
21202
21203         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
21204         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
21205         * lib/unilbrk/ulc-common.h (iconv_string_length,
21206         iconv_string_keeping_offsets): Remove declarations.
21207         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
21208         Don't include <iconv.h>, streq.h, xsize.h.
21209         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
21210         conversion.
21211         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
21212         <iconv.h>, streq.h, xsize.h.
21213         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
21214         conversion.
21215         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
21216         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
21217         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
21218         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
21219
21220 2008-05-10  Bruno Haible  <bruno@clisp.org>
21221
21222         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
21223         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
21224
21225         * modules/unilbrk/u32-width-linebreaks-tests: New file.
21226         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
21227
21228         * modules/unilbrk/u16-width-linebreaks-tests: New file.
21229         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
21230
21231         * modules/unilbrk/u8-width-linebreaks-tests: New file.
21232         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
21233
21234         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
21235         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
21236
21237         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
21238         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
21239
21240         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
21241         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
21242
21243         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
21244         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
21245
21246 2008-05-10  Bruno Haible  <bruno@clisp.org>
21247
21248         Split up 'linebreak' module.
21249         * lib/unilbrk.h: New file, based on lib/linebreak.h.
21250         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
21251         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
21252         modifications.
21253         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
21254         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
21255         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
21256         lib/linebreak.c.
21257         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
21258         lib/linebreak.c.
21259         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
21260         lib/linebreak.c.
21261         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
21262         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
21263         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
21264         lib/linebreak.c.
21265         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
21266         lib/linebreak.c.
21267         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
21268         lib/linebreak.c.
21269         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
21270         lib/linebreak.c.
21271         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
21272         lib/linebreak.c.
21273         * modules/unilbrk/base: New file.
21274         * modules/unilbrk/tables: New file.
21275         * modules/unilbrk/u8-possible-linebreaks: New file.
21276         * modules/unilbrk/u16-possible-linebreaks: New file.
21277         * modules/unilbrk/u32-possible-linebreaks: New file.
21278         * modules/unilbrk/ulc-common: New file.
21279         * modules/unilbrk/ulc-possible-linebreaks: New file.
21280         * modules/unilbrk/u8-width-linebreaks: New file.
21281         * modules/unilbrk/u16-width-linebreaks: New file.
21282         * modules/unilbrk/u32-width-linebreaks: New file.
21283         * modules/unilbrk/ulc-width-linebreaks: New file.
21284         * lib/linebreak.h: Remove file.
21285         * lib/linebreak.c: Remove file.
21286         * m4/linebreak.m4: Remove file.
21287         * modules/linebreak: Remove file.
21288         * NEWS: Mention the changes.
21289
21290 2008-05-09  Eric Blake  <ebb9@byu.net>
21291
21292         Add xmemdup0.
21293         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
21294         implementation.
21295         * lib/xmalloc.c (xmemdup0): New C implementation.
21296
21297 2008-05-08  Bruno Haible  <bruno@clisp.org>
21298
21299         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
21300
21301 2008-05-07  Eric Blake  <ebb9@byu.net>
21302
21303         Support cross-compilation of <wctype.h>.
21304         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
21305         AC_CACHE_CHECK.
21306
21307 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
21308
21309         * build-aux/vc-list-files: Add support for bzr.
21310
21311 2008-05-03  Jim Meyering  <meyering@redhat.com>
21312
21313         avoid failed assertion with tight malloc
21314         * tests/test-getndelim2.c: Correct an off-by-one assertion.
21315
21316 2008-05-03  Simon Josefsson  <simon@josefsson.org>
21317
21318         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
21319         are needed from arpa/inet.h.
21320         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
21321         Reported by Bruno Haible.
21322
21323 2008-05-02  Jim Meyering  <meyering@redhat.com>
21324
21325         avoid compilation error on FreeBSD 6
21326         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
21327
21328 2008-05-01  Jim Meyering  <meyering@redhat.com>
21329
21330         useless-if-before-free: correct --help's exit status description
21331         * build-aux/useless-if-before-free (usage): Like grep, exit 0
21332         for one or more matches, etc.  Reported by Bruno Haible.
21333
21334         vc-list-files: make the stand-alone gnulib test work
21335         * modules/vc-list-files-tests (configure.ac):
21336         Define and AC_SUBST abs_aux_dir.
21337         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
21338         $(abs_top_srcdir) to each script and having each of them
21339         duplicate the work of setting PATH, set PATH here, using
21340         the new variable, abs_aux_dir instead.
21341         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
21342         * tests/test-vc-list-files-git.sh: Likewise.
21343         Reported by Bruno Haible.
21344
21345 2008-05-01  Bruno Haible  <bruno@clisp.org>
21346
21347         * lib/getndelim2.c (getndelim2): Fix newsize computation during
21348         reallocation. Rename 'done' to 'found_delimiter'.
21349
21350 2008-05-01  Jim Meyering  <meyering@redhat.com>
21351
21352         vc-list-files: accommodate /bin/sh like the one from Solaris 10
21353         * build-aux/vc-list-files: Use `...`, not $(...).
21354
21355 2008-04-30  Jim Meyering  <meyering@redhat.com>
21356
21357         add tests for vc-list-files
21358         * modules/vc-list-files-tests: New module.
21359         * tests/test-vc-list-files-cvs.sh: New file.
21360         * tests/test-vc-list-files-git.sh: New file.
21361
21362         avoid a warning from gcc
21363         * lib/getndelim2.c (IF_LINT): Define.
21364         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
21365
21366         vc-list-files: work properly with build-aux/cvsu, too
21367         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
21368         to all cvs-based clauses.
21369
21370         vc-list-files: work properly in the CVS+awk case, too
21371         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
21372
21373         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
21374         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
21375         take more than one file argument, so .  Add quotes, just in case $dir
21376         ever contains a shell meta-character.  Prompted by Soren Hansen in
21377         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
21378
21379 2008-04-29  Eric Blake  <ebb9@byu.net>
21380
21381         Optimize getndelim2 to use block operations when possible.
21382         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
21383         freadseek, and memchr2.
21384         * lib/getndelim2.c (getndelim2): Use them for block reads.
21385
21386 2008-04-29  Bruno Haible  <bruno@clisp.org>
21387
21388         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
21389         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
21390         * modules/inet_ntop (Depends-on): Add extensions.
21391         * modules/inet_pton (Depends-on): Likewise.
21392         Reported by Simon Josefsson.
21393
21394 2008-04-29  Jim Meyering  <meyering@redhat.com>
21395
21396         When the is more than one match in a block, match all of them.
21397         * build-aux/useless-if-before-free: Iterate through each block
21398         until there are no more matches.
21399
21400         Fix broken useless-if-before-free script.
21401         * build-aux/useless-if-before-free: Fix typo: missing "?" after
21402         the expression to match cast of argument to free-like function.
21403
21404 2008-04-29  Eric Blake  <ebb9@byu.net>
21405
21406         Use new header.
21407         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
21408
21409 2008-04-29  Jim Meyering  <meyering@redhat.com>
21410
21411         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
21412         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
21413         by gnulib to exist and to declare e.g., inet_ntop.
21414         Don't include "inet_ntop.h", now removed.
21415
21416         * m4/arpa_inet_h.m4: Remove trailing blanks.
21417
21418 2008-04-29  Eric Blake  <ebb9@byu.net>
21419
21420         Silence valgrind on safe reads beyond potential array bounds.
21421         * lib/rawmemchr.valgrind: New file.
21422         * lib/strchrnul.valgrind: Likewise.
21423         * modules/rawmemchr (Files): Distribute new file.
21424         * modules/strchrnul (Files): Likewise.
21425         Suggested by Bruno Haible.
21426
21427 2008-04-29  Bruno Haible  <bruno@clisp.org>
21428
21429         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
21430         (inet_ntop, inet_pton): Change portability warning's wording.
21431         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
21432         Invoke gl_CHECK_NEXT_HEADERS.
21433         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
21434         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
21435         set ARPA_INET_H.
21436         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
21437         * modules/arpa_inet (Description): No longer only for systems that
21438         lack it.
21439         (Depends-on): Add include_next.
21440         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
21441         HAVE_ARPA_INET_H.
21442
21443 2008-04-29  Jim Meyering  <meyering@redhat.com>
21444
21445         * modules/mkdir (License): Re-license as LGPLv2+.
21446
21447 2008-04-29  Bruno Haible  <bruno@clisp.org>
21448
21449         * modules/rawmemchr (Maintainer): Set to Eric.
21450         * modules/strchrnul (Maintainer): Likewise.
21451
21452 2008-04-29  Simon Josefsson  <simon@josefsson.org>
21453
21454         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
21455         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
21456
21457         * modules/arpa_inet (arpa/inet.h): Use them.
21458
21459 2008-04-28  Eric Blake  <ebb9@byu.net>
21460
21461         Test getndelim2.
21462         * modules/getndelim2-tests: New file.
21463         * tests/test-getndelim2.c: Likewise.
21464         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
21465         stream.
21466         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
21467
21468         * MODULES.html.sh: Document new module.
21469
21470 2008-04-20  Bruno Haible  <bruno@clisp.org>
21471
21472         * lib/c-stack.c (die): Use raise.
21473         * modules/c-stack (Depends-on): Add raise.
21474
21475 2008-04-28  Bruno Haible  <bruno@clisp.org>
21476
21477         Expect rpmatch to be declared.
21478         * lib/yesno.c (rpmatch): Remove declaration.
21479
21480         Declare rpmatch.
21481         * lib/stdlib.in.h (rpmatch): New declaration.
21482         * lib/rpmatch.c: Include <stdlib.h> first.
21483         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
21484         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
21485         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
21486         HAVE_RPMATCH.
21487         * modules/rpmatch (Depends-on): Add stdlib, extensions.
21488         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
21489         (Include): Set to <stdlib.h>.
21490         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
21491         HAVE_RPMATCH.
21492         * NEWS: Document the change.
21493
21494 2008-04-28  Bruno Haible  <bruno@clisp.org>
21495
21496         Change rpmatch to use nl_langinfo when appropriate.
21497         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
21498         (N_): New macro.
21499         (localized_pattern): New function/macro.
21500         (try): Remove match, nomatch arguments. Copy the pattern into safe
21501         memory before caching it.
21502         (rpmatch): Use localized_pattern. Add translator comments.
21503         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
21504         Suggested by Eric Blake.
21505         * modules/rpmatch (Depends-on): Add stdbool.
21506
21507 2008-04-28  Eric Blake  <ebb9@byu.net>
21508
21509         Add rawmemchr module, matching glibc.
21510         * modules/string (Makefile.am): New indicator.
21511         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
21512         * lib/string.in.h (rawmemchr): Declare when appropriate.
21513         * modules/rawmemchr: New file.
21514         * m4/rawmemchr.m4: Likewise.
21515         * lib/rawmemchr.c: Likewise.
21516         * modules/rawmemchr-tests: Likewise.
21517         * tests/test-rawmemchr.c: Likewise.
21518         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
21519         module.
21520         * modules/strchrnul (Depends-on): Add rawmemchr.
21521         * lib/strchrnul.c (strchrnul): Optimize a corner case.
21522
21523         Whitespace cleanup.
21524         * tests/test-strchrnul.c: Reindent.
21525         * lib/strchrnul.c: Likewise.
21526
21527         Optimize and test strchrnul.
21528         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
21529         * modules/strchrnul-tests: New file.
21530         * tests/test-strchrnul.c: Likewise.
21531
21532         Remove intprops dependency.
21533         * modules/memchr (Depends-on): Remove intprops.
21534         * modules/memrchr (Depends-on): Likewise.
21535         * modules/memchr2 (Depends-on): Likewise.
21536         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
21537         * lib/memrchr.c (__memrchr): Likewise.
21538         * lib/memrchr2.c (memchr2): Likewise.
21539         Reported by Simon Josefsson.
21540
21541 2008-04-28  Simon Josefsson  <simon@josefsson.org>
21542
21543         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
21544         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
21545
21546 2008-04-28  Simon Josefsson  <simon@josefsson.org>
21547
21548         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
21549
21550         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
21551
21552         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
21553
21554         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
21555         declarations.
21556         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
21557
21558         * m4/inet_pton.m4: Don't check for header files.
21559
21560         * m4/inet_ntop.m4: Don't check for header files.
21561
21562 2008-04-28  Simon Josefsson  <simon@josefsson.org>
21563
21564         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
21565         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
21566         trigger for cygwin).
21567         Reported by Bruno Haible  <bruno@clisp.org>.
21568
21569 2008-04-28  Bruno Haible  <bruno@clisp.org>
21570
21571         * doc/posix-functions/strdup.texi: Mention mingw problem.
21572
21573 2008-04-27  Bruno Haible  <bruno@clisp.org>
21574
21575         * modules/stat-time-tests (Depends-on): Add sleep.
21576         * tests/test-stat-time.c (force_unlink): New function.
21577         (cleanup): Use it.
21578         (test_mtime): Remove the ctime related tests.
21579         (test_ctime): New function, containing the ctime related tests.
21580         (main): Call test_ctime, except on native Windows platforms.
21581
21582 2008-04-27  Bruno Haible  <bruno@clisp.org>
21583
21584         * lib/rpmatch.c (rpmatch): Add some comments.
21585         Reported by James Youngman <jay@gnu.org>.
21586
21587 2008-04-27  Bruno Haible  <bruno@clisp.org>
21588
21589         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
21590         quiet NaNs.
21591
21592 2008-04-27  Bruno Haible  <bruno@clisp.org>
21593
21594         Make test-yesno.sh work on mingw.
21595         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
21596         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
21597         (main): Set stdin to binary mode.
21598         * modules/yesno-tests (Depends-on): Add binary-io.
21599
21600 2008-04-27  Bruno Haible  <bruno@clisp.org>
21601
21602         Fix 'isfinite' on x86, x86_64, ia64 platforms.
21603         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
21604         argument that lie outside the IEEE 854 domain.
21605         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
21606         (gl_ISFINITE): Use it.
21607         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
21608
21609 2008-04-27  Bruno Haible  <bruno@clisp.org>
21610
21611         Allow local renaming in config.h.
21612         * lib/memrchr.c (memrchr): Don't undefine outside libc.
21613
21614 2008-04-27  Bruno Haible  <bruno@clisp.org>
21615
21616         * lib/memchr.c (__memchr): Change type of 'i'.
21617         * lib/memchr2.c (memchr2): Likewise.
21618
21619 2008-04-26  Eric Blake  <ebb9@byu.net>
21620         and Bruno Haible  <bruno@clisp.org>
21621
21622         Optimize and test memrchr.
21623         * modules/memrchr (Depends-on): Add intprops.
21624         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
21625         * modules/memrchr-tests: New file.
21626         * tests/test-memrchr.c: New file.
21627
21628 2008-04-26  Bruno Haible  <bruno@clisp.org>
21629
21630         Add tentative support for DragonFly BSD.
21631         * lib/stdio-impl.h: Add macros for DragonFly BSD.
21632         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
21633         fp.
21634         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
21635         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
21636         * lib/fpurge.c (fpurge): Likewise.
21637         * lib/freadable.c (freaadable): Likewise.
21638         * lib/freadahead.c (freadahead): Likewise.
21639         * lib/freading.c (freading): Likewise.
21640         * lib/freadptr.c (freadptr): Likewise.
21641         * lib/freadseek.c (freadptrinc): Likewise.
21642         * lib/fseeko.c (fseeko): Likewise.
21643         * lib/fseterr.c (fseterr): Likewise.
21644         * lib/fwritable.c (fwritable): Likewise.
21645         * lib/fwriting.c (fwriting): Likewise.
21646
21647 2008-04-26  Bruno Haible  <bruno@clisp.org>
21648
21649         * lib/stdio-impl.h: New file.
21650         * lib/fbufmode.c: Include stdio-impl.h.
21651         (fbufmode): Use fp_, remove redundant #defines.
21652         * lib/fflush.c: Include stdio-impl.h.
21653         (clear_ungetc_buffer): Remove redundant #defines.
21654         * lib/fpurge.c: Include stdio-impl.h.
21655         (fpurge): Remove redundant #defines.
21656         * lib/freadable.c: Include stdio-impl.h.
21657         (freadable): Remove redundant #defines.
21658         * lib/freadahead.c: Include stdio-impl.h.
21659         (freadahead): Remove redundant #defines.
21660         * lib/freading.c: Include stdio-impl.h.
21661         (freading): Remove redundant #defines.
21662         * lib/freadptr.c: Include stdio-impl.h.
21663         (freadptr): Remove redundant #defines.
21664         * lib/freadseek.c: Include stdio-impl.h.
21665         (freadptrinc): Remove redundant #defines.
21666         * lib/fseeko.c: Include stdio-impl.h.
21667         (rpl_fseeko): Remove redundant #defines.
21668         * lib/fseterr.c: Include stdio-impl.h.
21669         (fseterr): Remove redundant #defines.
21670         * lib/fwritable.c: Include stdio-impl.h.
21671         (fwritable: Remove redundant #defines.
21672         * lib/fwriting.c: Include stdio-impl.h.
21673         (fwriting): Remove redundant #defines.
21674         * modules/fbufmode (Files): Add lib/stdio-impl.h.
21675         * modules/fflush (Files): Likewise.
21676         * modules/fpurge (Files): Likewise.
21677         * modules/freadable (Files): Likewise.
21678         * modules/freadahead (Files): Likewise.
21679         * modules/freading (Files): Likewise.
21680         * modules/freadptr (Files): Likewise.
21681         * modules/freadseek (Files): Likewise.
21682         * modules/fseeko (Files): Likewise.
21683         * modules/fseterr (Files): Likewise.
21684         * modules/fwritable (Files): Likewise.
21685         * modules/fwriting (Files): Likewise.
21686
21687 2008-04-26  Bruno Haible  <bruno@clisp.org>
21688
21689         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
21690         restore_seek_optimization, update_fpos_cache): New functions, extracted
21691         from rpl_fflush.
21692         (rpl_fflush): Use them.
21693         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
21694         (gl_REPLACE_FFLUSH): Use it.
21695
21696 2008-04-26  Bruno Haible  <bruno@clisp.org>
21697
21698         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
21699         on Solaris.
21700         * tests/test-xstrtoimax.sh: Likewise.
21701         * tests/test-xstrtoumax.sh: Likewise.
21702         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
21703
21704 2008-04-26  Bruno Haible  <bruno@clisp.org>
21705
21706         * modules/memchr-tests: New file.
21707         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
21708
21709 2008-04-26  Eric Blake  <ebb9@byu.net>
21710             Bruno Haible  <bruno@clisp.org>
21711
21712         * lib/memchr.c: Include intprops.h.
21713         (__memchr): Optimize parallel detection of matching bytes. Rename local
21714         variables. Add explanatory comments.
21715
21716 2008-04-26  Bruno Haible  <bruno@clisp.org>
21717
21718         Fix module 'memchr', broken since 2000-10-28.
21719         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
21720
21721 2008-04-26  Bruno Haible  <bruno@clisp.org>
21722
21723         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
21724         comments.
21725
21726 2008-04-25  Eric Blake  <ebb9@byu.net>
21727
21728         Use native fstatat on cygwin 1.7.0.
21729         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
21730         first.
21731
21732 2008-04-23  Eric Blake  <ebb9@byu.net>
21733
21734         Improve memchr2 performance.
21735         * lib/memchr2.c (memchr2): Further optimize parallel detection of
21736         NUL bytes.
21737         * modules/memchr2 (Depends-on): Use intprops.h.
21738
21739 2008-04-23  Simon Josefsson  <simon@josefsson.org>
21740
21741         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
21742         an inline function instead of a CPP macro.  Patch by Ben Pfaff
21743         <blp@cs.stanford.edu>.
21744
21745 2008-04-23  Simon Josefsson  <simon@josefsson.org>
21746
21747         * lib/arpa_inet.in.h: New file.
21748
21749         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
21750         (Makefile.am): Sed in substitute header file.
21751
21752         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
21753         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
21754
21755         * modules/inet_ntop (configure.ac): Use
21756         gl_ARPA_INET_MODULE_INDICATOR.
21757
21758         * modules/inet_pton (configure.ac): Use
21759         gl_ARPA_INET_MODULE_INDICATOR.
21760
21761 2008-04-22  Jim Meyering  <meyering@redhat.com>
21762
21763         * modules/verify (License): Re-license as LGPLv2+.
21764
21765 2008-04-22  Simon Josefsson  <simon@josefsson.org>
21766
21767         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
21768         parameter to void* as per POSIX standard (MinGW uses char*).
21769
21770 2008-04-21  Bruno Haible  <bruno@clisp.org>
21771
21772         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
21773         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
21774         Define to replacements if REPLACE_ISWCNTRL is 1.
21775         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
21776         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
21777         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
21778         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
21779         what it fixes.
21780         * doc/posix-functions/iswalpha.texi: Likewise.
21781         * doc/posix-functions/iswblank.texi: Likewise.
21782         * doc/posix-functions/iswcntrl.texi: Likewise.
21783         * doc/posix-functions/iswdigit.texi: Likewise.
21784         * doc/posix-functions/iswgraph.texi: Likewise.
21785         * doc/posix-functions/iswlower.texi: Likewise.
21786         * doc/posix-functions/iswprint.texi: Likewise.
21787         * doc/posix-functions/iswpunct.texi: Likewise.
21788         * doc/posix-functions/iswspace.texi: Likewise.
21789         * doc/posix-functions/iswupper.texi: Likewise.
21790         * doc/posix-functions/iswxdigit.texi: Likewise.
21791         Reported by Alain Guibert.
21792
21793 2008-04-21  Bruno Haible  <bruno@clisp.org>
21794
21795         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
21796         Patch by Alain Guibert.
21797
21798 2008-04-21  Bruno Haible  <bruno@clisp.org>
21799
21800         Fix test failures on mingw.
21801         * tests/test-xstrtol.c (print_no_progname): New function.
21802         (main): Install it in error_print_progname hook.
21803         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
21804         * tests/test-xstrtoimax.sh: Likewise.
21805         * tests/test-xstrtoumax.sh: Likewise.
21806
21807 2008-04-21  Bruno Haible  <bruno@clisp.org>
21808
21809         Fix test failure on mingw.
21810         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
21811
21812 2008-04-21  Bruno Haible  <bruno@clisp.org>
21813
21814         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
21815         Actually assign a value.
21816
21817 2008-04-20  Bruno Haible  <bruno@clisp.org>
21818
21819         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
21820         take 2.
21821         * lib/canonicalize.c (canonicalize_file_name): Elide if the
21822         'canonicalize-lgpl' module is also used.
21823         * lib/canonicalize-lgpl.c: Undo last change.
21824         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
21825
21826 2008-04-20  Bruno Haible  <bruno@clisp.org>
21827
21828         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
21829         config.h. Provide _mkdir based fallback for mingw.
21830         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
21831         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
21832         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
21833         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
21834         rather than defining mkdir in config.h.
21835         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
21836         (gl_SYS_STAT_H_DEFAULTS): New macro.
21837         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
21838         HAVE_IO_H any more.
21839         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
21840         HAVE_DECL_MKDIR and HAVE_IO_H.
21841
21842 2008-04-20  Bruno Haible  <bruno@clisp.org>
21843
21844         * lib/isapipe.c: Port to native Windows platforms.
21845
21846 2008-04-20  Bruno Haible  <bruno@clisp.org>
21847
21848         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
21849
21850 2008-04-21  Eric Blake  <ebb9@byu.net>
21851
21852         Work around preprocessors that don't handle UINTMAX_MAX.
21853         * lib/memchr2.c (memchr2): Avoid embedded #if.
21854         Reported by Alain Guibert, fix suggested by Bruno Haible.
21855
21856 2008-04-21  Simon Josefsson  <simon@josefsson.org>
21857
21858         * doc/posix-functions/strftime.texi (strftime): Explain better
21859         Windows incompatibility.  Suggested by Micah Cowan
21860         <micah@cowan.name>.
21861
21862 2008-04-20  Bruno Haible  <bruno@clisp.org>
21863
21864         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
21865         unistr/u8-mblen.
21866
21867 2008-04-20  Bruno Haible  <bruno@clisp.org>
21868
21869         Fix test failure on platforms with non-GNU iconv.
21870         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
21871         (U_TO_U8): Use it, rather than u16_to_u8.
21872         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
21873         units at the end of the input string.
21874         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
21875
21876 2008-04-20  Bruno Haible  <bruno@clisp.org>
21877
21878         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
21879         when the resulting length is 0.
21880         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
21881
21882 2008-04-20  Bruno Haible  <bruno@clisp.org>
21883
21884         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
21885         works.
21886         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
21887
21888 2008-04-20  Bruno Haible  <bruno@clisp.org>
21889
21890         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
21891         * modules/tsearch-tests (configure.ac): Test for initstate function.
21892
21893 2008-04-20  Bruno Haible  <bruno@clisp.org>
21894
21895         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
21896         for nlink_t if missing.
21897         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
21898
21899 2008-04-19  Bruno Haible  <bruno@clisp.org>
21900
21901         Work around snprintf bug on Linux libc5.
21902         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
21903         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
21904         gl_SNPRINTF_SIZE1.
21905         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
21906         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
21907         that test failed.
21908         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
21909         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
21910         * modules/snprintf (Files): Add m4/printf.m4.
21911         * modules/vsnprintf (Files): Likewise.
21912         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
21913         * doc/posix-functions/vsnprintf.texi: Likewise.
21914
21915 2008-04-19  Bruno Haible  <bruno@clisp.org>
21916
21917         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
21918         from 0.0058 to less than 10^-7.
21919
21920 2008-04-19  Bruno Haible  <bruno@clisp.org>
21921
21922         Fix rounding when a precision is given.
21923         * lib/vasnprintf.c (is_borderline): New function.
21924         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
21925         9...9x.
21926         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
21927         %e, %g.
21928         * tests/test-vasprintf-posix.c (test_function): Likewise.
21929         * tests/test-snprintf-posix.h (test_function): Likewise.
21930         * tests/test-sprintf-posix.h (test_function): Likewise.
21931         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
21932         * tests/test-printf-posix.h (test_function): Likewise.
21933         * tests/test-printf-posix.output: Update.
21934         Reported by John Darrington <john@darrington.wattle.id.au> via
21935         Ben Pfaff <blp@cs.stanford.edu>.
21936
21937 2008-04-18  Simon Josefsson  <simon@josefsson.org>
21938
21939         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
21940         Suggested by Bruno Haible <bruno@clisp.org>.
21941
21942 2008-04-17  Bruno Haible  <bruno@clisp.org>
21943
21944         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
21945         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
21946         implementation.
21947         Patch by Bruce Merry <bmerry@gmail.com>.
21948
21949 2008-04-17  Simon Josefsson  <simon@josefsson.org>
21950
21951         * doc/posix-functions/strftime.texi (strftime): Mention that %e
21952         doesn't work under Windows.
21953
21954 2008-04-16  Bruno Haible  <bruno@clisp.org>
21955
21956         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
21957         New macros.
21958         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
21959         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
21960         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
21961         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
21962         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
21963         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
21964         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
21965         macros.
21966         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
21967         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
21968         Northern Sotho, Uighur.
21969
21970 2008-04-16  Bruno Haible  <bruno@clisp.org>
21971
21972         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
21973         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
21974         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
21975         Reported by Daniel Bergström <daniel@octocode.com>.
21976
21977 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
21978             Bruno Haible  <bruno@clisp.org>
21979
21980         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
21981         function.
21982         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
21983         New functions, mostly extracted from gl_locale_name_default.
21984         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
21985
21986 2008-04-16  Eric Blake  <ebb9@byu.net>
21987
21988         Adjust strtod detection to catch glibc 2.7 bug.
21989         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
21990         Reported by John Gatewood Ham.
21991
21992 2008-04-16  Bruno Haible  <bruno@clisp.org>
21993
21994         Add tentative support for Linux libc5.
21995         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
21996         * lib/fpurge.c (fpurge): Likewise.
21997         * lib/freadable.c (freadable): Likewise.
21998         * lib/freadahead.c (freadahead): Likewise.
21999         * lib/freading.c (freading): Likewise.
22000         * lib/freadptr.c (freadptr): Likewise.
22001         * lib/freadseek.c (freadptrinc): Likewise.
22002         * lib/fseeko.c (rpl_fseeko): Likewise.
22003         * lib/fseterr.c (fseterr): Likewise.
22004         * lib/fwritable.c (fwritable): Likewise.
22005         * lib/fwriting.c (fwriting): Likewise.
22006         Reported by Alain Guibert <alguibert+bts@free.fr>.
22007
22008 2008-04-15  Bruno Haible  <bruno@clisp.org>
22009
22010         * modules/mathl (configure.ac): Define module indicator.
22011
22012 2008-04-15  Bruno Haible  <bruno@clisp.org>
22013
22014         * lib/logl.c (logl): Remove unused variables.
22015
22016 2008-04-15  Bruno Haible  <bruno@clisp.org>
22017
22018         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
22019         fails.
22020
22021 2008-04-15  Bruno Haible  <bruno@clisp.org>
22022
22023         * lib/trim.c (trim2): Fix argument of isspace() macro.
22024
22025 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
22026
22027         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
22028         to 0.
22029         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
22030
22031 2008-04-14  Bruno Haible  <bruno@clisp.org>
22032
22033         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
22034         AC_LANG_PROGRAM argument.
22035         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
22036         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
22037         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
22038         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
22039         * m4/math_h.m4 (gl_MATH_H): Likewise.
22040         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
22041         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
22042         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
22043         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
22044         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
22045         * m4/regex.m4 (gl_REGEX): Likewise.
22046         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
22047         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
22048         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
22049         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
22050         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
22051         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
22052         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
22053         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
22054
22055 2008-04-14  Jim Meyering  <meyering@redhat.com>
22056
22057         test-strtod: fix typos: s/abs/fabs/
22058         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
22059
22060 2008-04-13  Bruno Haible  <bruno@clisp.org>
22061
22062         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
22063         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
22064         module is also used and while not building the reloc-wrapper.
22065
22066 2008-04-13  Bruno Haible  <bruno@clisp.org>
22067
22068         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
22069
22070 2008-04-13  Bruno Haible  <bruno@clisp.org>
22071
22072         Fix AIX compilation failure introduced on 2008-04-02.
22073         * tests/test-frexp.c (exp): Undefine before redefining.
22074         * tests/test-frexpl.c (exp): Likewise.
22075
22076 2008-04-13  Bruno Haible  <bruno@clisp.org>
22077
22078         Work around a HP-UX stdio bug.
22079         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
22080         * tests/test-ftello.c (main): Likewise.
22081         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
22082         * doc/posix-functions/ftello.texi: Likewise.
22083
22084 2008-04-13  Bruno Haible  <bruno@clisp.org>
22085
22086         Make test-signbit pass on HP-UX/hppa.
22087         * tests/test-signbit.c (minus_zerol): New variable.
22088         (test_signbitl): Use it.
22089
22090 2008-04-13  Bruno Haible  <bruno@clisp.org>
22091
22092         Make truncl work on OSF/1 4.0.
22093         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
22094         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
22095         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
22096         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
22097         HAVE_DECL_TRUNCL.
22098         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
22099         HAVE_DECL_TRUNCL.
22100         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
22101
22102 2008-04-13  Bruno Haible  <bruno@clisp.org>
22103
22104         * lib/unictype.h: Remove trailing comma from enumeration definitions.
22105
22106 2008-04-13  Bruno Haible  <bruno@clisp.org>
22107
22108         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
22109         expression, so as to avoid HP-UX 11 cc compiler bug.
22110
22111 2008-04-13  Bruno Haible  <bruno@clisp.org>
22112
22113         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
22114
22115 2008-04-13  Bruno Haible  <bruno@clisp.org>
22116
22117         * lib/git-merge-changelog.c: Remove empty declaration outside of
22118         functions.
22119
22120 2008-04-13  Bruno Haible  <bruno@clisp.org>
22121
22122         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
22123
22124 2008-04-13  Bruno Haible  <bruno@clisp.org>
22125
22126         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
22127         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
22128         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
22129         also if it exists but lacks definitions of the SHUT_* macros.
22130         * modules/sys_socket (Description): Update.
22131         Reported by Elbert Pol <e.pol@chello.nl>.
22132
22133 2008-04-13  Bruno Haible  <bruno@clisp.org>
22134
22135         * lib/localcharset.c (OS2): Don't redefine if already defined.
22136         Reported by Elbert Pol <e.pol@chello.nl>.
22137
22138 2008-04-13  Bruno Haible  <bruno@clisp.org>
22139
22140         * lib/binary-io.h [__EMX__]: Include <io.h>.
22141         Reported by Elbert Pol <e.pol@chello.nl>.
22142
22143 2008-04-12  Bruno Haible  <bruno@clisp.org>
22144
22145         * lib/fpucw.h: Enable the definitions also for x86_64.
22146         Needed for NetBSD/x86_64.
22147         Reported by Thomas Klausner <tk@giga.or.at>.
22148
22149 2008-04-12  Bruno Haible  <bruno@clisp.org>
22150
22151         * tests/test-strtod.c: Include isnand.h.
22152         (main): Use isnand instead of isnan.
22153         Reported by Jim Meyering.
22154
22155 2008-04-12  Bruno Haible  <bruno@clisp.org>
22156
22157         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
22158         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
22159
22160 2008-04-12  Jim Meyering  <meyering@redhat.com>
22161
22162         * m4/math_h.m4 (gl_MATH_H): Fix typos.
22163
22164 2008-04-12  Bruno Haible  <bruno@clisp.org>
22165
22166         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
22167         Reported by Elbert Pol <e.pol@chello.nl>.
22168
22169 2008-04-12  Eric Blake  <ebb9@byu.net>
22170
22171         Work around Solaris 10 math.h bug.
22172         * m4/math_h.m4 (gl_MATH_H): Check for bug.
22173         (gl_MATH_H_DEFAULTS): Set up default.
22174         * modules/math (Makefile.am): Replace new indicators.
22175         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
22176         * tests/test-math.c (main): Test this.
22177         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
22178         * doc/posix-headers/math.texi (math.h): Mention bug.
22179         Reported by Nelson H. F. Beebe and Jim Meyering.
22180
22181 2008-04-11  Bruno Haible  <bruno@clisp.org>
22182
22183         Adapt to future versions of Apple GCC.
22184         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
22185         Reported by Peter O'Gorman <peter@pogma.com>.
22186
22187 2008-04-11  Bruno Haible  <bruno@clisp.org>
22188
22189         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
22190
22191 2008-04-11  Bruno Haible  <bruno@clisp.org>
22192
22193         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
22194
22195         * modules/getaddrinfo-tests (Makefile.am): Define
22196         test_getaddrinfo_LDADD.
22197
22198 2008-04-11  Bruno Haible  <bruno@clisp.org>
22199
22200         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
22201         (init): Fix syntax error.
22202         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
22203         is declared.
22204
22205 2008-04-11  Bruno Haible  <bruno@clisp.org>
22206
22207         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
22208         * modules/glob (Depends-on): Add stdbool.
22209
22210 2008-04-11  Bruno Haible  <bruno@clisp.org>
22211
22212         * lib/trim.c: Include <string.h>.
22213
22214 2008-04-11  Eric Blake  <ebb9@byu.net>
22215
22216         Avoid compile failure on OS/2.
22217         * lib/regex_internal.h (internal_function): Disable optimization
22218         on OS/2 (__EMX__), where it caused compiler error.
22219         Reported by Elbert Pol.
22220
22221 2008-04-11  Bruno Haible  <bruno@clisp.org>
22222
22223         Flush the standard error stream before aborting. Needed on mingw.
22224         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
22225         * tests/test-array_list.c (ASSERT): Likewise.
22226         * tests/test-array_oset.c (ASSERT): Likewise.
22227         * tests/test-avltree_list.c (ASSERT): Likewise.
22228         * tests/test-avltree_oset.c (ASSERT): Likewise.
22229         * tests/test-avltreehash_list.c (ASSERT): Likewise.
22230         * tests/test-binary-io.c (ASSERT): Likewise.
22231         * tests/test-byteswap.c (ASSERT): Likewise.
22232         * tests/test-c-ctype.c (ASSERT): Likewise.
22233         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
22234         * tests/test-c-strcasestr.c (ASSERT): Likewise.
22235         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
22236         * tests/test-c-strstr.c (ASSERT): Likewise.
22237         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
22238         * tests/test-canonicalize.c (ASSERT): Likewise.
22239         * tests/test-carray_list.c (ASSERT): Likewise.
22240         * tests/test-ceilf1.c (ASSERT): Likewise.
22241         * tests/test-ceilf2.c (ASSERT): Likewise.
22242         * tests/test-ceill.c (ASSERT): Likewise.
22243         * tests/test-count-one-bits.c (ASSERT): Likewise.
22244         * tests/test-fbufmode.c (ASSERT): Likewise.
22245         * tests/test-fflush2.c (ASSERT): Likewise.
22246         * tests/test-floorf1.c (ASSERT): Likewise.
22247         * tests/test-floorf2.c (ASSERT): Likewise.
22248         * tests/test-floorl.c (ASSERT): Likewise.
22249         * tests/test-fopen.c (ASSERT): Likewise.
22250         * tests/test-fpending.c (ASSERT): Likewise.
22251         * tests/test-fprintf-posix.c (ASSERT): Likewise.
22252         * tests/test-fpurge.c (ASSERT): Likewise.
22253         * tests/test-freadable.c (ASSERT): Likewise.
22254         * tests/test-freadahead.c (ASSERT): Likewise.
22255         * tests/test-freading.c (ASSERT): Likewise.
22256         * tests/test-freadptr.c (ASSERT): Likewise.
22257         * tests/test-freadptr2.c (ASSERT): Likewise.
22258         * tests/test-freadseek.c (ASSERT): Likewise.
22259         * tests/test-freopen.c (ASSERT): Likewise.
22260         * tests/test-frexp.c (ASSERT): Likewise.
22261         * tests/test-frexpl.c (ASSERT): Likewise.
22262         * tests/test-fseek.c (ASSERT): Likewise.
22263         * tests/test-fseeko.c (ASSERT): Likewise.
22264         * tests/test-fstrcmp.c (ASSERT): Likewise.
22265         * tests/test-ftell.c (ASSERT): Likewise.
22266         * tests/test-ftello.c (ASSERT): Likewise.
22267         * tests/test-func.c (ASSERT): Likewise.
22268         * tests/test-fwritable.c (ASSERT): Likewise.
22269         * tests/test-fwriting.c (ASSERT): Likewise.
22270         * tests/test-getdelim.c (ASSERT): Likewise.
22271         * tests/test-getline.c (ASSERT): Likewise.
22272         * tests/test-i-ring.c (ASSERT): Likewise.
22273         * tests/test-iconv-utf.c (ASSERT): Likewise.
22274         * tests/test-iconv.c (ASSERT): Likewise.
22275         * tests/test-isfinite.c (ASSERT): Likewise.
22276         * tests/test-isnand.c (ASSERT): Likewise.
22277         * tests/test-isnanf.c (ASSERT): Likewise.
22278         * tests/test-isnanl.h (ASSERT): Likewise.
22279         * tests/test-ldexpl.c (ASSERT): Likewise.
22280         * tests/test-linked_list.c (ASSERT): Likewise.
22281         * tests/test-linkedhash_list.c (ASSERT): Likewise.
22282         * tests/test-localename.c (ASSERT): Likewise.
22283         * tests/test-lseek.c (ASSERT): Likewise.
22284         * tests/test-mbscasecmp.c (ASSERT): Likewise.
22285         * tests/test-mbscasestr1.c (ASSERT): Likewise.
22286         * tests/test-mbscasestr2.c (ASSERT): Likewise.
22287         * tests/test-mbscasestr3.c (ASSERT): Likewise.
22288         * tests/test-mbscasestr4.c (ASSERT): Likewise.
22289         * tests/test-mbschr.c (ASSERT): Likewise.
22290         * tests/test-mbscspn.c (ASSERT): Likewise.
22291         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
22292         * tests/test-mbspbrk.c (ASSERT): Likewise.
22293         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
22294         * tests/test-mbsrchr.c (ASSERT): Likewise.
22295         * tests/test-mbsspn.c (ASSERT): Likewise.
22296         * tests/test-mbsstr1.c (ASSERT): Likewise.
22297         * tests/test-mbsstr2.c (ASSERT): Likewise.
22298         * tests/test-mbsstr3.c (ASSERT): Likewise.
22299         * tests/test-memchr2.c (ASSERT): Likewise.
22300         * tests/test-memmem.c (ASSERT): Likewise.
22301         * tests/test-open.c (ASSERT): Likewise.
22302         * tests/test-printf-frexp.c (ASSERT): Likewise.
22303         * tests/test-printf-frexpl.c (ASSERT): Likewise.
22304         * tests/test-printf-posix.c (ASSERT): Likewise.
22305         * tests/test-quotearg.c (ASSERT): Likewise.
22306         * tests/test-rbtree_list.c (ASSERT): Likewise.
22307         * tests/test-rbtree_oset.c (ASSERT): Likewise.
22308         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
22309         * tests/test-round1.c (ASSERT): Likewise.
22310         * tests/test-roundf1.c (ASSERT): Likewise.
22311         * tests/test-roundl.c (ASSERT): Likewise.
22312         * tests/test-signbit.c (ASSERT): Likewise.
22313         * tests/test-sleep.c (ASSERT): Likewise.
22314         * tests/test-snprintf-posix.c (ASSERT): Likewise.
22315         * tests/test-snprintf.c (ASSERT): Likewise.
22316         * tests/test-sprintf-posix.c (ASSERT): Likewise.
22317         * tests/test-stat-time.c (ASSERT): Likewise.
22318         * tests/test-strcasestr.c (ASSERT): Likewise.
22319         * tests/test-strerror.c (ASSERT): Likewise.
22320         * tests/test-striconv.c (ASSERT): Likewise.
22321         * tests/test-striconveh.c (ASSERT): Likewise.
22322         * tests/test-striconveha.c (ASSERT): Likewise.
22323         * tests/test-strsignal.c (ASSERT): Likewise.
22324         * tests/test-strstr.c (ASSERT): Likewise.
22325         * tests/test-strtod.c (ASSERT): Likewise.
22326         * tests/test-trunc1.c (ASSERT): Likewise.
22327         * tests/test-trunc2.c (ASSERT): Likewise.
22328         * tests/test-truncf1.c (ASSERT): Likewise.
22329         * tests/test-truncf2.c (ASSERT): Likewise.
22330         * tests/test-truncl.c (ASSERT): Likewise.
22331         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
22332         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
22333         * tests/test-vasnprintf.c (ASSERT): Likewise.
22334         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
22335         * tests/test-vasprintf.c (ASSERT): Likewise.
22336         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
22337         * tests/test-vprintf-posix.c (ASSERT): Likewise.
22338         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
22339         * tests/test-vsnprintf.c (ASSERT): Likewise.
22340         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
22341         * tests/test-wcwidth.c (ASSERT): Likewise.
22342         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
22343         * tests/test-xprintf-posix.c (ASSERT): Likewise.
22344         * tests/test-xvasprintf.c (ASSERT): Likewise.
22345         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
22346         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
22347         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
22348         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
22349         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
22350         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
22351         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
22352         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
22353         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
22354         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
22355         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
22356         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
22357         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
22358         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
22359         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
22360         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
22361         * tests/unictype/test-block_list.c (ASSERT): Likewise.
22362         * tests/unictype/test-block_of.c (ASSERT): Likewise.
22363         * tests/unictype/test-block_test.c (ASSERT): Likewise.
22364         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
22365         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
22366         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
22367         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
22368         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
22369         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
22370         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
22371         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
22372         * tests/unictype/test-combining.c (ASSERT): Likewise.
22373         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
22374         * tests/unictype/test-digit.c (ASSERT): Likewise.
22375         * tests/unictype/test-mirror.c (ASSERT): Likewise.
22376         * tests/unictype/test-numeric.c (ASSERT): Likewise.
22377         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
22378         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
22379         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
22380         * tests/unictype/test-scripts.c (ASSERT): Likewise.
22381         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
22382         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
22383         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
22384         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
22385         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
22386         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
22387         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
22388         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
22389         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
22390         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
22391         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
22392         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
22393         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
22394         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
22395         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
22396         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
22397         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
22398         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
22399         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
22400         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
22401         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
22402         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
22403         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
22404         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
22405         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
22406         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
22407         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
22408         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
22409         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
22410         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
22411         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
22412         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
22413         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
22414         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
22415         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
22416         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
22417         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
22418         Reported by Eric Blake.
22419
22420 2008-04-11  Bruno Haible  <bruno@clisp.org>
22421
22422         * lib/wchar.in.h: Tweak comment.
22423
22424 2008-04-11  Bruno Haible  <bruno@clisp.org>
22425
22426         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
22427         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
22428         gl_COMMON.
22429         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
22430
22431 2008-04-11  Bruno Haible  <bruno@clisp.org>
22432
22433         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
22434
22435 2008-04-11  Simon Josefsson  <simon@josefsson.org>
22436
22437         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
22438         of attempting to use non-existing /dev/*random.  Based on patch
22439         from Adam Strzelecki <ono@java.pl> in
22440         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
22441
22442 2008-04-08  Bruno Haible  <bruno@clisp.org>
22443
22444         Add tentative support for emx+gcc.
22445         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
22446         * lib/fpurge.c (fpurge): Likewise.
22447         * lib/freadable.c (freadable): Likewise.
22448         * lib/freadahead.c (freadahead): Likewise.
22449         * lib/freading.c (freading): Likewise.
22450         * lib/freadptr.c (freadptr): Likewise.
22451         * lib/freadseek.c (freadptrinc): Likewise.
22452         * lib/fseeko.c (rpl_fseeko): Likewise.
22453         * lib/fseterr.c (fseterr): Likewise.
22454         * lib/fwritable.c (fwritable): Likewise.
22455         * lib/fwriting.c (fwriting): Likewise.
22456         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
22457
22458 2008-04-09  Eric Blake  <ebb9@byu.net>
22459
22460         Avoid some autoconf warnings.
22461         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
22462         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
22463         * m4/afs.m4 (gl_AFS): Likewise.
22464         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
22465         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
22466         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
22467         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
22468         (gl_INTEGER_TYPE_SUFFIX): Likewise.
22469         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
22470         (AC_CHECK_DECLS_ONCE): Likewise.
22471         Rename file...
22472         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
22473         gnulib-tool requires autoconf 2.59 or better.
22474         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
22475
22476 2008-04-08  Eric Blake  <ebb9@byu.net>
22477
22478         Use 'git describe --match' if present (added in git 1.5.5).
22479         * build-aux/git-version-gen: Limit result to tags that match 'v*'
22480         if possible.
22481
22482 2008-04-08  Bruno Haible  <bruno@clisp.org>
22483
22484         Add tentative support for OpenServer.
22485         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
22486         _ptr, _cnt.
22487         * lib/fpurge.c (fpurge): Likewise.
22488         * lib/freadable.c (freadable): Likewise.
22489         * lib/freadahead.c (freadahead): Likewise.
22490         * lib/freading.c (freading): Likewise.
22491         * lib/freadptr.c (freadptr): Likewise.
22492         * lib/freadseek.c (freadptrinc): Likewise.
22493         * lib/fseeko.c (rpl_fseeko): Likewise.
22494         * lib/fseterr.c (fseterr): Likewise.
22495         * lib/fwritable.c (fwritable): Likewise.
22496         * lib/fwriting.c (fwriting): Likewise.
22497         Reported by Roger Cornelius <rac@tenzing.org> and
22498         Brian K. White <brian@aljex.com>.
22499
22500 2008-04-06  Jim Meyering  <meyering@redhat.com>
22501
22502         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
22503
22504 2008-04-06  Bruno Haible  <bruno@clisp.org>
22505
22506         Avoid possible error with non-ASCII bytes in UTF-8 locales.
22507         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
22508         * tests/test-printf-posix.sh: Likewise.
22509         * tests/test-vfprintf-posix.sh: Likewise.
22510         * tests/test-vprintf-posix.sh: Likewise.
22511         * tests/test-xprintf-posix.sh: Likewise.
22512
22513 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22514
22515         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
22516         hide error from 'ls', needed on OS/2.
22517         Report by Elbert Pol <elbert.pol@gmail.com>.
22518
22519 2008-04-04  Eric Blake  <ebb9@byu.net>
22520
22521         Make test-fseeko.c failures meaningful.
22522         * tests/test-fseeko.c: Print line number on failure.
22523         * tests/test-fseek.c: Likewise.
22524         Reported by Nelson H. F. Beebe.
22525
22526         Improve strtod bug detection check.
22527         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
22528         required for Solaris 10.
22529         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
22530
22531 2008-04-04  Bruno Haible  <bruno@clisp.org>
22532
22533         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
22534         by m4/setenv.m4.
22535
22536 2008-04-03  Eric Blake  <ebb9@byu.net>
22537
22538         Ensure sane .version contents.
22539         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
22540         version string.
22541         * build-aux/git-version-gen: Improve documentation.
22542
22543         Make GNU make output nicer.
22544         * top/GNUmakefile [!_have-Makefile]: Add dependency on
22545         MAKECMDGOALS to enforce message for all command line targets.  Set
22546         srcdir for use in maint.mk.
22547
22548         Another maintainer tweak.
22549         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
22550         a target that regenerates version.
22551
22552 2008-04-03  Jim Meyering  <meyering@redhat.com>
22553
22554         vc-list-files: don't cause coreutils "make po-check" failure
22555         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
22556
22557 2008-04-03  Eric Blake  <ebb9@byu.net>
22558
22559         Allow VPATH usage of vc-list-files.
22560         * build-aux/vc-list-files (scriptversion): Add timestamp.
22561         (options): Add --help, --version, -C.
22562         (CVS): Support installed cvsu.
22563
22564 2008-04-02  Bruno Haible  <bruno@clisp.org>
22565
22566         Avoid some "statement with no effect" warnings from gcc.
22567         * tests/test-wctype.c (main): Explicitly ignore unused values.
22568         Reported by Jim Meyering.
22569
22570 2008-04-02  Jim Meyering  <meyering@redhat.com>
22571
22572         Avoid some warnings from "gcc -Wshadow".
22573         * tests/test-frexp.c (exp): Define to a different identifier.
22574         * tests/test-frexpl.c (exp): Likewise.
22575
22576 2008-04-03  Jim Meyering  <meyering@redhat.com>
22577
22578         bootstrap: remove dangling *.[ch] symlinks from lib
22579         * build-aux/bootstrap [dangling symlink removal]: Move find's
22580         -depth option to precede all others, to avoid a warning.
22581         Remove *.[ch] files too, and from "$source_base" (usually lib/).
22582
22583 2008-04-02  Bruno Haible  <bruno@clisp.org>
22584
22585         Avoid some warnings from "gcc -Wshadow".
22586         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
22587         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
22588         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
22589         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
22590         Reported by Jim Meyering.
22591
22592 2008-04-01  Bruno Haible  <bruno@clisp.org>
22593
22594         Fix test to work on IRIX 6.5 with cc.
22595         * tests/test-math.c (numeric_equal): New function.
22596         (main): Use it.
22597
22598 2008-04-01  Bruno Haible  <bruno@clisp.org>
22599
22600         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
22601
22602 2008-04-01  Bruno Haible  <bruno@clisp.org>
22603
22604         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
22605         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
22606         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
22607         (Depends-on): Remove math.
22608
22609         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
22610         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
22611         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
22612         (Depends-on): Remove math.
22613
22614         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
22615         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
22616         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
22617         (Depends-on): Remove math.
22618         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
22619         (Depends-on): Remove math.
22620
22621         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
22622         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
22623         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
22624         (Depends-on): Remove math.
22625         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
22626         (Depends-on): Remove math.
22627
22628         * tests/test-round1.c: Include nan.h.
22629         (main): Use NaNd instead of NAN.
22630         * modules/round-tests (Files): Add tests/nan.h.
22631
22632         * tests/test-trunc1.c: Include nan.h.
22633         (main): Use NaNd instead of NAN.
22634         * modules/trunc-tests (Files): Add tests/nan.h.
22635
22636         * tests/test-roundf1.c: Include nan.h.
22637         (main): Use NaNf instead of NAN.
22638         * modules/roundf-tests (Files): Add tests/nan.h.
22639
22640         * tests/test-truncf1.c: Include nan.h.
22641         (main): Use NaNf instead of NAN.
22642         * modules/truncf-tests (Files): Add tests/nan.h.
22643
22644         * tests/test-ceilf1.c: Include nan.h.
22645         (main): Use NaNf instead of NAN.
22646         * modules/ceilf-tests (Files): Add tests/nan.h.
22647
22648         * tests/test-floorf1.c: Include nan.h.
22649         (main): Use NaNf instead of NAN.
22650         * modules/floorf-tests (Files): Add tests/nan.h.
22651
22652         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
22653         (main): Use NaNf instead of NAN.
22654         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
22655
22656         * tests/test-isnand.c: Include nan.h instead of <math.h>.
22657         (main): Use NaNd instead of NAN.
22658         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
22659
22660         * tests/test-frexp.c: Include nan.h.
22661         (main): Use NaNd instead of NAN.
22662         * modules/frexp-tests (Files): Add tests/nan.h.
22663
22664         * lib/isnan.c: Don't include <math.h>.
22665         (FUNC): Don't use NAN macro.
22666         * modules/isnand-nolibm (Depends-on): Remove math.
22667         * modules/isnanf-nolibm (Depends-on): Remove math.
22668         * modules/isnanl (Depends-on): Remove math.
22669         * modules/isnanl-nolibm (Depends-on): Remove math.
22670
22671         * tests/nan.h: New file.
22672
22673 2008-04-01  Eric Blake  <ebb9@byu.net>
22674
22675         Fix typos.
22676         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
22677         values to be the right type.
22678
22679         For now, cater to gnulib strtod inaccuracies.
22680         * tests/test-strtod.c (main): Allow 1-ulp error on expected
22681         fractional results.  While not as nice from a QoI perspective, it
22682         is a quicker patch than correctly implementing decimal to binary
22683         rounding.
22684
22685 2008-03-31  Eric Blake  <ebb9@byu.net>
22686
22687         Guarantee a definition of NAN.
22688         * lib/math.in.h (NAN): Define if missing.
22689         * tests/test-math.c (main): Test it.
22690         * doc/posix-headers/math.texi (math.h): Document this.
22691         * lib/isnan.c (rpl_isnand): Use it.
22692         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
22693         * tests/test-floorf1.c (NaN): Likewise.
22694         * tests/test-frexp.c (NaN): Likewise.
22695         * tests/test-isnand.c (NaN): Likewise.
22696         * tests/test-isnanf.c (NaN): Likewise.
22697         * tests/test-round1.c (NaN): Likewise.
22698         * tests/test-roundf1.c (NaN): Likewise.
22699         * tests/test-snprintf-posix.h (NaN): Likewise.
22700         * tests/test-sprintf-posix.h (NaN): Likewise.
22701         * tests/test-trunc1.c (NaN): Likewise.
22702         * tests/test-truncf1.c (NaN): Likewise.
22703         * tests/test-vasnprintf-posix.c (NaN): Likewise.
22704         * tests/test-vasprintf-posix.c (NaN): Likewise.
22705         * modules/isnand-nolibm (Depends-on): Add math.
22706         * modules/isnanf-nolibm (Depends-on): Likewise.
22707         * modules/isnanl (Depends-on): Likewise.
22708         * modules/isnanl-nolibm (Depends-on): Likewise.
22709         * modules/snprintf-posix-tests (Depends-on): Likewise.
22710         * modules/sprintf-posix-tests (Depends-on): Likewise.
22711         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
22712         * modules/vsprintf-posix-tests (Depends-on): Likewise.
22713         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
22714         * modules/vasprintf-posix-tests (Depends-on): Likewise.
22715
22716 2008-03-31  Bruno Haible  <bruno@clisp.org>
22717
22718         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
22719         * doc/posix-functions/strtod.texi: Likewise.
22720
22721 2008-03-31  Bruno Haible  <bruno@clisp.org>
22722
22723         * tests/test-strtod.c (main): Don't use C99 syntax.
22724
22725 2008-03-31  Bruno Haible  <bruno@clisp.org>
22726
22727         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
22728         Reported by Eric Blake.
22729
22730 2008-03-31  Jim Meyering  <meyering@redhat.com>
22731
22732         Don't compare actual signbit return values.
22733         * tests/test-strtod.c (main): Rather, compare only their
22734         zero/non-zero nature.
22735
22736 2008-03-31  Eric Blake  <ebb9@byu.net>
22737
22738         More strtod documentation.
22739         * doc/posix-functions/strtod.texi (strtod): Interpret more test
22740         failures as distinct bugs.
22741
22742 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
22743
22744         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
22745         Problem reported by Erik Benada in
22746         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
22747
22748 2008-03-30  Bruno Haible  <bruno@clisp.org>
22749
22750         * tests/test-strtod.c: Add comments about which assertion fails on which
22751         platform.
22752         * doc/posix-functions/strtod.texi: Add info about many more platforms.
22753
22754 2008-03-30  Eric Blake  <ebb9@byu.net>
22755
22756         Test signbit behavior on zeros.
22757         * tests/test-signbit.c (test_signbitf): Add tests for zero.
22758         (test_signbitd, test_signbitl): Likewise.
22759
22760         More strtod touchups.
22761         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
22762         sign of negative underflow, for now.  Use .5, not .1.
22763         * doc/posix-functions/strtod.texi (strtod): Mention these
22764         limitations.
22765         Reported by Jim Meyering.
22766
22767 2008-03-30  Bruno Haible  <bruno@clisp.org>
22768
22769         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
22770         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
22771
22772 2008-03-30  Bruno Haible  <bruno@clisp.org>
22773
22774         Avoid failure when attempting to return empty iconv results on some
22775         platforms.
22776         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
22777         allocation, don't report ENOMEM when the resulting string is empty.
22778
22779 2008-03-30  Bruno Haible  <bruno@clisp.org>
22780
22781         Fix buffer overrun.
22782         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
22783         Don't consider the width for tmp_length. Check count against tmp_length
22784         before doing the padding. Ensure enough allocation during padding.
22785
22786 2008-03-30  Eric Blake  <ebb9@byu.net>
22787
22788         strtod touchups.
22789         * lib/strtod.c (strtod): Avoid compiler warnings.
22790         Reported by Jim Meyering.
22791
22792 2008-03-30  Bruno Haible  <bruno@clisp.org>
22793
22794         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
22795         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
22796         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
22797         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
22798         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
22799         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
22800         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
22801         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
22802
22803         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
22804         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
22805         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
22806         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
22807         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
22808         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
22809         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
22810         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
22811
22812         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
22813         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
22814         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
22815         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
22816         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
22817         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
22818         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
22819         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
22820
22821         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
22822         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
22823
22824         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
22825         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
22826
22827         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
22828         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
22829
22830         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
22831         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
22832         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
22833
22834         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
22835         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
22836         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
22837
22838         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
22839         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
22840         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
22841
22842         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
22843         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
22844         * modules/vasprintf (Depends-on): Add EOVERFLOW.
22845
22846         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
22847         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
22848         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
22849         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
22850         (Depends-on): Add EOVERFLOW.
22851         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
22852         (Depends-on): Add EOVERFLOW.
22853         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
22854         (Depends-on): Add EOVERFLOW.
22855         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
22856         (Depends-on): Add EOVERFLOW.
22857         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
22858         (Depends-on): Add EOVERFLOW.
22859         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
22860         (Depends-on): Add EOVERFLOW.
22861         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
22862         (Depends-on): Add EOVERFLOW.
22863         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
22864         (Depends-on): Add EOVERFLOW.
22865
22866         * lib/sprintf.c (EOVERFLOW): Remove fallback.
22867         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
22868         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
22869
22870         * lib/snprintf.c (EOVERFLOW): Remove fallback.
22871         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
22872         * modules/snprintf (Depends-on): Add EOVERFLOW.
22873
22874         * lib/poll.c (EOVERFLOW): Remove fallback.
22875         * modules/poll (Depends-on): Add EOVERFLOW.
22876
22877         * lib/getugroups.c (EOVERFLOW): Remove fallback.
22878         * modules/getugroups (Depends-on): Add EOVERFLOW.
22879
22880         * lib/getdelim.c (EOVERFLOW): Remove fallback.
22881         * modules/getdelim (Depends-on): Add EOVERFLOW.
22882
22883         * lib/ftell.c (EOVERFLOW): Remove fallback.
22884         * modules/ftell (Depends-on): Add EOVERFLOW.
22885
22886         * lib/fprintf.c (EOVERFLOW): Remove fallback.
22887         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
22888         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
22889
22890         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
22891
22892         * modules/EOVERFLOW-tests: New file.
22893         * tests/test-EOVERFLOW.c: New file.
22894
22895         * modules/EOVERFLOW: New file.
22896         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
22897
22898 2008-03-30  Bruno Haible  <bruno@clisp.org>
22899
22900         Fix bug introduced on 2007-06-10.
22901         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
22902         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
22903
22904 2008-03-30  Bruno Haible  <bruno@clisp.org>
22905
22906         Improve freadseek's efficiency after ungetc.
22907         * lib/freadseek.c: Include freadahead.h.
22908         (freadptrinc): New function, extracted from freadseek.
22909         (freadseek): Use it in a loop. Use freadahead to determine the number
22910         of loop iterations.
22911         * modules/freadseek (Depends-on): Add freadahead.
22912         (configure.ac): Require AC_C_INLINE.
22913
22914 2008-03-30  Bruno Haible  <bruno@clisp.org>
22915
22916         * lib/freadseek.c (freadseek): Don't ignore the return value of
22917         freadptr.
22918
22919 2008-03-29  Eric Blake  <ebb9@byu.net>
22920
22921         Add hex float support.
22922         * modules/strtod (Depends-on): Add c-ctype.
22923         (Link): Mention POW_LIB.
22924         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
22925         whitespace between 'e' and exponent.
22926         * tests/test-strtod.c (main): Enable hex float tests.
22927         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
22928         now provides.
22929
22930         Document various strtod bugs, with some fixes.
22931         * doc/posix-functions/strtod.texi (strtod): Document bugs with
22932         "-0x", "inf", "nan", and hex constants.
22933         * doc/posix-functions/atof.texi (atof): Likewise.
22934         * modules/stdlib (Makefile.am): Support strtod.
22935         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
22936         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
22937         detect additional strtod bugs.
22938         * lib/stdlib.in.h (rpl_strtod): Add declarations.
22939         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
22940         bool where appropriate.  Parse 'inf' and 'nan'.
22941         * tests/test-strtod.c: New file.
22942         * modules/strtod (Depends-on): Add stdbool, stdlib.
22943         (configure.ac): Turn on module indicator.
22944         * modules/strtod-tests: New module.
22945
22946 2008-03-29  Eric Blake  <ebb9@byu.net>
22947
22948         Fix ftell on mingw.
22949         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
22950         * modules/ftell-tests (Depends-on): Add binary-io.
22951         * modules/ftello-tests (Depends-on): Likewise.
22952         * tests/test-ftell.c (main): Enhance test to cover behavior after
22953         ungetc.  Enforce binary mode.
22954         * tests/test-ftello.c (main): Likewise.
22955
22956         Pass test-freadseek on cygwin.
22957         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
22958         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
22959         ungetc buffer.
22960
22961         * tests/test-fflush2.c (main): Fix typo.
22962
22963 2008-03-29  Bruno Haible  <bruno@clisp.org>
22964
22965         * tests/test-fflush2.c (main): Temporarily disable the contents of
22966         this test.
22967         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
22968         Reported by Eric Blake.
22969
22970 2008-03-28  Simon Josefsson  <simon@josefsson.org>
22971
22972         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
22973         (GC_SHA224_DIGEST_SIZE): Add.
22974
22975         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
22976         (gc_hash_digest_length): Likewise.
22977         (gc_hash_buffer): Likewise.
22978
22979 2008-03-25  Bruno Haible  <bruno@clisp.org>
22980
22981         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
22982         detail which gettext release to use.
22983         Reported by Simon Josefsson.
22984
22985 2008-03-26  Jim Meyering  <meyering@redhat.com>
22986
22987         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
22988         * modules/gnumakefile (clean-GNUmakefile): Also, use
22989         test ... && ... || : syntax rather than if-then ... fi.
22990
22991         gnumakefile: Don't double-quote-expand $(VPATH) value.
22992         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
22993
22994 2008-03-24  Eric Blake  <ebb9@byu.net>
22995
22996         Alter GNUmakefile to install into top directory.
22997         * modules/maintainer-makefile: Split, and add dependency...
22998         * modules/gnumakefile: to this new module.
22999         * build-aux/GNUmakefile: Move...
23000         * top/GNUmakefile: ...here.
23001         * build-aux/maint.mk: Move...
23002         * top/maint.mk: ...here.
23003         * MODULES.html.sh (Support for maintaining...): Document new
23004         module.
23005
23006 2008-03-23  Bruno Haible  <bruno@clisp.org>
23007
23008         * gnulib-tool: New options --vc-files, --no-vc-files.
23009         (func_usage): Document them.
23010         (vc_files): New variable.
23011         (func_import): Consider vc_files.
23012         (func_create_testdir): Set vc_files to empty.
23013         Suggested by Jim Meyering and Karl Berry.
23014
23015 2008-03-23  Bruno Haible  <bruno@clisp.org>
23016
23017         Fix regex compilation error on HP-UX 11.
23018         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
23019         * modules/regex (Files): Add m4/mbstate_t.m4.
23020         Reported by Ton Voon <ton.voon@altinity.com>.
23021
23022 2008-03-23  Bruno Haible  <bruno@clisp.org>
23023
23024         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
23025
23026 2008-03-23  Eric Blake  <ebb9@byu.net>
23027             Bruno Haible  <bruno@clisp.org>
23028
23029         Install files from top/ in the destination directory.
23030         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
23031         augmentation also for the files from top/.
23032         (func_import, func_create_testdir): Rewrite file names:
23033         top/filename -> filename.
23034
23035 2008-03-23  Bruno Haible  <bruno@clisp.org>
23036
23037         Tweak "gnulib --version" output.
23038         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
23039
23040 2008-03-23  Bruno Haible  <bruno@clisp.org>
23041
23042         Tweak "gnulib --version" output.
23043         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
23044         rather than contents of ChangeLog, when possible.
23045
23046 2008-03-21  Eric Blake  <ebb9@byu.net>
23047
23048         More --version tweaks.
23049         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
23050         date of last ChangeLog entry.
23051
23052 2008-03-21  Jim Meyering  <meyering@redhat.com>
23053
23054         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
23055
23056 2008-03-20  Eric Blake  <ebb9@byu.net>
23057
23058         VPATH fix.
23059         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
23060
23061 2008-03-20  Simon Josefsson  <simon@josefsson.org>
23062
23063         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
23064         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
23065
23066 2008-03-20  Eric Blake  <ebb9@byu.net>
23067
23068         Sync GNUmakefile with coreutils.
23069         * build-aux/GNUmakefile (have-Makefile): Rename...
23070         (_have-Makefile): ...to this, for namespace consideration.
23071         (GNUmakefile.cfg): Include, if present.
23072         (_autoreconf): Define a default.
23073         (_is-dist-target): New rule for rebuilds to pick up intra-release
23074         version.
23075         (maint-cfg.mk): Rename...
23076         (cfg.mk): ...to this.
23077
23078 2008-03-18  Jim Meyering  <meyering@redhat.com>
23079
23080         New script and module: mktempd
23081         * MODULES.html.sh (maint+release support): Add mktempd.
23082         * build-aux/mktempd: New file.
23083         * modules/mktempd: New file.
23084
23085 2008-03-15  Jim Meyering  <meyering@redhat.com>
23086
23087         Undo last change.
23088         * lib/sha1.c, lib/md5.c: 63 != ~63.
23089         Reported by Andreas Schwab.
23090
23091         sha1.c, md5.c: Hoist a redundant expression.
23092         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
23093         "ctx->buflen" only once, before calling *_process_block.
23094         * lib/md5.c (md5_process_bytes): Likewise.
23095
23096 2008-03-14  Eric Blake  <ebb9@byu.net>
23097
23098         Bump copyright year in files generated by gnulib-tool.
23099         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
23100         gnulib-tool, rather than hard-coding it.
23101
23102         Fix 'gnulib-tool --version' output to work with git.
23103         * gnulib-tool (func_gnulib_dir): New function, extracted from...
23104         (startup): ...here.
23105         (func_version): Use it to invoke git-version-gen, rather than
23106         relying on CVS keyword expansion.  Modernize wording.
23107         (cvsdatestamp, last_checkin_date, version): Kill unused
23108         variables.
23109
23110 2008-03-12  Jim Meyering  <meyering@redhat.com>
23111
23112         Recognize optional cast of the argument to free.
23113         * build-aux/useless-if-before-free: Update regexps.
23114
23115         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
23116
23117 2008-03-11  Bruno Haible  <bruno@clisp.org>
23118
23119         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
23120         by a single package.
23121         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
23122         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
23123         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
23124         Reported by Sam Steingold <sds@gnu.org>.
23125
23126 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
23127
23128         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
23129         repositories.
23130
23131 2008-03-11  Bruno Haible  <bruno@clisp.org>
23132
23133         Avoid conflicts between local macro definitions.
23134         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
23135         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
23136
23137 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
23138             Bruno Haible  <bruno@clisp.org>
23139
23140         Make va_copy work with some version of xlc on AIX 5.1.
23141         * lib/stdarg.in.h: New file.
23142         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
23143         On AIX, use a <stdarg.h> file substitute.
23144         * modules/stdarg (Files): Add lib/stdarg.in.h.
23145         (Depends-on): Add include_next.
23146         (Makefile.am): Build a stdarg.h substitute if requested.
23147         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
23148
23149 2008-03-10  Bruno Haible  <bruno@clisp.org>
23150
23151         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
23152         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
23153         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
23154
23155 2008-03-10  Bruno Haible  <bruno@clisp.org>
23156
23157         * modules/stdlib (Depends-on): Add include_next, remove
23158         absolute-header.
23159
23160 2008-03-09  Bruno Haible  <bruno@clisp.org>
23161
23162         * lib/freadahead.h (freadahead): Document more precisely.
23163         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
23164         the sum of both buffer sizes.
23165         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
23166         * NEWS: Document the change.
23167
23168 2008-03-09  Bruno Haible  <bruno@clisp.org>
23169
23170         Extend freadptr to return also the buffer size.
23171         * lib/freadptr.h (freadptr): Add sizep argument.
23172         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
23173         (freadptr): Add sizep argument. Determine buffer size like freadahead
23174         does.
23175         * tests/test-freadptr.c: Don't include freadahead.h.
23176         (main): Adapt for new calling convention of freadptr.
23177         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
23178         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
23179         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
23180         tests/test-freadptr2.sh.
23181         (Depends): Remove freadahead.
23182         (TESTS): Add test-freadptr2.sh.
23183         (check_PROGRAMS): Add test-freadptr2.
23184
23185 2008-03-09  Bruno Haible  <bruno@clisp.org>
23186
23187         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
23188         Report and solution by Simon Josefsson.
23189
23190 2008-03-06  Bruno Haible  <bruno@clisp.org>
23191
23192         Make fflush after ungetc work on BSD platforms.
23193         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
23194         * tests/test-fflush2.c: New file.
23195         * tests/test-fflush2.sh: New file.
23196         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
23197         tests/test-fflush2.c.
23198         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
23199         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
23200
23201 2008-03-06  Eric Blake  <ebb9@byu.net>
23202
23203         Likewise for ftello.
23204         * modules/ftello (Dependencies): Add extensions.
23205         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
23206
23207 2008-03-06  Bruno Haible  <bruno@clisp.org>
23208
23209         * modules/fseeko (Dependencies): Add extensions.
23210         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
23211         Needed on glibc systems.
23212
23213 2008-03-06  Bruno Haible  <bruno@clisp.org>
23214
23215         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
23216         email address.
23217         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
23218
23219 2008-03-06  Bruno Haible  <bruno@clisp.org>
23220
23221         * users.txt: Add libgnupdf.
23222
23223 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
23224
23225         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
23226         (Header File Substitutes, Function Substitutes,
23227         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
23228         (Build robot for gnulib): Fix typo.
23229
23230 2008-03-06  Bruno Haible  <bruno@clisp.org>
23231
23232         * doc/gnulib-tool.texi (VCS Issues): Small updates.
23233         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
23234
23235 2008-03-06  Bruno Haible  <bruno@clisp.org>
23236
23237         * doc/func.texi: New file, extracted from doc/gnulib.texi.
23238         * doc/gnulib.texi: Include it.
23239
23240 2008-03-06  Simon Josefsson  <simon@josefsson.org>
23241
23242         * modules/func (License): Change license to unlimited; there was
23243         no LGPL parts in the module anyway.
23244
23245 2008-03-06  Simon Josefsson  <simon@josefsson.org>
23246
23247         * modules/__func__: Renamed to modules/func.
23248         * modules/__func__-tests: Renamed to modules/func-tests.
23249         * tests/test-__func__.c: Renamed to tests/test-func.c.
23250         * m4/__func__.m4: Renamed to m4/func.m4.
23251         * doc/gnulib.texi (__func__): Section renamed to func.
23252         Suggested by Eric Blake <ebb9@byu.net>.
23253
23254 2008-03-06  Simon Josefsson  <simon@josefsson.org>
23255
23256         * doc/gnulib.texi (__func__): Use C99 terminology when talking
23257         about __func__.  Make example self-contained.  Suggested by Eric
23258         Blake <ebb9@byu.net>.
23259
23260         * tests/test-__func__.c (main): Avoid extraneous () around __func.
23261         Suggested by Eric Blake <ebb9@byu.net>.
23262
23263 2008-03-06  Simon Josefsson  <simon@josefsson.org>
23264
23265         * modules/__func__: New file.
23266         * modules/__func__-tests: New file.
23267         * tests/test-__func__.c: New file.
23268         * m4/__func__.m4: New file.
23269         * doc/gnulib.texi (__func__): Document __func__ module.
23270
23271 2008-03-05  Simon Josefsson  <simon@josefsson.org>
23272
23273         * modules/byteswap (License): Re-license as LGPLv2+.
23274
23275 2008-03-05  Simon Josefsson  <simon@josefsson.org>
23276
23277         * doc/Makefile: Add pdf target.
23278
23279 2008-03-05  Simon Josefsson  <simon@josefsson.org>
23280
23281         * modules/inline (License): Use 'unlimited', since there are only
23282         *.m4 files in this module.
23283
23284 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
23285             Bruno Haible  <bruno@clisp.org>
23286
23287         Add support for HP C 7.1 on OpenVMS 8.3.
23288         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
23289
23290 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
23291
23292         Update VMS specifics.
23293         * lib/getopt.c [VMS]: Remove include of unixlib.h.
23294
23295 2008-03-02  Jim Meyering  <meyering@redhat.com>
23296
23297         Remove the last dependency on the "free" module.
23298         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
23299         Reported by Bob Proulx.
23300
23301         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
23302
23303         Remove useless "if" tests before free.  Deprecate "free" module.
23304         * doc/posix-functions/free.texi: Mention that this
23305         module is no longer useful.
23306         * modules/free (Notice): Say this module is obsolete.
23307         * modules/readutmp (Depends-on): Remove free.
23308         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
23309         * lib/putenv.c (putenv): Likewise.
23310         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
23311         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
23312         * tests/test-c-strcasestr.c (main): Likewise.
23313         * tests/test-c-strstr.c (main): Likewise.
23314         * tests/test-mbscasestr1.c (main): Likewise.
23315         * tests/test-mbscasestr2.c (main): Likewise.
23316         * tests/test-mbsstr1.c (main): Likewise.
23317         * tests/test-mbsstr2.c (main): Likewise.
23318         * tests/test-memmem.c (main): Likewise.
23319         * tests/test-strcasestr.c (main): Likewise.
23320         * tests/test-striconv.c (main): Likewise.
23321         * tests/test-striconveh.c (main): Likewise.
23322         * tests/test-striconveha.c (main): Likewise.
23323         * tests/test-strstr.c (main): Likewise.
23324
23325         * build-aux/git-version-gen: Adjust a comment and the Usage string.
23326
23327         bootstrap: sync from coreutils again
23328         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
23329
23330 2008-03-01  Jim Meyering  <meyering@redhat.com>
23331
23332         bootstrap: sync from coreutils
23333         * build-aux/bootstrap (update_po_files): Copy a .po file into place
23334         also when the target doesn't exist.
23335
23336 2008-03-01  Eric Blake  <ebb9@byu.net>
23337
23338         Fix bugs in last patch.
23339         * lib/memchr2.c (memchr2): Fix typo.
23340         * tests/test-memchr2.c: Test previous bug, and don't use GNU
23341         extension.
23342         Reported by Bruce Korb.
23343
23344         New module 'memchr2'.
23345         * modules/memchr2: New file.
23346         * modules/memchr2-tests: Likewise.
23347         * lib/memchr2.h: Likewise.
23348         * lib/memchr2.c: Likewise, based on memchr.c.
23349         * tests/test-memchr2.c: New test.
23350         * MODULES.html.sh (String handling): Add memchr2.
23351
23352 2008-02-29  Bruno Haible  <bruno@clisp.org>
23353
23354         * modules/freadseek-tests: New file.
23355         * tests/test-freadseek.sh: New file.
23356         * tests/test-freadseek.c: New file.
23357
23358         New module 'freadseek'.
23359         * modules/freadseek: New file.
23360         * lib/freadseek.h: New file.
23361         * lib/freadseek.c: New file.
23362         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
23363
23364 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
23365
23366         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
23367         wydawca.
23368
23369         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
23370         program_invocation_name and program_invocation_short_name are
23371         present.
23372
23373 2008-02-28  Bruno Haible  <bruno@clisp.org>
23374
23375         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
23376         * tests/test-freadptr.sh: Also test non-seekable stdin.
23377
23378 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
23379
23380         * build-aux/bootstrap (source_base, m4_base)
23381         (doc_base, tests_base): New variables.
23382         (gnulib_tool_options): Do not hardcode base directories, use
23383         the above variables instead.
23384
23385 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
23386
23387         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
23388
23389 2008-02-28  Bruno Haible  <bruno@clisp.org>
23390
23391         * modules/freadptr-tests: New file.
23392         * tests/test-freadptr.sh: New file.
23393         * tests/test-freadptr.c: New file.
23394
23395         New module 'freadptr'.
23396         * modules/freadptr: New file.
23397         * lib/freadptr.h: New file.
23398         * lib/freadptr.c: New file.
23399         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
23400
23401 2008-02-26  Karl Berry  <karl@freefriends.org>
23402
23403         Sync from Libtool:
23404         * libltdl/argz.c (argz_add, argz_count): New functions.
23405         * libltdl/argz.in.h: Declare them.
23406         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
23407
23408 2008-02-22  Bruno Haible  <bruno@clisp.org>
23409
23410         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
23411         is a pointer type.  Needed for HP-UX 10.
23412         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
23413         * doc/posix-functions/gmtime_r.texi: Likewise.
23414         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
23415
23416 2008-02-24  Bruno Haible  <bruno@clisp.org>
23417
23418         * modules/environ-tests: New file.
23419         * tests/test-environ.c: New file.
23420
23421         New module 'environ'.
23422         * modules/environ: New file.
23423         * lib/unistd.in.h (environ): New declaration.
23424         * m4/environ.m4: New file.
23425         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
23426         after use.
23427         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
23428         HAVE_DECL_ENVIRON.
23429         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
23430         HAVE_DECL_ENVIRON.
23431         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
23432         wrong claim that 'environ' is missing on some systems.
23433         * modules/execute (Depends-on): Add environ.
23434         * lib/execute.c (environ): Remove fallback declaration.
23435         * modules/pipe (Depends-on): Add environ.
23436         * lib/pipe.c (environ): Remove fallback declaration.
23437         * modules/setenv (Depends-on): Add environ.
23438         * lib/setenv.c (environ): Remove fallback declaration.
23439         * modules/unsetenv (Depends-on): Add environ.
23440         * lib/unsetenv.c (environ): Remove fallback declaration.
23441         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
23442         m4/environ.m4.
23443         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
23444         (gl_PREREQ_UNSETENV): Likewise.
23445
23446 2008-02-24  Bruno Haible  <bruno@clisp.org>
23447
23448         * doc/posix-functions/environ.texi: Document the MacOS X problem.
23449
23450 2008-02-20  Bob Proulx  <bob@proulx.com>
23451
23452         Enable use of older two part flavor 'git describe'.
23453         * build-aux/git-version-gen: If using the older two part flavor of
23454         git version then recreate the third part now present in the
23455         newer three part flavor of git describe.
23456
23457 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
23458
23459         * lib/fts.c (fts_build): Typo correction to comment.
23460
23461 2008-02-17  Bruno Haible  <bruno@clisp.org>
23462
23463         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
23464         generating no-op conflicts.
23465
23466 2008-02-17  Bruno Haible  <bruno@clisp.org>
23467
23468         Speed up by 10%.
23469         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
23470         result_entries, rather than an index-based loop.
23471
23472 2008-02-17  Bruno Haible  <bruno@clisp.org>
23473
23474         Speed up by 25%.
23475         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
23476         'hashcode_cached'.
23477         (entry_create): New function.
23478         (entry_hashcode): Use the cached hashcode if possible.
23479         (read_changelog_file, try_split_merged_entry): Use entry_create.
23480
23481 2008-02-17  Bruno Haible  <bruno@clisp.org>
23482
23483         Speed up from O(n^2) to O(n) for long ChangeLog files.
23484         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
23485         (read_changelog_file): Change implementation of entries_reversed list
23486         to rbtreehash.
23487         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
23488
23489 2008-02-17  Bruno Haible  <bruno@clisp.org>
23490
23491         New option --split-merged-entry.
23492         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
23493         (find_paragraph_end, try_split_merged_entry): New functions.
23494         (long_options): Add option --split-merged-entry.
23495         (usage): Document option --split-merged-entry.
23496         (main): Implement option --split-merged-entry.
23497         Reported by Eric Blake.
23498
23499 2008-02-17  Bruno Haible  <bruno@clisp.org>
23500
23501         * lib/git-merge-changelog.c: Include c-strstr.h.
23502         (main): Support the "git pull --rebase" situation.
23503         * modules/git-merge-changelog (Depends-on): Add c-strstr.
23504         Reported by Eric Blake.
23505
23506 2008-02-16  Eric Blake  <ebb9@byu.net>
23507
23508         Avoid doubling \ in common case of "c-maybe" quoting style.
23509         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
23510         eliding outer quotes.
23511         * lib/quotearg.h: Document this.
23512         * tests/test-quotearg.c (result_strings, inputs, results_g)
23513         (flag_results, locale_results): Test it by adding a new string to
23514         each test group.
23515         (compare_strings): Test new string.
23516
23517 2008-02-13  Eric Blake  <ebb9@byu.net>
23518
23519         Avoid trigraph quoting in default output.
23520         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
23521         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
23522         unless explicitly requested.
23523         * tests/test-quotearg.c (flag_results, main): Add additional tests.
23524
23525 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
23526
23527         Don't rely on signed integer overflowing to negative value.
23528         * lib/getugroups.c (getugroups): Include <limits.h>.
23529         Instead, compare against INT_MAX, and increment only if the test passes.
23530
23531 2008-02-13  Jim Meyering  <meyering@redhat.com>
23532         and Eric Blake  <ebb9@byu.net>
23533
23534         Avoid shadowing warning and compile errors on Linux.
23535         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
23536         forwarding macros on Linux.
23537         (dcgettext): Define a stub, for Linux.
23538         (results_g, main): Avoid warnings.
23539
23540 2008-02-12  Eric Blake  <ebb9@byu.net>
23541
23542         Silence warning in last patch.
23543         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
23544
23545         Quotearg part 4: add tests, fix c-maybe colon quoting.
23546         * lib/quotearg.h: Improve documentation.
23547         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
23548         escapes when adding outer quotes.  When quoting trigraphs, use
23549         valid C notation.  When quoting NUL, omit extra characters if next
23550         character is not digit.  Alter prototype.
23551         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
23552         callers.
23553         * modules/quotearg-tests: New module.
23554         * tests/test-quotearg.c: New test.
23555
23556 2008-02-07  Eric Blake  <ebb9@byu.net>
23557
23558         Quotearg part 3: add flag to control outer quote elision.
23559         * lib/quotearg.h (c_maybe_quoting_style): New style.
23560         (enum quoting_flags): Better documentation of flags.
23561         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
23562         c-maybe style.
23563         (quotearg_buffer_restyled): Handle new flag to elide outer
23564         quotes.
23565
23566         Quotearg part 2: add flag that can control NUL elision.
23567         * lib/quotearg.h (set_quoting_flags): New prototype.
23568         * lib/quotearg.c (struct quoting_options): Add flag field.
23569         (set_quoting_flags): New function.
23570         (quotearg_buffer_restyled): Add flags parameter.
23571         (quotearg_alloc_mem): Set the flag if length cannot be returned.
23572         (quotearg_n_options): Set the flag, since length cannot be
23573         returned.
23574         (quoting_options_from_style): Default flags correctly.
23575
23576         Quotearg part 1: more wrappers, restore quotearg_char state.
23577         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
23578         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
23579         (quotearg_colon_mem): New wrappers.
23580         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
23581         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
23582         functions.
23583         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
23584         (quotearg_colon_mem): New functions.
23585
23586 2008-02-11  Bruno Haible  <bruno@clisp.org>
23587
23588         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
23589         library in the current directory: it does not work with parallel make.
23590         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
23591
23592 2008-02-11  Bruno Haible  <bruno@clisp.org>
23593
23594         * .gitattributes: New file.
23595
23596 2008-02-11  Jim Meyering  <meyering@redhat.com>
23597
23598         useless-if-before-free: Fix reversed exit values.
23599         * build-aux/useless-if-before-free: Use correct values
23600         for EXIT_MATCH and EXIT_NO_MATCH.
23601
23602         * build-aux/useless-if-before-free: Close stdout carefully.
23603
23604 2008-02-10  Bruno Haible  <bruno@clisp.org>
23605
23606         New module 'git-merge-changelog'.
23607         * modules/git-merge-changelog: New file.
23608         * lib/git-merge-changelog.c: New file.
23609
23610 2008-02-10  Jim Meyering  <meyering@redhat.com>
23611
23612         useless-if-before-free: New option: --list (-l).
23613
23614         useless-if-before-free: Don't exit immediately upon open failure.
23615         * build-aux/useless-if-before-free: Exit 2 for errors.
23616         Upon failure to open a file, don't exit immediately.
23617         Rather, just warn and continue with any remaining files.
23618
23619 2008-02-10  Bruno Haible  <bruno@clisp.org>
23620
23621         New abstract list operation 'node_set_value'.
23622         * lib/gl_list.h (gl_list_node_set_value): New function.
23623         (struct gl_list_implementation): New field node_set_value.
23624         * lib/gl_list.c (gl_list_node_set_value): New function.
23625         * lib/gl_array_list.c (gl_array_node_set_value): New function.
23626         (gl_array_list_implementation): Update.
23627         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
23628         (gl_carray_list_implementation): Update.
23629         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
23630         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
23631         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
23632         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
23633         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
23634         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
23635         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
23636         Update.
23637         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
23638         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
23639         (gl_sublist_list_implementation): Update.
23640
23641 2008-02-10  Bruno Haible  <bruno@clisp.org>
23642
23643         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
23644         Needed when ELEMENT is #defined to 'some_type *'.
23645
23646 2008-02-10  Jim Meyering  <meyering@redhat.com>
23647
23648         New script and module: useless-if-before-free
23649         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
23650         * build-aux/useless-if-before-free: New file.
23651         * modules/useless-if-before-free: New file.
23652
23653         * build-aux/gitlog-to-changelog: Use committer date, not author date.
23654
23655         xstrtol_error: Fix typo.
23656         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
23657         s/exit_failure/exit_status/.
23658
23659 2008-02-09  Jim Meyering  <meyering@redhat.com>
23660
23661         New script and module: gitlog-to-changelog
23662         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
23663         * modules/gitlog-to-changelog: New file.
23664         * build-aux/gitlog-to-changelog: New file.
23665
23666 2008-02-08  Jim Meyering  <meyering@redhat.com>
23667
23668         Avoid two "parameter unused" warnings.
23669         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
23670         Mark "st" as used.
23671
23672         Use "git COMMAND", not "git-COMMAND".
23673         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
23674         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
23675         * build-aux/git-version-gen: Use "git status", not "git-status".
23676
23677 2008-02-07  Bruno Haible  <bruno@clisp.org>
23678
23679         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
23680         Avoids a crash on Windows Vista.
23681         Reported by Adam Strzelecki <ono@java.pl> via
23682         Simon Josefsson <simon@josefsson.org>.
23683
23684 2008-02-06  Bruno Haible  <bruno@clisp.org>
23685
23686         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
23687         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
23688         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
23689         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
23690         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
23691         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
23692         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
23693         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
23694         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
23695         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
23696         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
23697         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
23698         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
23699         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
23700         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
23701         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
23702         left-adjust flag.
23703         * tests/test-snprintf-posix.h (test_function): Likewise.
23704         * tests/test-sprintf-posix.h (test_function): Likewise.
23705         * tests/test-vasprintf-posix.c (test_function): Likewise.
23706         * doc/posix-functions/fprintf.texi: Update.
23707         * doc/posix-functions/printf.texi: Update.
23708         * doc/posix-functions/snprintf.texi: Update.
23709         * doc/posix-functions/sprintf.texi: Update.
23710         * doc/posix-functions/vfprintf.texi: Update.
23711         * doc/posix-functions/vprintf.texi: Update.
23712         * doc/posix-functions/vsnprintf.texi: Update.
23713         * doc/posix-functions/vsprintf.texi: Update.
23714         Reported by Peter Fales <psfales@alcatel-lucent.com>.
23715
23716 2008-02-06  Bruno Haible  <bruno@clisp.org>
23717
23718         Fix bug introduced on 2008-01-26.
23719         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
23720
23721 2008-02-06  Bruno Haible  <bruno@clisp.org>
23722
23723         Fix bug introduced on 2007-06-10.
23724         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
23725         !NEED_PRINTF_FLAG_ZERO.
23726
23727 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
23728
23729         getloadavg: use libperfstat on AIX5
23730         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
23731
23732 2008-02-03  Bruno Haible  <bruno@clisp.org>
23733
23734         * lib/diffseq.h: Add comments about required #includes.
23735         Reported by Michael Biggs <gnulib@doubleplum.net>.
23736
23737 2008-02-01  Bruno Haible  <bruno@clisp.org>
23738
23739         * users.txt: Add gnuit.
23740
23741 2008-01-31  Bruno Haible  <bruno@clisp.org>
23742
23743         * lib/md4.c (set_uint32): Mark as inline.
23744         * lib/md5.c (set_uint32): Likewise.
23745         * lib/sha1.c (set_uint32): Likewise.
23746         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
23747         * m4/md5.m4 (gl_MD5): Likewise.
23748         * m4/sha1.m4 (gl_SHA1): Likewise.
23749
23750 2008-01-31  Jim Meyering  <meyering@redhat.com>
23751
23752         Use "sizeof VAR", rather than a literal "4".
23753         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
23754         * lib/md4.c (md4_read_ctx): Likewise.
23755         * lib/sha1.c (sha1_read_ctx): Likewise.
23756
23757 2008-01-31  Simon Josefsson  <simon@josefsson.org>
23758
23759         * tests/test-sha1.c: New file, based on test-md5.c.
23760
23761         * modules/crypto/sha1-tests: New file.
23762
23763 2008-01-31  Simon Josefsson  <simon@josefsson.org>
23764
23765         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
23766
23767 2008-01-31  Jim Meyering  <meyering@redhat.com>
23768
23769         Prefer "sizeof v" over the equivalent "4".
23770         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
23771         * lib/md5.c (set_uint32): Likewise.
23772         * lib/sha1.c (set_uint32): Likewise.
23773
23774 2008-01-31  Simon Josefsson  <simon@josefsson.org>
23775
23776         * lib/sha1.c (set_uint32): Mark function as static.
23777
23778 2008-01-31  Simon Josefsson  <simon@josefsson.org>
23779
23780         md2: clarify comments to say that alignment is not required.
23781         * lib/md2.h: Remove warning about alignment in comment.
23782         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
23783         never been required.
23784
23785 2008-01-31  Simon Josefsson  <simon@josefsson.org>
23786
23787         md4: adapt alignment constraint fix from sha1.
23788         * lib/md4.c (set_uint32): New function, from sha1.c
23789         (md4_read_ctx): Use it.
23790         (md4_finish_ctx): Doc fix.
23791         * lib/md4.h: Doc fix.
23792
23793 2008-01-31  Simon Josefsson  <simon@josefsson.org>
23794
23795         md5: adapt alignment constraint fix from sha1.
23796         * lib/md5.c (set_uint32): New function, from sha1.c
23797         (md5_read_ctx): Use it.
23798         (md5_finish_ctx): Doc fix.
23799         * lib/md5.h: Doc fix.
23800
23801 2008-01-30  Peter Palfrader  <weasel@debian.org>
23802
23803         sha1: remove the result buffer alignment constraint
23804         * lib/sha1.c (set_uint32): New function.
23805         (sha1_read_ctx): Rewrite to remove the result buffer alignment
23806         constraint.
23807         (sha1_finish_ctx): Remove comment warning about alignment constraint.
23808         * lib/sha1.h: Likewise.
23809
23810 2008-01-30  Andreas Schwab  <schwab@suse.de>
23811             Bruno Haible  <bruno@clisp.org>
23812
23813         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
23814         correct definition of LDBL_MIN_EXP.
23815
23816 2008-01-30  Karl Berry  <karl@gnu.org>
23817
23818         * config/srclist-update: try to preserve x bit on updates.
23819         * config/srclistvars.sh: update for karl.
23820
23821 2008-01-29  Jim Meyering  <meyering@redhat.com>
23822
23823         vasnprintf.c: Avoid warning about unused label
23824         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
23825         "overflow" label definition and associated code with the
23826         same cpp condition that guards the sole use of that label.
23827
23828 2008-01-26  Bruno Haible  <bruno@clisp.org>
23829
23830         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
23831         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
23832         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
23833         * lib/isnanl-nolibm.h (isnanl): Likewise.
23834         Reported by Paul Eggert <eggert@cs.ucla.edu>.
23835
23836 2008-01-26  Bruno Haible  <bruno@clisp.org>
23837
23838         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
23839         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
23840
23841 2008-01-26  Bruno Haible  <bruno@clisp.org>
23842
23843         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
23844         GCC >= 4.0 built-in.
23845         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
23846
23847 2008-01-26  Bruno Haible  <bruno@clisp.org>
23848
23849         Rename isnan, applicable to 'double' only, to isnand.
23850         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
23851         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
23852         (configure.ac): Update.
23853         (Include): Replace "isnan.h" with "isnand.h".
23854         * m4/isnand.m4: Renamed from m4/isnan.m4.
23855         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
23856         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
23857         instead of isnan.c.
23858         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
23859         instead of HAVE_ISNAN_IN_LIBC.
23860         (isnand): Renamed from isnan.
23861         * lib/isnand.c: New file.
23862         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
23863         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
23864         (Makefile.am): Update.
23865         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
23866         Include isnand.h instead of isnan.h.
23867         (main): Test isnand instead of isnan.
23868         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
23869         isnan-nolibm.
23870         * modules/frexp (Depends-on): Likewise.
23871         * modules/frexp-tests (Depends-on): Likewise.
23872         * modules/frexp-nolibm (Depends-on): Likewise.
23873         * modules/frexp-nolibm-tests (Depends-on): Likewise.
23874         * modules/isfinite (Depends-on): Likewise.
23875         * modules/round-tests (Depends-on): Likewise.
23876         * modules/signbit (Depends-on): Likewise.
23877         * modules/signbit-tests (Depends-on): Likewise.
23878         * modules/snprintf-posix (Depends-on): Likewise.
23879         * modules/sprintf-posix (Depends-on): Likewise.
23880         * modules/trunc-tests (Depends-on): Likewise.
23881         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
23882         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
23883         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
23884         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
23885         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
23886         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
23887         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
23888         * modules/vasnprintf-posix (Depends-on): Likewise.
23889         * modules/vasprintf-posix (Depends-on): Likewise.
23890         * modules/vfprintf-posix (Depends-on): Likewise.
23891         * modules/vsnprintf-posix (Depends-on): Likewise.
23892         * modules/vsprintf-posix (Depends-on): Likewise.
23893         * lib/frexp.c: Include isnand.h instead of isnan.h.
23894         (ISNAN): Set to isnand instead of isnan.
23895         * lib/isfinite.c: Include isnand.h instead of isnan.h.
23896         (gl_isfinited): Use isnand instead of isnan.
23897         * lib/signbitd.c: Include isnand.h instead of isnan.h.
23898         (gl_signbitd): Use isnand instead of isnan.
23899         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
23900         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
23901         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
23902         (main): Use isnand instead of isnan.
23903         * tests/test-round1.c: Include isnand.h.
23904         (main): Use isnand instead of isnan.
23905         * tests/test-round2.c: Include isnand.h instead of isnan.h.
23906         (ISNAN): Set to isnand instead of isnan.
23907         * tests/test-trunc1.c: Include isnand.h.
23908         (main): Use isnand instead of isnan.
23909         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
23910         (equal): Use isnand instead of isnan.
23911         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
23912         isnand-nolibm.
23913         * NEWS: Mention the change.
23914
23915 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
23916             Bruno Haible  <bruno@clisp.org>
23917
23918         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
23919         the GCC builtins for signbits are present and set
23920         REPLACE_SIGNBIT_USING_GCC if so.
23921         * lib/math.in.h (signbit): Define using GCC builtins if
23922         REPLACE_SIGNBIT_USING_GCC is set.
23923         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
23924         REPLACE_SIGNBIT_USING_GCC.
23925         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
23926
23927 2008-01-25  Jim Meyering  <meyering@redhat.com>
23928
23929         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
23930         * lib/poll.c: Include <config.h>, not "config.h".
23931         * tests/test-getaddrinfo.c: Likewise.
23932
23933 2008-01-25  Simon Josefsson  <simon@josefsson.org>
23934
23935         * modules/sockets-tests: New file.
23936
23937 2008-01-24  Simon Josefsson  <simon@josefsson.org>
23938
23939         * modules/sockets: New module, can be used to call WSA_Startup and
23940         WSA_Cleanup when needed.
23941
23942         * lib/sockets.h, lib/sockets.c: New files.
23943
23944         * m4/sockets.m4: New file.
23945
23946         * tests/test-sockets.c: New file.
23947
23948 2008-01-19  Bruno Haible  <bruno@clisp.org>
23949
23950         * doc/posix-headers: Renamed from doc/headers.
23951         * doc/posix-functions: Renamed from doc/functions.
23952         * doc/gnulib.texi: Update.
23953
23954 2008-01-19  Bruno Haible  <bruno@clisp.org>
23955
23956         * doc/glibc-functions/strcasestr.texi: Include contents of
23957         doc/functions/strcasestr.texi, fixing the list of platforms.
23958         * doc/functions/strcasestr.texi: Remove file.
23959
23960 2008-01-19  Bruno Haible  <bruno@clisp.org>
23961
23962         * doc/glibc-functions/memmem.texi: Include contents of
23963         doc/functions/memmem.texi.
23964         * doc/functions/memmem.texi: Remove file.
23965
23966 2008-01-18  Bruno Haible  <bruno@clisp.org>
23967
23968         * doc/glibc-functions/*.texi: New files.
23969         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
23970         to use the new files.
23971
23972 2008-01-17  Bruno Haible  <bruno@clisp.org>
23973
23974         * tests/test-gethostname.c (main): Fix printf statement.
23975
23976 2008-01-17  Simon Josefsson  <simon@josefsson.org>
23977
23978         * modules/gethostname-tests: New file.
23979
23980         * tests/test-gethostname.c: New file.
23981
23982 2008-01-17  Simon Josefsson  <simon@josefsson.org>
23983
23984         * lib/gethostname.c: Include string.h unconditionally, strncpy is
23985         used by the UNAME case.  Reported by Bruno Haible
23986         <bruno@clisp.org>.
23987
23988 2008-01-17  Eric Blake  <ebb9@byu.net>
23989
23990         Convert c-strcasestr to be more efficient.
23991         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
23992         (Depends-on): Add c-strcase, remove malloca, strnlen.
23993         * tests/test-c-strcasestr.c (main): Enhance test.
23994         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
23995
23996 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
23997
23998         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
23999         Use it in creating po/Makevars.
24000
24001 2008-01-15  Simon Josefsson  <simon@josefsson.org>
24002
24003         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
24004         Applications that requires it should initialize libgcrypt
24005         manually.
24006
24007 2008-01-16  Simon Josefsson  <simon@josefsson.org>
24008
24009         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
24010
24011 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
24012
24013         Fix problem with getdate on mingw32 reported by Simon Josefsson
24014         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
24015         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
24016         tzname", when deciding whether to declare tzname.
24017         * lib/strftime.c (tzname): Likewise.
24018
24019 2008-01-15  Bruno Haible  <bruno@clisp.org>
24020
24021         Work around a MacOS X 10.5 bug in frexpl().
24022         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
24023         * doc/functions/frexpl.texi: Document the bug.
24024         Reported by Elias Pipping <pipping@gentoo.org>.
24025
24026 2008-01-14  Eric Blake  <ebb9@byu.net>
24027
24028         Touch up previous patch.
24029         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
24030         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
24031
24032         Convert strcasestr module to use Two-Way algorithm.
24033         * modules/strcasestr-simple: New module, based on the old
24034         strcasestr, but with Two-Way rather than KMP.
24035         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
24036         * lib/string.in.h (rpl_strcasestr): Declare.
24037         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
24038         performance.
24039         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
24040         * modules/string (Makefile.am): Support strcasestr.
24041         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
24042         * modules/strcasestr-tests (Depends-on): Check for alarm.
24043         * tests/test-strcasestr.c: Augment test.
24044         * lib/str-two-way.h: Clean up stray macro.
24045         * NEWS: Document new module.
24046         * MODULES.html.sh (string handling): Likewise.
24047         * doc/functions/strcasestr.texi: New file.
24048         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
24049         here, since it is not a POSIX function.
24050
24051 2008-01-14  Colin Watson  <cjwatson@debian.org>
24052             Bruno Haible  <bruno@clisp.org>
24053
24054         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
24055         works fine; if not, set REPLACE_STRSIGNAL.
24056         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
24057         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
24058         REPLACE_STRSIGNAL.
24059         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
24060         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
24061         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
24062
24063 2008-01-14  Bruno Haible  <bruno@clisp.org>
24064
24065         * modules/strsignal (Include): Change to <string.h>.
24066
24067 2008-01-14  Colin Watson  <cjwatson@debian.org>
24068
24069         * modules/argp (Notice): Add a notice recommending to change
24070         XGETTEXT_OPTIONS.
24071         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
24072
24073 2008-01-13  Colin Watson  <cjwatson@debian.org>
24074
24075         * modules/strsignal-tests: New file.
24076         * tests/test-strsignal.c: New file.
24077
24078         * lib/strsignal.c: New file, from glibc with modifications.
24079         * lib/siglist.h: New file, from glibc with modifications.
24080         * lib/string.in.h (strsignal): New declaration.
24081         * m4/strsignal.m4: New file.
24082         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
24083         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
24084         * modules/strsignal: New file.
24085         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
24086         HAVE_DECL_STRSIGNAL.
24087
24088 2008-01-13  Bruno Haible  <bruno@clisp.org>
24089
24090         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
24091         locale encoding is not ASCII. Needed for OpenBSD 4.0.
24092         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
24093         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
24094
24095 2008-01-13  Bruno Haible  <bruno@clisp.org>
24096
24097         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
24098         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
24099         * lib/argp.h (__attribute__): Likewise.
24100         * lib/c-stack.c (__attribute__): Likewise.
24101         * lib/error.h (__attribute__): Likewise.
24102         * lib/fts.c (__attribute__): Likewise.
24103         * lib/openat.h (__attribute__): Likewise.
24104         * lib/stdio.in.h (__attribute__): Likewise.
24105         * lib/string.in.h (__attribute__): Likewise.
24106         * lib/utimens.c (__attribute__): Likewise.
24107         * lib/vasnprintf.h (__attribute__): Likewise.
24108         * lib/xalloc.h (__attribute__): Likewise.
24109         * lib/xprintf.h (__attribute__): Likewise.
24110         * lib/xstrtol.h (__attribute__): Likewise.
24111         * lib/xvasprintf.h (__attribute__): Likewise.
24112
24113 2008-01-12  Bruno Haible  <bruno@clisp.org>
24114
24115         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
24116         * doc/glibc-headers/a.out.texi: New file.
24117         * doc/glibc-headers/aliases.texi: New file.
24118         * doc/glibc-headers/alloca.texi: New file.
24119         * doc/glibc-headers/ar.texi: New file.
24120         * doc/glibc-headers/argp.texi: New file.
24121         * doc/glibc-headers/argz.texi: New file.
24122         * doc/glibc-headers/byteswap.texi: New file.
24123         * doc/glibc-headers/crypt.texi: New file.
24124         * doc/glibc-headers/endian.texi: New file.
24125         * doc/glibc-headers/envz.texi: New file.
24126         * doc/glibc-headers/err.texi: New file.
24127         * doc/glibc-headers/error.texi: New file.
24128         * doc/glibc-headers/execinfo.texi: New file.
24129         * doc/glibc-headers/fpu_control.texi: New file.
24130         * doc/glibc-headers/fstab.texi: New file.
24131         * doc/glibc-headers/fts.texi: New file.
24132         * doc/glibc-headers/getopt.texi: New file.
24133         * doc/glibc-headers/ieee754.texi: New file.
24134         * doc/glibc-headers/ifaddrs.texi: New file.
24135         * doc/glibc-headers/libintl.texi: New file.
24136         * doc/glibc-headers/mcheck.texi: New file.
24137         * doc/glibc-headers/mntent.texi: New file.
24138         * doc/glibc-headers/obstack.texi: New file.
24139         * doc/glibc-headers/paths.texi: New file.
24140         * doc/glibc-headers/printf.texi: New file.
24141         * doc/glibc-headers/pty.texi: New file.
24142         * doc/glibc-headers/resolv.texi: New file.
24143         * doc/glibc-headers/shadow.texi: New file.
24144         * doc/glibc-headers/sysexits.texi: New file.
24145         * doc/glibc-headers/ttyent.texi: New file.
24146
24147 2008-01-12  Jim Meyering  <meyering@redhat.com>
24148
24149         announce-gen: emit Gnulib's git-based version string.
24150         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
24151         New option --gnulib-version=V, where V is expected to be
24152         the output of running git describe in the gnulib directory.
24153         (get_tool_versions): Request feedback on xdelta.  I suspect it's
24154         not useful, and plan to stop publishing an xdelta file with each
24155         coreutils release.
24156
24157         * build-aux/announce-gen: Also check for lzma-compressed files.
24158
24159 2008-01-11  Bruno Haible  <bruno@clisp.org>
24160
24161         * tests/test-memmem.c (main): Increase maximum allowed time.
24162         * tests/test-strstr.c (main): Likewise.
24163
24164 2008-01-11  Bruno Haible  <bruno@clisp.org>
24165
24166         * doc/functions/memmem.texi: Add more precisions about platforms.
24167         * doc/functions/strstr.texi: Likewise.
24168
24169 2008-01-10  Eric Blake  <ebb9@byu.net>
24170
24171         * m4/strstr.m4: Delete cruft from copy-n-paste.
24172         Reported by Bruno Haible.
24173
24174 2008-01-10  Bruno Haible  <bruno@clisp.org>
24175
24176         Make c-strstr rely on strstr.
24177         * lib/c-strstr.c: Don't include str-kmp.h.
24178         (c_strstr): Define in terms of strstr.
24179         * modules/c-strstr (Files): Remove lib/str-kmp.h.
24180         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
24181
24182 2008-01-10  Bruno Haible  <bruno@clisp.org>
24183
24184         * doc/gnulib.texi (String Functions in C Locale): New section.
24185         * doc/c-ctype.texi: New file.
24186         * doc/c-strcase.texi: New file.
24187         * doc/c-strcaseeq.texi: New file.
24188         * doc/c-strcasestr.texi: New file.
24189         * doc/c-strstr.texi: New file.
24190         * doc/c-strtod.texi: New file.
24191         * doc/c-strtold.texi: New file.
24192
24193 2008-01-10  Eric Blake  <ebb9@byu.net>
24194
24195         * lib/relocatable.h: Fix a comment.
24196
24197 2008-01-10  Eric Blake  <ebb9@byu.net>
24198
24199         Share two-way algorithm.
24200         * lib/str-two-way.h: New file, merged from...
24201         * lib/memmem.c: ...here...
24202         * lib/strstr.c: ...and here.
24203         * modules/memmem (Files): Use it.
24204         * modules/strstr (Files): Likewise.
24205
24206         Avoid quadratic strstr implementations.
24207         * lib/strstr.c: New file.
24208         * m4/strstr.m4: Likewise.
24209         * modules/strstr: Likewise.
24210         * modules/strstr-tests: Likewise.
24211         * tests/test-strstr.c: Likewise.
24212         * lib/string.in.h (rpl_strstr): Declare.
24213         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
24214         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
24215         * modules/string (Makefile.am): Likewise.
24216         * MODULES.html.sh (string handling): Mention new module.
24217         * doc/functions/strstr.texi (strstr): Document the bug.
24218
24219 2008-01-10  Bruno Haible  <bruno@clisp.org>
24220
24221         * lib/relocatable.h (relocate): State whether result is freshly
24222         allocated or not.
24223         * lib/relocatable.c (relocate): Return a freshly allocated string
24224         instead of a pointer to a privately held string.
24225         Reported by Sylvain Beucler <beuc@gnu.org>.
24226
24227 2008-01-10  Colin Watson  <cjwatson@debian.org>
24228
24229         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
24230         s/S_ISNLK/S_ISLNK/.
24231
24232 2008-01-09  Bruno Haible  <bruno@clisp.org>
24233
24234         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
24235         and other files.
24236         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
24237         if it's only a guess.
24238         * modules/memmem: Simplify by depending on memmem-simple.
24239
24240 2008-01-09  Bruno Haible  <bruno@clisp.org>
24241
24242         Work around OpenBSD 4.0 tdelete() bug.
24243         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
24244         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
24245         macros and don't redefine the enum values.
24246         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
24247         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
24248         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
24249
24250 2008-01-09  Bruno Haible  <bruno@clisp.org>
24251
24252         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
24253         (main): Don't perform the tests if setlocale did not install a UTF-8
24254         locale. Needed on OpenBSD 4.0.
24255         * modules/wcwidth-tests (Depends-on): Add localcharset.
24256
24257 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
24258
24259         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
24260         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
24261         * NEWS: announce this.
24262         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
24263
24264 2008-01-09  Simon Josefsson  <simon@josefsson.org>
24265         and Eric Blake  <ebb9@byu.net>
24266
24267         Add memmem-simple module.
24268         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
24269         (gl_FUNC_MEMMEM): Separate performance from presence checks.
24270         * modules/memmem-simple: New file.
24271         * modules/memmem (Description): Tweak.
24272         * MODULES.html.sh (string handling): Mention new module.
24273         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
24274         addressed by memmem-simple.
24275         * NEWS: Document the difference.
24276
24277 2008-01-09  Eric Blake  <ebb9@byu.net>
24278
24279         Give gcc some memmem optimization hints.
24280         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
24281         (strcasestr): Declare as pure.
24282         * modules/memmem (Maintainer): Claim my implementation.
24283
24284 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24285
24286         Support AIX 6.1 and higher.
24287         * build-aux/config.libpath: Likewise.
24288         * build-aux/config.rpath: Likewise.
24289
24290 2008-01-08  Jim Meyering  <meyering@redhat.com>
24291             Bruno Haible  <bruno@clisp.org>
24292
24293         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
24294         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
24295         Reported by Peter Fales in
24296         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
24297
24298 2008-01-08  Bruno Haible  <bruno@clisp.org>
24299
24300         * modules/unictype/category-of (Depends-on): Add
24301         unictype/category-none.
24302         * modules/unictype/category-and-tests (Depends-on): Add
24303         unictype/category-{L,N,Lu,Nd}.
24304         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
24305         * modules/unictype/category-or-tests (Depends-on): Add
24306         unictype/category-{L,N}.
24307         * modules/unictype/category-name-tests (Depends-on): Add
24308         unictype/category-{Z,Nl}.
24309         Reported by Simon Josefsson.
24310
24311 2008-01-08  Bruno Haible  <bruno@clisp.org>
24312
24313         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
24314         convention better.
24315         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
24316         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
24317         Reported by Peter Miller <millerp@canb.auug.org.au>.
24318
24319 2008-01-08  Eric Blake  <ebb9@byu.net>
24320
24321         Rewrite memmem to guarantee linear complexity without malloc.
24322         * lib/memmem.c (memmem): Use Two-Way rather than
24323         Knuth-Morris-Pratt, to allow O(1) space usage.
24324         (critical_factorization, two_way_short_needle)
24325         (two_way_long_needle): New functions.
24326         (knuth_morris_pratt): Delete.
24327         * modules/memmem (Depends-on): No longer need malloca or stdbool.
24328         Add stdint.
24329         * tests/test-memmem.c (main): Add tests for periodic needle and
24330         sublinear performance.
24331         * doc/functions/memmem.texi (memmem): Document other deficiencies
24332         in cygwin and older glibc.
24333
24334 2008-01-08  Bruno Haible  <bruno@clisp.org>
24335
24336         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
24337         augmentation.
24338
24339 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
24340
24341         Add a configure time option: --disable-acl.
24342         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
24343         AC_ARG_ENABLE(acl).
24344
24345 2008-01-06  Simon Josefsson  <simon@josefsson.org>
24346
24347         * tests/test-localename.c: Don't include obsolete "setenv.h".
24348
24349         * modules/localename-tests (Depends-on): Need unsetenv.
24350
24351 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24352
24353         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
24354
24355 2008-01-06  Colin Watson  <cjwatson@debian.org>
24356
24357         * users.txt: Add man-db.
24358
24359 2008-01-07  Bruno Haible  <bruno@clisp.org>
24360
24361         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
24362         previous section name.
24363
24364 2008-01-07  Bruno Haible  <bruno@clisp.org>
24365
24366         * lib/progname.c (set_program_name): Don't strip off a leading
24367         "lt-" prefix outside a .libs directory.
24368         Suggested by Paul Eggert.
24369
24370 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
24371             Bruno Haible  <bruno@clisp.org>
24372
24373         Improve memory cleanup in 'relocatable' module.
24374         * lib/relocatable.h (compute_curr_prefix): Change return type to
24375         'char *'.
24376         * lib/relocatable.c (compute_curr_prefix): Change return type to
24377         'char *'. Free curr_installdir after use.
24378         (relocate): Free curr_prefix_better after use.
24379         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
24380
24381 2008-01-01  Bruno Haible  <bruno@clisp.org>
24382
24383         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
24384         failure on older glibc systems.
24385         Reported by Peter Fales <psfales@alcatel-lucent.com>.
24386
24387 2008-01-05  Eric Blake  <ebb9@byu.net>
24388
24389         Avoid quadratic system memmem.
24390         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
24391         Reported by Ralf Wildenhues.
24392
24393         Fix memmem test for mingw.
24394         * modules/memmem-tests (configure.ac): Check for alarm.
24395         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
24396         it.
24397         * doc/functions/memmem.texi: New file.
24398         * doc/gnulib.texi (Function Substitutes): Add memmem.
24399         Reported by Bruno Haible.
24400
24401 2008-01-04  Bruno Haible  <bruno@clisp.org>
24402
24403         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
24404         Require gl_HEADER_STRINGS_H_DEFAULTS, not
24405         gl_HEADER_STRING_H_DEFAULTS.
24406
24407 2008-01-04  Eric Blake  <ebb9@byu.net>
24408
24409         Shorten duration of memmem test.
24410         * tests/test-memmem.c (main): Use alarm to declare failure if test
24411         is taking too long.
24412         Reported by Ralf Wildenhues.
24413
24414 2007-12-21  Simon Josefsson  <simon@josefsson.org>
24415
24416         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
24417         string, needed by strerror.
24418
24419 2008-01-03  Colin Watson  <cjwatson@debian.org>
24420             Bruno Haible  <bruno@clisp.org>
24421
24422         * doc/gnulib-tool.texi (Localization): New section.
24423
24424 2008-01-02  Bruno Haible  <bruno@clisp.org>
24425
24426         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
24427         variables to 'unsigned char *' type.
24428         Reported by Paul Eggert.
24429
24430 2008-01-02  Jim Meyering  <jim@meyering.net>
24431
24432         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
24433
24434 2007-12-31  Jim Meyering  <jim@meyering.net>
24435
24436         Avoid use of private FTS type name.
24437         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
24438
24439 2007-12-30  Karl Berry  <karl@gnu.org>
24440
24441         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
24442         work around defect in Texinfo and/or the standalone Info browser.
24443
24444 2007-12-30  Bruno Haible  <bruno@clisp.org>
24445
24446         Unify 5 copies of the KMP code.
24447         * lib/str-kmp.h: New file.
24448         * lib/c-strcasestr.c: Include str-kmp.h.
24449         (knuth_morris_pratt): Remove function.
24450         (c_strcasestr): Update.
24451         * lib/c-strstr.c: Include str-kmp.h.
24452         (knuth_morris_pratt): Remove function.
24453         (c_strcasestr): Update.
24454         * lib/mbscasestr.c: Include str-kmp.h.
24455         (knuth_morris_pratt_unibyte): Remove function.
24456         * lib/mbsstr.c: Include str-kmp.h.
24457         (knuth_morris_pratt_unibyte): Remove function.
24458         * lib/strcasestr.c: Include str-kmp.h.
24459         (knuth_morris_pratt): Remove function.
24460         (strcasestr): Update.
24461         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
24462         * modules/c-strstr (Files): Likewise.
24463         * modules/mbscasestr (Files): Likewise.
24464         * modules/mbsstr (Files): Likewise.
24465         * modules/strcasestr (Files): Likewise.
24466         Suggested by Paul Eggert.
24467
24468 2007-12-30  Bruno Haible  <bruno@clisp.org>
24469
24470         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
24471         defined.
24472
24473 2007-12-30  Bruno Haible  <bruno@clisp.org>
24474
24475         * lib/xmalloca.h: Include xalloc.h.
24476         (xnmalloca): New macro.
24477
24478 2007-12-30  Bruno Haible  <bruno@clisp.org>
24479
24480         * lib/malloca.h (nmalloca): New macro.
24481         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
24482         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
24483         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
24484         knuth_morris_pratt_multibyte): Likewise.
24485         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
24486         knuth_morris_pratt_multibyte): Likewise.
24487         * lib/memmem.c (knuth_morris_pratt): Likewise.
24488         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
24489
24490 2007-12-25  Bruno Haible  <bruno@clisp.org>
24491
24492         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
24493         * lib/glob.c: Don't include openat.h.
24494         (link_exists2_p): Add back the code that deals with the
24495         !GLOB_ALTDIRFUNC case.
24496         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
24497         let it do the filename concatenation.
24498         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
24499         * modules/glob (Depends-on): Remove openat.
24500
24501 2007-12-31  Bruno Haible  <bruno@clisp.org>
24502
24503         * modules/dirfd (License): Change to LGPLv2+.
24504         Approved by Jim Meyering.
24505
24506 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
24507
24508         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
24509         when multiplying M by sizeof (size_t).
24510
24511 2007-12-10  Martin Lambers  <marlam@marlam.de>
24512
24513         Override getpagesize on mingw.
24514         * lib/getpagesize.c: New file.
24515         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
24516         * modules/getpagesize (Files): Add lib/getpagesize.c.
24517         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
24518         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24519         REPLACE_GETPAGESIZE.
24520         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
24521
24522 2007-12-25  Bruno Haible  <bruno@clisp.org>
24523
24524         * modules/localcharset (Notice): New field.
24525         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
24526         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
24527
24528 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
24529             Bruno Haible  <bruno@clisp.org>
24530
24531         Avoid using the syntax symbol() in formatted documentation.
24532         * MODULES.html.sh (func_module): When replacing symbol() with a
24533         hyperlink, remove the parentheses. Show an error if some remain.
24534         Recognize and render the '...' syntax.
24535         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
24536         Rework. Add paragraph about GCC's inlining.
24537         * doc/alloca.texi: Likewise.
24538         * doc/error.texi: Remove parentheses from symbol reference.
24539         * doc/gnulib-intro.texi: Likewise.
24540         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
24541         * modules/fnmatch (Description): Reword to say "the ... function".
24542         * modules/full-read (Description): Likewise.
24543         * modules/full-write (Description): Likewise.
24544         * modules/safe-read (Description): Likewise.
24545         * modules/safe-write (Description): Likewise.
24546         * modules/strchrnul (Description): Likewise.
24547         * modules/trim (Description): Likewise.
24548         * modules/error (Description): Remove parentheses from symbol
24549         references.
24550         * modules/verror (Description): Likewise.
24551         Reported by Karl Berry.
24552
24553 2007-12-25  Bruno Haible  <bruno@clisp.org>
24554
24555         Fixup after 2007-10-16 commit.
24556         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
24557
24558 2007-12-24  Bruno Haible  <bruno@clisp.org>
24559
24560         Make --enable-relocatable work with DESTDIR.
24561         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
24562         to compute installdir from destprog.
24563         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
24564         also set the RELOC_DESTDIR variable.
24565         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
24566
24567 2007-12-24  Bruno Haible  <bruno@clisp.org>
24568
24569         Fix link error due to xalloc_die().
24570         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
24571         of xreadlink.
24572         * lib/relocwrapper.c: Update comments.
24573         * build-aux/install-reloc: Remove xreadlink.c from file list.
24574         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
24575         xreadlink.c.
24576         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
24577
24578 2007-12-24  Bruno Haible  <bruno@clisp.org>
24579
24580         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
24581         * lib/setenv.h: Remove file.
24582         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
24583         lib/setenv.h.
24584         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
24585         (Depends-on): Add stdlib.
24586         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
24587         gl_FUNC_UNSETENV.
24588         (Include): Replace setenv.h with <stdlib.h>.
24589         * modules/unsetenv: New file.
24590         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
24591         * lib/unsetenv.c: Include <stdlib.h> first.
24592         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
24593         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
24594         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
24595         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
24596         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
24597         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
24598         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
24599         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
24600         * doc/functions/unsetenv.texi: Update.
24601         * modules/xsetenv (Depends-on): Add unsetenv.
24602         * modules/getdate (Depends-on): Likewise.
24603         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
24604         * lib/xsetenv.c: Don't include setenv.h.
24605         * lib/getdate.y: Likewise.
24606         * lib/relocwrapper.c: Likewise.
24607         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
24608         (Depends-on): Add stdlib.
24609         * NEWS: Mention the changes.
24610         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
24611
24612 2007-12-23  Bruno Haible  <bruno@clisp.org>
24613
24614         * lib/memmem.c (memmem): Use lowercase variable names. Tab
24615         indentation.
24616
24617 2007-12-23  Bruno Haible  <bruno@clisp.org>
24618
24619         * lib/c-strcasestr.c: Add more comments.
24620         * lib/c-strstr.c: Likewise.
24621         * lib/mbscasestr.c: Likewise.
24622         * lib/mbsstr.c: Likewise.
24623         * lib/strcasestr.c: Likewise.
24624         * lib/memmem.c: Likewise.
24625
24626 2007-12-23  Bruno Haible  <bruno@clisp.org>
24627
24628         * tests/test-memmem.c: Include <string.h> first.
24629
24630 2007-12-22  Bruno Haible  <bruno@clisp.org>
24631
24632         * gnulib-tool (func_create_testdir): Change $auxdir while generating
24633         the contents of $testsbase.
24634         Reported by Ralf Wildenhues.
24635
24636 2007-12-22  Bruno Haible  <bruno@clisp.org>
24637
24638         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
24639         two variables local_ldadd_before, local_ldadd_last.
24640
24641 2007-12-20  Eric Blake  <ebb9@byu.net>
24642
24643         Work around circular library issue when cross-compiling.
24644         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
24645         that progname.o does not need to pull in rpl_memcmp.
24646
24647 2007-12-19  Eric Blake  <ebb9@byu.net>
24648
24649         Fix memmem to avoid O(n^2) worst-case complexity.
24650         * lib/memmem.c (knuth_morris_pratt): New function.
24651         (memmem): Use it if first few naive iterations fail.
24652         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
24653         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
24654         * modules/memchr (License): Likewise.
24655         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
24656         malloca.
24657         * tests/test-memmem.c: Rewrite, borrowing ideas from
24658         test-mbsstr1.c; the old version wouldn't even compile!
24659         * modules/memmem-tests: New file.
24660         * lib/string.in.h (rpl_memmem): Add declaration.
24661         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
24662         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
24663         REPLACE_MEMMEM.
24664
24665 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
24666
24667         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
24668         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
24669         before any system include files, and undef after them all.  This
24670         should fix a problem on VMS reported by John E. Malmberg in
24671         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
24672
24673 2007-12-17  Eric Blake  <ebb9@byu.net>
24674
24675         Revert addition of verify, for BSD/OS.
24676         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
24677         can't handle large files, for the sake of obsolete platforms.
24678         * modules/fseeko (Depends-on): Remove verify.
24679         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
24680         * doc/functions/ftello.texi (ftello): Likewise.
24681         * doc/functions/fgetpos.texi (fgetpos): Likewise.
24682         Reported by Larry Jones.
24683
24684 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
24685
24686         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
24687         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
24688
24689 2007-12-17  Jim Meyering  <meyering@redhat.com>
24690
24691         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
24692         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
24693         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
24694         * modules/getcwd (Depends-on): Add openat.
24695         Reported by Petr Salinger.
24696
24697 2007-12-17  Bruno Haible  <bruno@clisp.org>
24698
24699         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
24700         avoid a segmentation fault of the configure test on x86_64 systems.
24701
24702 2007-12-15  Jim Meyering  <meyering@redhat.com>
24703
24704         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
24705
24706 2007-12-13  Eric Blake  <ebb9@byu.net>
24707
24708         Another fseek test.
24709         * tests/test-fseek.c (main): Also test ungetc handling.
24710         * tests/test-fseeko.c (main): Likewise.
24711         * modules/fseeko (Depends-on): Add verify.
24712         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
24713         large.
24714         Reported by Larry Jones.
24715
24716         Fix fseeko on mingw.
24717         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
24718         seek.
24719
24720         Beef up fseek tests.
24721         * tests/test-fseek.c (main): Also test eof handling.
24722         * tests/test-fseeko.c (main): Likewise.
24723         Reported by Larry Jones.
24724
24725 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
24726
24727         Fix fseeko on BSD-based platforms.
24728         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
24729         successful seek.
24730
24731 2007-12-12  Eric Blake  <ebb9@byu.net>
24732
24733         Allow circular dependency of separate libtests.a
24734         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
24735         when use_libtests.
24736
24737 2007-12-11  Eric Blake  <ebb9@byu.net>
24738
24739         Fix bug with -0.0L in previous patch.
24740         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
24741         * tests/test-isnan.c (main): Also test on zeroes.
24742         * tests/test-isnanf.c (main): Likewise.
24743         * tests/test-isnanl.h (main): Likewise.
24744
24745         Detect pseudo-denormals on x86 even when cross-compiling.
24746         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
24747         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
24748         invalid bit patterns that happen to satisfy ==.
24749
24750         Avoid link failures with separate libtests.a.
24751         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
24752         last, to satisfy circular dependencies.
24753
24754 2007-12-11  Eric Blake  <ebb9@byu.net>
24755         and Bruno Haible  <bruno@clisp.org>
24756
24757         Fix OpenBSD 4.0 <float.h> handling of long double.
24758         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
24759         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
24760         * doc/headers/float.texi (float.h): Document OpenBSD bug.
24761
24762 2007-12-11  Jim Meyering  <meyering@redhat.com>
24763
24764         * users.txt: Add libvirt.
24765
24766         Support versions of autoconf prior to 2.59c.
24767         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
24768         if it is not already defined.
24769
24770 2007-12-09  Bruno Haible  <bruno@clisp.org>
24771
24772         Let 'gnulib-tool --import' collect sources needed for the tests in
24773         tests/ rather than in lib/.
24774         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
24775         argument. If true, add rules to generate libtests.a, and put libtests.a
24776         into $(LDADD). Consider source files in subdirectories and set
24777         uses_subdirs.
24778         (func_emit_initmacro_start, func_emit_initmacro_end,
24779         func_emit_initmacro_done): Pass all arguments explicitly.
24780         (func_import): Determine two module lists main_modules,
24781         testsrelated_modules. Determine use_libtests. Determine two variables
24782         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
24783         instead of just sed_transform_lib_file. Determine two variables
24784         main_files and testsrelated_files. Compute 'files' as the union of
24785         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
24786         func_add_or_update. In the generated gnulib-comp.m4, collect the
24787         object files for tests/ in different variables than those for lib/.
24788         Substitute LIBTESTS_LIBDEPS.
24789         (func_create_testdir): Combine the uses_subdirs results from
24790         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
24791
24792 2007-12-09  Bruno Haible  <bruno@clisp.org>
24793
24794         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
24795         the build-aux directory.
24796
24797 2007-12-09  Bruno Haible  <bruno@clisp.org>
24798
24799         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
24800         introduced on 2006-09-09.
24801
24802 2007-12-07  Jim Meyering  <meyering@redhat.com>
24803
24804         Let these macros work also with autoconf-2.59.
24805         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
24806         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
24807         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
24808
24809 2007-12-06  Jim Meyering  <meyering@redhat.com>
24810
24811         Avoid a configure-time syntax error in gl_FUNC_ACL.
24812         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
24813         function in each branch, before testing the cache variable.
24814
24815 2007-12-04  Eric Blake  <ebb9@byu.net>
24816
24817         Make scripts executable.
24818         * build-aux/config.guess: Add execute permissions.
24819         * build-aux/config.sub: Likewise.
24820         * build-aux/gendocs.sh: Likewise.
24821
24822         Fix frexp on mingw.
24823         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
24824         cross-compiling.
24825         * doc/functions/frexp.texi (frexp): Document the bug.
24826
24827         Make cygwin fseeko check more reliable.
24828         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
24829         version numbers, rather than unrelated feature check.
24830         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
24831         * doc/functions/ftello.texi (ftello): Likewise.
24832         Reported by Bruno Haible.
24833
24834         * m4/strerror.m4: Bump version number.
24835
24836 2007-12-03  Bruno Haible  <bruno@clisp.org>
24837
24838         * doc/functions/mprotect.texi: Mention the mingw problem.
24839
24840 2007-12-03  Eric Blake  <ebb9@byu.net>
24841
24842         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
24843         REPLACE_STRERROR is initialized before this macro.
24844
24845 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
24846
24847         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
24848         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
24849         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
24850         put -lsec in even for programs other than 'ls'.  This fixes a problem
24851         for gettext reported by Bruno Haible in
24852         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
24853         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
24854         Add support for Solaris 10.  This isn't efficient, but should get the
24855         job done for now.
24856
24857 2007-12-03  James Youngman  <jay@gnu.org>
24858
24859         * doc/regexprops-generic.texi: change "an close-group" to "a
24860         close-group" and "illegal" to "not allowed".
24861
24862 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24863
24864         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
24865         pr_byname.h. Needed for the rare case when the maintainer has done
24866         "make maintainer-clean" in the source directory and then attempts a
24867         build outside the source directory.
24868         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
24869         scripts_byname.h.
24870
24871 2007-12-02  Martin Lambers <marlam@marlam.de>
24872             Bruno Haible  <bruno@clisp.org>
24873
24874         * lib/getpagesize.h: Remove file.
24875         * lib/unistd.in.h: Include declaration of getpagesize here.
24876         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
24877         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
24878         HAVE_SYS_PARAM_H.
24879         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
24880         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
24881         * modules/getpagesize (Files): Remove lib/getpagesize.h.
24882         (Depends-on): Add unistd.
24883         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
24884         (Include): Use <unistd.h> instead of getpagesize.h.
24885         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
24886         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
24887         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
24888         gl_GETPAGESIZE invocation, already handled by module dependency.
24889         * lib/pagealign_alloc.c: Don't include getpagesize.h.
24890
24891 2007-12-02  Bruno Haible  <bruno@clisp.org>
24892
24893         * modules/strings-tests: New file.
24894         * tests/test-strings.c: New file.
24895
24896         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
24897         * lib/strings.in.h: New file.
24898         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
24899         * m4/strings_h.m4: New file.
24900         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
24901         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
24902         * modules/strings: New file.
24903         * modules/string (Makefile.am): Update.
24904         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
24905         Reported by Karl Berry.
24906
24907 2007-12-01  Eric Blake  <ebb9@byu.net>
24908
24909         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
24910         accomodate fix in cygwin 1.5.25.
24911
24912 2007-12-01  Jim Meyering  <meyering@redhat.com>
24913
24914         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
24915         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
24916         that would inhibit utf8-optimization of a regexp containing line-
24917         or buffer-anchors, e.g., `^', `$'.
24918
24919 2007-11-30  Bruno Haible  <bruno@clisp.org>
24920
24921         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
24922         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
24923         glthread_recursive_lock_init.
24924         * lib/lock.c (glthread_recursive_lock_init)
24925         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
24926         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
24927
24928 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
24929
24930         New function qset_acl, like set_acl but with syscall semantics.
24931         * lib/acl.h (qset_acl): New decl.
24932         * lib/acl.c (qset_acl): New function.
24933         (set_acl): Use new function.  Use more-consistent diagnostics.
24934
24935 2007-11-28  Jim Meyering  <meyering@redhat.com>
24936
24937         * modules/physmem (License): Change from GPL to LGPLv2+.
24938
24939 2007-11-26  Bruno Haible  <bruno@clisp.org>
24940
24941         * lib/vasnprintf.c (decode_long_double): Don't abort if the
24942         'long double' type has excess precision.
24943         Reported by Jim Meyering in
24944         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
24945
24946 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24947
24948         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
24949         Sync from <http://gnu.org/licenses>.
24950         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
24951         with license text from same location.
24952         * doc/maintain.texi, doc/standards.texi:  Sync from
24953         <http://savannah.gnu.org/projects/gnustandards>.
24954
24955 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
24956         and Jim Meyering  <meyering@redhat.com>
24957
24958         Adjust getdate' grammar to accept a slightly more regular language.
24959         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
24960         Before, the former was rejected.
24961         * lib/getdate.y (digits_to_date_time): New function, factored
24962         out of ...
24963         (number): ...here.  Just call digits_to_date_time.
24964         (hybrid): New non-terminal to handle an <unsigned number,
24965         signed relative offset> sequence consistently.
24966
24967 2007-11-18  Jim Meyering  <meyering@redhat.com>
24968
24969         Pull my changes from coreutils:
24970         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
24971         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
24972         use of $gnulib_tool_option_extras, so that it's separated from the
24973         preceding argument.
24974
24975         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
24976         * build-aux/bootstrap (cp_mark_as_generated): Create any required
24977         parent destination directories before copying a file into place.
24978
24979 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
24980
24981         bootstrap: work also with 4-argument variant of AC_INIT
24982         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
24983
24984 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
24985
24986         Port test-getaddrinfo to Solaris.
24987         Problem reported by Bruno Haible in
24988         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
24989         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
24990         explanation of setting 'hints'.
24991         Don't reject an implementation merely because it returns EAI_SERVICE.
24992         (EAI_SERVICE): Define to 0 if not defined.
24993
24994 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
24995
24996         The license of gnu-make and posix-shell is now "GPLed build tool".
24997         * modules/gnu-make (License): Likewise.
24998         * modules/posix-shell (License): Likewise.
24999
25000         New module posix-shell, for determining a POSIX shell
25001         or perhaps something that is close enough to a POSIX shell.
25002         * m4/posix-shell.m4: New file.
25003         * modules/posix-shell: New file.
25004
25005         * MODULES.html.sh: Mention new module.
25006
25007         New module gnu-make, for determining whether we're using GNU Make.
25008         * m4/gnu-make.m4: New file.
25009         * modules/gnu-make: New file.
25010         * MODULES.html.sh: Mention new module.
25011
25012 2007-11-14  Jim Meyering  <meyering@redhat.com>
25013
25014         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
25015         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
25016         use this macro to create a function _definition_.
25017         Remove useless "#undef ARGMATCH_DIE".
25018
25019 2007-11-14  Bruno Haible  <bruno@clisp.org>
25020
25021         * lib/config.charset: Update for OpenBSD 4.1.
25022         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
25023
25024 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
25025
25026         Document 64-bit #if problems in stdint.texi.
25027         * doc/headers/stdint.texi (stdint.h): Mention problems with
25028         64-bit-#if, and how to work around them.
25029
25030         Don't insist on 'long long int' support in the preprocessor.  It
25031         breaks too many things.  For example, PRIdMAX still uses a 'long
25032         long int' format with the latest Sun compiler, even though
25033         HAVE_LONG_LONG_INT isn't defined due to that compiler's
25034         preprocessor problem.  This causes the latest coreutils to dump
25035         core on Solaris 10 sparc with the Sun C compiler.
25036         Instead, fix the 2007-10-16 problem in a different way, by evaluating
25037         the troublesome expressions at configure-time, not at #if-time.
25038         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
25039         preprocessor.
25040         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
25041         compile-time C checks, done at 'configure'-time.
25042         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
25043         * modules/inttypes (Makefile): Substitute the new symbols that
25044         gl_INTTYPES_H now generates.
25045         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
25046
25047 2007-11-12  Bruno Haible  <bruno@clisp.org>
25048
25049         Tests for Unicode character classification functions.
25050
25051         * modules/unictype/bidicategory-byname-tests: New file.
25052         * modules/unictype/bidicategory-name-tests: New file.
25053         * modules/unictype/bidicategory-of-tests: New file.
25054         * modules/unictype/bidicategory-test-tests: New file.
25055         * modules/unictype/block-list-tests: New file.
25056         * modules/unictype/block-of-tests: New file.
25057         * modules/unictype/block-test-tests: New file.
25058         * modules/unictype/category-C-tests: New file.
25059         * modules/unictype/category-Cc-tests: New file.
25060         * modules/unictype/category-Cf-tests: New file.
25061         * modules/unictype/category-Cn-tests: New file.
25062         * modules/unictype/category-Co-tests: New file.
25063         * modules/unictype/category-Cs-tests: New file.
25064         * modules/unictype/category-L-tests: New file.
25065         * modules/unictype/category-Ll-tests: New file.
25066         * modules/unictype/category-Lm-tests: New file.
25067         * modules/unictype/category-Lo-tests: New file.
25068         * modules/unictype/category-Lt-tests: New file.
25069         * modules/unictype/category-Lu-tests: New file.
25070         * modules/unictype/category-M-tests: New file.
25071         * modules/unictype/category-Mc-tests: New file.
25072         * modules/unictype/category-Me-tests: New file.
25073         * modules/unictype/category-Mn-tests: New file.
25074         * modules/unictype/category-N-tests: New file.
25075         * modules/unictype/category-Nd-tests: New file.
25076         * modules/unictype/category-Nl-tests: New file.
25077         * modules/unictype/category-No-tests: New file.
25078         * modules/unictype/category-P-tests: New file.
25079         * modules/unictype/category-Pc-tests: New file.
25080         * modules/unictype/category-Pd-tests: New file.
25081         * modules/unictype/category-Pe-tests: New file.
25082         * modules/unictype/category-Pf-tests: New file.
25083         * modules/unictype/category-Pi-tests: New file.
25084         * modules/unictype/category-Po-tests: New file.
25085         * modules/unictype/category-Ps-tests: New file.
25086         * modules/unictype/category-S-tests: New file.
25087         * modules/unictype/category-Sc-tests: New file.
25088         * modules/unictype/category-Sk-tests: New file.
25089         * modules/unictype/category-Sm-tests: New file.
25090         * modules/unictype/category-So-tests: New file.
25091         * modules/unictype/category-Z-tests: New file.
25092         * modules/unictype/category-Zl-tests: New file.
25093         * modules/unictype/category-Zp-tests: New file.
25094         * modules/unictype/category-Zs-tests: New file.
25095         * modules/unictype/category-and-not-tests: New file.
25096         * modules/unictype/category-and-tests: New file.
25097         * modules/unictype/category-byname-tests: New file.
25098         * modules/unictype/category-name-tests: New file.
25099         * modules/unictype/category-none-tests: New file.
25100         * modules/unictype/category-of-tests: New file.
25101         * modules/unictype/category-or-tests: New file.
25102         * modules/unictype/category-test-withtable-tests: New file.
25103         * modules/unictype/combining-class-tests: New file.
25104         * modules/unictype/ctype-alnum-tests: New file.
25105         * modules/unictype/ctype-alpha-tests: New file.
25106         * modules/unictype/ctype-blank-tests: New file.
25107         * modules/unictype/ctype-cntrl-tests: New file.
25108         * modules/unictype/ctype-digit-tests: New file.
25109         * modules/unictype/ctype-graph-tests: New file.
25110         * modules/unictype/ctype-lower-tests: New file.
25111         * modules/unictype/ctype-print-tests: New file.
25112         * modules/unictype/ctype-punct-tests: New file.
25113         * modules/unictype/ctype-space-tests: New file.
25114         * modules/unictype/ctype-upper-tests: New file.
25115         * modules/unictype/ctype-xdigit-tests: New file.
25116         * modules/unictype/decimal-digit-tests: New file.
25117         * modules/unictype/digit-tests: New file.
25118         * modules/unictype/mirror-tests: New file.
25119         * modules/unictype/numeric-tests: New file.
25120         * modules/unictype/property-alphabetic-tests: New file.
25121         * modules/unictype/property-ascii-hex-digit-tests: New file.
25122         * modules/unictype/property-bidi-arabic-digit-tests: New file.
25123         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
25124         * modules/unictype/property-bidi-block-separator-tests: New file.
25125         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
25126         * modules/unictype/property-bidi-common-separator-tests: New file.
25127         * modules/unictype/property-bidi-control-tests: New file.
25128         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
25129         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
25130         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
25131         * modules/unictype/property-bidi-european-digit-tests: New file.
25132         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
25133         * modules/unictype/property-bidi-left-to-right-tests: New file.
25134         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
25135         * modules/unictype/property-bidi-other-neutral-tests: New file.
25136         * modules/unictype/property-bidi-pdf-tests: New file.
25137         * modules/unictype/property-bidi-segment-separator-tests: New file.
25138         * modules/unictype/property-bidi-whitespace-tests: New file.
25139         * modules/unictype/property-byname-tests: New file.
25140         * modules/unictype/property-combining-tests: New file.
25141         * modules/unictype/property-composite-tests: New file.
25142         * modules/unictype/property-currency-symbol-tests: New file.
25143         * modules/unictype/property-dash-tests: New file.
25144         * modules/unictype/property-decimal-digit-tests: New file.
25145         * modules/unictype/property-default-ignorable-code-point-tests: New file.
25146         * modules/unictype/property-deprecated-tests: New file.
25147         * modules/unictype/property-diacritic-tests: New file.
25148         * modules/unictype/property-extender-tests: New file.
25149         * modules/unictype/property-format-control-tests: New file.
25150         * modules/unictype/property-grapheme-base-tests: New file.
25151         * modules/unictype/property-grapheme-extend-tests: New file.
25152         * modules/unictype/property-grapheme-link-tests: New file.
25153         * modules/unictype/property-hex-digit-tests: New file.
25154         * modules/unictype/property-hyphen-tests: New file.
25155         * modules/unictype/property-id-continue-tests: New file.
25156         * modules/unictype/property-id-start-tests: New file.
25157         * modules/unictype/property-ideographic-tests: New file.
25158         * modules/unictype/property-ids-binary-operator-tests: New file.
25159         * modules/unictype/property-ids-trinary-operator-tests: New file.
25160         * modules/unictype/property-ignorable-control-tests: New file.
25161         * modules/unictype/property-iso-control-tests: New file.
25162         * modules/unictype/property-join-control-tests: New file.
25163         * modules/unictype/property-left-of-pair-tests: New file.
25164         * modules/unictype/property-line-separator-tests: New file.
25165         * modules/unictype/property-logical-order-exception-tests: New file.
25166         * modules/unictype/property-lowercase-tests: New file.
25167         * modules/unictype/property-math-tests: New file.
25168         * modules/unictype/property-non-break-tests: New file.
25169         * modules/unictype/property-not-a-character-tests: New file.
25170         * modules/unictype/property-numeric-tests: New file.
25171         * modules/unictype/property-other-alphabetic-tests: New file.
25172         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
25173         * modules/unictype/property-other-grapheme-extend-tests: New file.
25174         * modules/unictype/property-other-id-continue-tests: New file.
25175         * modules/unictype/property-other-id-start-tests: New file.
25176         * modules/unictype/property-other-lowercase-tests: New file.
25177         * modules/unictype/property-other-math-tests: New file.
25178         * modules/unictype/property-other-uppercase-tests: New file.
25179         * modules/unictype/property-paired-punctuation-tests: New file.
25180         * modules/unictype/property-paragraph-separator-tests: New file.
25181         * modules/unictype/property-pattern-syntax-tests: New file.
25182         * modules/unictype/property-pattern-white-space-tests: New file.
25183         * modules/unictype/property-private-use-tests: New file.
25184         * modules/unictype/property-punctuation-tests: New file.
25185         * modules/unictype/property-quotation-mark-tests: New file.
25186         * modules/unictype/property-radical-tests: New file.
25187         * modules/unictype/property-sentence-terminal-tests: New file.
25188         * modules/unictype/property-soft-dotted-tests: New file.
25189         * modules/unictype/property-space-tests: New file.
25190         * modules/unictype/property-terminal-punctuation-tests: New file.
25191         * modules/unictype/property-test-tests: New file.
25192         * modules/unictype/property-titlecase-tests: New file.
25193         * modules/unictype/property-unassigned-code-value-tests: New file.
25194         * modules/unictype/property-unified-ideograph-tests: New file.
25195         * modules/unictype/property-uppercase-tests: New file.
25196         * modules/unictype/property-variation-selector-tests: New file.
25197         * modules/unictype/property-white-space-tests: New file.
25198         * modules/unictype/property-xid-continue-tests: New file.
25199         * modules/unictype/property-xid-start-tests: New file.
25200         * modules/unictype/property-zero-width-tests: New file.
25201         * modules/unictype/scripts-tests: New file.
25202         * modules/unictype/syntax-c-ident-tests: New file.
25203         * modules/unictype/syntax-c-whitespace-tests: New file.
25204         * modules/unictype/syntax-java-ident-tests: New file.
25205         * modules/unictype/syntax-java-whitespace-tests: New file.
25206         * tests/unictype/test-bidi_byname.c: New file.
25207         * tests/unictype/test-bidi_name.c: New file.
25208         * tests/unictype/test-bidi_of.c: New file.
25209         * tests/unictype/test-bidi_test.c: New file.
25210         * tests/unictype/test-block_list.c: New file.
25211         * tests/unictype/test-block_of.c: New file.
25212         * tests/unictype/test-block_test.c: New file.
25213         * tests/unictype/test-categ_and.c: New file.
25214         * tests/unictype/test-categ_and_not.c: New file.
25215         * tests/unictype/test-categ_byname.c: New file.
25216         * tests/unictype/test-categ_name.c: New file.
25217         * tests/unictype/test-categ_none.c: New file.
25218         * tests/unictype/test-categ_of.c: New file.
25219         * tests/unictype/test-categ_or.c: New file.
25220         * tests/unictype/test-categ_test_withtable.c: New file.
25221         * tests/unictype/test-combining.c: New file.
25222         * tests/unictype/test-decdigit.c: New file.
25223         * tests/unictype/test-digit.c: New file.
25224         * tests/unictype/test-mirror.c: New file.
25225         * tests/unictype/test-numeric.c: New file.
25226         * tests/unictype/test-pr_byname.c: New file.
25227         * tests/unictype/test-pr_test.c: New file.
25228         * tests/unictype/test-predicate-part1.h: New file.
25229         * tests/unictype/test-predicate-part2.h: New file.
25230         * tests/unictype/test-scripts.c: New file.
25231         * tests/unictype/test-sy_c_ident.c: New file.
25232         * tests/unictype/test-sy_java_ident.c: New file.
25233
25234         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
25235         for Unicode 5.0.0.
25236         * tests/unictype/test-categ_Cc.c: Likewise.
25237         * tests/unictype/test-categ_Cf.c: Likewise.
25238         * tests/unictype/test-categ_Cn.c: Likewise.
25239         * tests/unictype/test-categ_Co.c: Likewise.
25240         * tests/unictype/test-categ_Cs.c: Likewise.
25241         * tests/unictype/test-categ_L.c: Likewise.
25242         * tests/unictype/test-categ_Ll.c: Likewise.
25243         * tests/unictype/test-categ_Lm.c: Likewise.
25244         * tests/unictype/test-categ_Lo.c: Likewise.
25245         * tests/unictype/test-categ_Lt.c: Likewise.
25246         * tests/unictype/test-categ_Lu.c: Likewise.
25247         * tests/unictype/test-categ_M.c: Likewise.
25248         * tests/unictype/test-categ_Mc.c: Likewise.
25249         * tests/unictype/test-categ_Me.c: Likewise.
25250         * tests/unictype/test-categ_Mn.c: Likewise.
25251         * tests/unictype/test-categ_N.c: Likewise.
25252         * tests/unictype/test-categ_Nd.c: Likewise.
25253         * tests/unictype/test-categ_Nl.c: Likewise.
25254         * tests/unictype/test-categ_No.c: Likewise.
25255         * tests/unictype/test-categ_P.c: Likewise.
25256         * tests/unictype/test-categ_Pc.c: Likewise.
25257         * tests/unictype/test-categ_Pd.c: Likewise.
25258         * tests/unictype/test-categ_Pe.c: Likewise.
25259         * tests/unictype/test-categ_Pf.c: Likewise.
25260         * tests/unictype/test-categ_Pi.c: Likewise.
25261         * tests/unictype/test-categ_Po.c: Likewise.
25262         * tests/unictype/test-categ_Ps.c: Likewise.
25263         * tests/unictype/test-categ_S.c: Likewise.
25264         * tests/unictype/test-categ_Sc.c: Likewise.
25265         * tests/unictype/test-categ_Sk.c: Likewise.
25266         * tests/unictype/test-categ_Sm.c: Likewise.
25267         * tests/unictype/test-categ_So.c: Likewise.
25268         * tests/unictype/test-categ_Z.c: Likewise.
25269         * tests/unictype/test-categ_Zl.c: Likewise.
25270         * tests/unictype/test-categ_Zp.c: Likewise.
25271         * tests/unictype/test-categ_Zs.c: Likewise.
25272         * tests/unictype/test-ctype_alnum.c: Likewise.
25273         * tests/unictype/test-ctype_alpha.c: Likewise.
25274         * tests/unictype/test-ctype_blank.c: Likewise.
25275         * tests/unictype/test-ctype_cntrl.c: Likewise.
25276         * tests/unictype/test-ctype_digit.c: Likewise.
25277         * tests/unictype/test-ctype_graph.c: Likewise.
25278         * tests/unictype/test-ctype_lower.c: Likewise.
25279         * tests/unictype/test-ctype_print.c: Likewise.
25280         * tests/unictype/test-ctype_punct.c: Likewise.
25281         * tests/unictype/test-ctype_space.c: Likewise.
25282         * tests/unictype/test-ctype_upper.c: Likewise.
25283         * tests/unictype/test-ctype_xdigit.c: Likewise.
25284         * tests/unictype/test-decdigit.h: Likewise.
25285         * tests/unictype/test-digit.h: Likewise.
25286         * tests/unictype/test-numeric.h: Likewise.
25287         * tests/unictype/test-pr_alphabetic.c: Likewise.
25288         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
25289         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
25290         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
25291         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
25292         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
25293         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
25294         * tests/unictype/test-pr_bidi_control.c: Likewise.
25295         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
25296         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
25297         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
25298         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
25299         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
25300         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
25301         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
25302         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
25303         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
25304         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
25305         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
25306         * tests/unictype/test-pr_combining.c: Likewise.
25307         * tests/unictype/test-pr_composite.c: Likewise.
25308         * tests/unictype/test-pr_currency_symbol.c: Likewise.
25309         * tests/unictype/test-pr_dash.c: Likewise.
25310         * tests/unictype/test-pr_decimal_digit.c: Likewise.
25311         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
25312         * tests/unictype/test-pr_deprecated.c: Likewise.
25313         * tests/unictype/test-pr_diacritic.c: Likewise.
25314         * tests/unictype/test-pr_extender.c: Likewise.
25315         * tests/unictype/test-pr_format_control.c: Likewise.
25316         * tests/unictype/test-pr_grapheme_base.c: Likewise.
25317         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
25318         * tests/unictype/test-pr_grapheme_link.c: Likewise.
25319         * tests/unictype/test-pr_hex_digit.c: Likewise.
25320         * tests/unictype/test-pr_hyphen.c: Likewise.
25321         * tests/unictype/test-pr_id_continue.c: Likewise.
25322         * tests/unictype/test-pr_id_start.c: Likewise.
25323         * tests/unictype/test-pr_ideographic.c: Likewise.
25324         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
25325         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
25326         * tests/unictype/test-pr_ignorable_control.c: Likewise.
25327         * tests/unictype/test-pr_iso_control.c: Likewise.
25328         * tests/unictype/test-pr_join_control.c: Likewise.
25329         * tests/unictype/test-pr_left_of_pair.c: Likewise.
25330         * tests/unictype/test-pr_line_separator.c: Likewise.
25331         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
25332         * tests/unictype/test-pr_lowercase.c: Likewise.
25333         * tests/unictype/test-pr_math.c: Likewise.
25334         * tests/unictype/test-pr_non_break.c: Likewise.
25335         * tests/unictype/test-pr_not_a_character.c: Likewise.
25336         * tests/unictype/test-pr_numeric.c: Likewise.
25337         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
25338         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
25339         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
25340         * tests/unictype/test-pr_other_id_continue.c: Likewise.
25341         * tests/unictype/test-pr_other_id_start.c: Likewise.
25342         * tests/unictype/test-pr_other_lowercase.c: Likewise.
25343         * tests/unictype/test-pr_other_math.c: Likewise.
25344         * tests/unictype/test-pr_other_uppercase.c: Likewise.
25345         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
25346         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
25347         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
25348         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
25349         * tests/unictype/test-pr_private_use.c: Likewise.
25350         * tests/unictype/test-pr_punctuation.c: Likewise.
25351         * tests/unictype/test-pr_quotation_mark.c: Likewise.
25352         * tests/unictype/test-pr_radical.c: Likewise.
25353         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
25354         * tests/unictype/test-pr_soft_dotted.c: Likewise.
25355         * tests/unictype/test-pr_space.c: Likewise.
25356         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
25357         * tests/unictype/test-pr_titlecase.c: Likewise.
25358         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
25359         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
25360         * tests/unictype/test-pr_uppercase.c: Likewise.
25361         * tests/unictype/test-pr_variation_selector.c: Likewise.
25362         * tests/unictype/test-pr_white_space.c: Likewise.
25363         * tests/unictype/test-pr_xid_continue.c: Likewise.
25364         * tests/unictype/test-pr_xid_start.c: Likewise.
25365         * tests/unictype/test-pr_zero_width.c: Likewise.
25366         * tests/unictype/test-sy_c_whitespace.c: Likewise.
25367         * tests/unictype/test-sy_java_whitespace.c: Likewise.
25368
25369 2007-11-12  Bruno Haible  <bruno@clisp.org>
25370
25371         Unicode character classification functions.
25372         * lib/unictype.h: New file.
25373         * modules/unictype/base: New file.
25374         * modules/unictype/category-L: New file.
25375         * modules/unictype/category-Lu: New file.
25376         * modules/unictype/category-Ll: New file.
25377         * modules/unictype/category-Lt: New file.
25378         * modules/unictype/category-Lm: New file.
25379         * modules/unictype/category-Lo: New file.
25380         * modules/unictype/category-M: New file.
25381         * modules/unictype/category-Mn: New file.
25382         * modules/unictype/category-Mc: New file.
25383         * modules/unictype/category-Me: New file.
25384         * modules/unictype/category-N: New file.
25385         * modules/unictype/category-Nd: New file.
25386         * modules/unictype/category-Nl: New file.
25387         * modules/unictype/category-No: New file.
25388         * modules/unictype/category-P: New file.
25389         * modules/unictype/category-Pc: New file.
25390         * modules/unictype/category-Pd: New file.
25391         * modules/unictype/category-Ps: New file.
25392         * modules/unictype/category-Pe: New file.
25393         * modules/unictype/category-Pi: New file.
25394         * modules/unictype/category-Pf: New file.
25395         * modules/unictype/category-Po: New file.
25396         * modules/unictype/category-S: New file.
25397         * modules/unictype/category-Sm: New file.
25398         * modules/unictype/category-Sc: New file.
25399         * modules/unictype/category-Sk: New file.
25400         * modules/unictype/category-So: New file.
25401         * modules/unictype/category-Z: New file.
25402         * modules/unictype/category-Zs: New file.
25403         * modules/unictype/category-Zl: New file.
25404         * modules/unictype/category-Zp: New file.
25405         * modules/unictype/category-C: New file.
25406         * modules/unictype/category-Cc: New file.
25407         * modules/unictype/category-Cf: New file.
25408         * modules/unictype/category-Cs: New file.
25409         * modules/unictype/category-Co: New file.
25410         * modules/unictype/category-Cn: New file.
25411         * modules/unictype/category-or: New file.
25412         * modules/unictype/category-of: New file.
25413         * modules/unictype/category-test: New file.
25414         * modules/unictype/category-test-withtable: New file.
25415         * modules/unictype/category-byname: New file.
25416         * modules/unictype/category-none: New file.
25417         * modules/unictype/category-and: New file.
25418         * modules/unictype/category-and-not: New file.
25419         * modules/unictype/category-name: New file.
25420         * modules/unictype/combining-class: New file.
25421         * modules/unictype/category-all: New file.
25422         * modules/unictype/bidicategory-all: New file.
25423         * modules/unictype/bidicategory-byname: New file.
25424         * modules/unictype/bidicategory-name: New file.
25425         * modules/unictype/bidicategory-of: New file.
25426         * modules/unictype/bidicategory-test: New file.
25427         * modules/unictype/decimal-digit: New file.
25428         * modules/unictype/digit: New file.
25429         * modules/unictype/numeric: New file.
25430         * modules/unictype/mirror: New file.
25431         * modules/unictype/property-white-space: New file.
25432         * modules/unictype/property-alphabetic: New file.
25433         * modules/unictype/property-other-alphabetic: New file.
25434         * modules/unictype/property-not-a-character: New file.
25435         * modules/unictype/property-default-ignorable-code-point: New file.
25436         * modules/unictype/property-other-default-ignorable-code-point: New
25437         file.
25438         * modules/unictype/property-deprecated: New file.
25439         * modules/unictype/property-logical-order-exception: New file.
25440         * modules/unictype/property-variation-selector: New file.
25441         * modules/unictype/property-private-use: New file.
25442         * modules/unictype/property-unassigned-code-value: New file.
25443         * modules/unictype/property-uppercase: New file.
25444         * modules/unictype/property-other-uppercase: New file.
25445         * modules/unictype/property-lowercase: New file.
25446         * modules/unictype/property-other-lowercase: New file.
25447         * modules/unictype/property-titlecase: New file.
25448         * modules/unictype/property-soft-dotted: New file.
25449         * modules/unictype/property-id-start: New file.
25450         * modules/unictype/property-other-id-start: New file.
25451         * modules/unictype/property-id-continue: New file.
25452         * modules/unictype/property-other-id-continue: New file.
25453         * modules/unictype/property-xid-start: New file.
25454         * modules/unictype/property-xid-continue: New file.
25455         * modules/unictype/property-pattern-white-space: New file.
25456         * modules/unictype/property-pattern-syntax: New file.
25457         * modules/unictype/property-join-control: New file.
25458         * modules/unictype/property-grapheme-base: New file.
25459         * modules/unictype/property-grapheme-extend: New file.
25460         * modules/unictype/property-other-grapheme-extend: New file.
25461         * modules/unictype/property-grapheme-link: New file.
25462         * modules/unictype/property-bidi-control: New file.
25463         * modules/unictype/property-bidi-left-to-right: New file.
25464         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
25465         * modules/unictype/property-bidi-arabic-right-to-left: New file.
25466         * modules/unictype/property-bidi-european-digit: New file.
25467         * modules/unictype/property-bidi-eur-num-separator: New file.
25468         * modules/unictype/property-bidi-eur-num-terminator: New file.
25469         * modules/unictype/property-bidi-arabic-digit: New file.
25470         * modules/unictype/property-bidi-common-separator: New file.
25471         * modules/unictype/property-bidi-block-separator: New file.
25472         * modules/unictype/property-bidi-segment-separator: New file.
25473         * modules/unictype/property-bidi-whitespace: New file.
25474         * modules/unictype/property-bidi-non-spacing-mark: New file.
25475         * modules/unictype/property-bidi-boundary-neutral: New file.
25476         * modules/unictype/property-bidi-pdf: New file.
25477         * modules/unictype/property-bidi-embedding-or-override: New file.
25478         * modules/unictype/property-bidi-other-neutral: New file.
25479         * modules/unictype/property-hex-digit: New file.
25480         * modules/unictype/property-ascii-hex-digit: New file.
25481         * modules/unictype/property-ideographic: New file.
25482         * modules/unictype/property-unified-ideograph: New file.
25483         * modules/unictype/property-radical: New file.
25484         * modules/unictype/property-ids-binary-operator: New file.
25485         * modules/unictype/property-ids-trinary-operator: New file.
25486         * modules/unictype/property-zero-width: New file.
25487         * modules/unictype/property-space: New file.
25488         * modules/unictype/property-non-break: New file.
25489         * modules/unictype/property-iso-control: New file.
25490         * modules/unictype/property-format-control: New file.
25491         * modules/unictype/property-dash: New file.
25492         * modules/unictype/property-hyphen: New file.
25493         * modules/unictype/property-punctuation: New file.
25494         * modules/unictype/property-line-separator: New file.
25495         * modules/unictype/property-paragraph-separator: New file.
25496         * modules/unictype/property-quotation-mark: New file.
25497         * modules/unictype/property-sentence-terminal: New file.
25498         * modules/unictype/property-terminal-punctuation: New file.
25499         * modules/unictype/property-currency-symbol: New file.
25500         * modules/unictype/property-math: New file.
25501         * modules/unictype/property-other-math: New file.
25502         * modules/unictype/property-paired-punctuation: New file.
25503         * modules/unictype/property-left-of-pair: New file.
25504         * modules/unictype/property-combining: New file.
25505         * modules/unictype/property-composite: New file.
25506         * modules/unictype/property-decimal-digit: New file.
25507         * modules/unictype/property-numeric: New file.
25508         * modules/unictype/property-diacritic: New file.
25509         * modules/unictype/property-extender: New file.
25510         * modules/unictype/property-ignorable-control: New file.
25511         * modules/unictype/property-test: New file.
25512         * modules/unictype/property-byname: New file.
25513         * modules/unictype/property-all: New file.
25514         * modules/unictype/scripts: New file.
25515         * modules/unictype/scripts-all: New file.
25516         * modules/unictype/block-of: New file.
25517         * modules/unictype/block-test: New file.
25518         * modules/unictype/block-list: New file.
25519         * modules/unictype/block-all: New file.
25520         * modules/unictype/syntax-c-whitespace: New file.
25521         * modules/unictype/syntax-java-whitespace: New file.
25522         * modules/unictype/syntax-c-ident: New file.
25523         * modules/unictype/syntax-java-ident: New file.
25524         * modules/unictype/ctype-alnum: New file.
25525         * modules/unictype/ctype-alpha: New file.
25526         * modules/unictype/ctype-cntrl: New file.
25527         * modules/unictype/ctype-digit: New file.
25528         * modules/unictype/ctype-graph: New file.
25529         * modules/unictype/ctype-lower: New file.
25530         * modules/unictype/ctype-print: New file.
25531         * modules/unictype/ctype-punct: New file.
25532         * modules/unictype/ctype-space: New file.
25533         * modules/unictype/ctype-upper: New file.
25534         * modules/unictype/ctype-xdigit: New file.
25535         * modules/unictype/ctype-blank: New file.
25536         * lib/unictype/bidi_byname.c: New file.
25537         * lib/unictype/bidi_name.c: New file.
25538         * lib/unictype/bidi_of.c: New file.
25539         * lib/unictype/bidi_test.c: New file.
25540         * lib/unictype/bitmap.h: New file.
25541         * lib/unictype/block_test.c: New file.
25542         * lib/unictype/blocks.c: New file.
25543         * lib/unictype/categ_C.c: New file.
25544         * lib/unictype/categ_Cc.c: New file.
25545         * lib/unictype/categ_Cf.c: New file.
25546         * lib/unictype/categ_Cn.c: New file.
25547         * lib/unictype/categ_Co.c: New file.
25548         * lib/unictype/categ_Cs.c: New file.
25549         * lib/unictype/categ_L.c: New file.
25550         * lib/unictype/categ_Ll.c: New file.
25551         * lib/unictype/categ_Lm.c: New file.
25552         * lib/unictype/categ_Lo.c: New file.
25553         * lib/unictype/categ_Lt.c: New file.
25554         * lib/unictype/categ_Lu.c: New file.
25555         * lib/unictype/categ_M.c: New file.
25556         * lib/unictype/categ_Mc.c: New file.
25557         * lib/unictype/categ_Me.c: New file.
25558         * lib/unictype/categ_Mn.c: New file.
25559         * lib/unictype/categ_N.c: New file.
25560         * lib/unictype/categ_Nd.c: New file.
25561         * lib/unictype/categ_Nl.c: New file.
25562         * lib/unictype/categ_No.c: New file.
25563         * lib/unictype/categ_P.c: New file.
25564         * lib/unictype/categ_Pc.c: New file.
25565         * lib/unictype/categ_Pd.c: New file.
25566         * lib/unictype/categ_Pe.c: New file.
25567         * lib/unictype/categ_Pf.c: New file.
25568         * lib/unictype/categ_Pi.c: New file.
25569         * lib/unictype/categ_Po.c: New file.
25570         * lib/unictype/categ_Ps.c: New file.
25571         * lib/unictype/categ_S.c: New file.
25572         * lib/unictype/categ_Sc.c: New file.
25573         * lib/unictype/categ_Sk.c: New file.
25574         * lib/unictype/categ_Sm.c: New file.
25575         * lib/unictype/categ_So.c: New file.
25576         * lib/unictype/categ_Z.c: New file.
25577         * lib/unictype/categ_Zl.c: New file.
25578         * lib/unictype/categ_Zp.c: New file.
25579         * lib/unictype/categ_Zs.c: New file.
25580         * lib/unictype/categ_and.c: New file.
25581         * lib/unictype/categ_and_not.c: New file.
25582         * lib/unictype/categ_byname.c: New file.
25583         * lib/unictype/categ_name.c: New file.
25584         * lib/unictype/categ_none.c: New file.
25585         * lib/unictype/categ_of.c: New file.
25586         * lib/unictype/categ_or.c: New file.
25587         * lib/unictype/categ_test.c: New file.
25588         * lib/unictype/combining.c: New file.
25589         * lib/unictype/ctype_alnum.c: New file.
25590         * lib/unictype/ctype_alpha.c: New file.
25591         * lib/unictype/ctype_blank.c: New file.
25592         * lib/unictype/ctype_cntrl.c: New file.
25593         * lib/unictype/ctype_digit.c: New file.
25594         * lib/unictype/ctype_graph.c: New file.
25595         * lib/unictype/ctype_lower.c: New file.
25596         * lib/unictype/ctype_print.c: New file.
25597         * lib/unictype/ctype_punct.c: New file.
25598         * lib/unictype/ctype_space.c: New file.
25599         * lib/unictype/ctype_upper.c: New file.
25600         * lib/unictype/ctype_xdigit.c: New file.
25601         * lib/unictype/decdigit.c: New file.
25602         * lib/unictype/digit.c: New file.
25603         * lib/unictype/identsyntaxmap.h: New file.
25604         * lib/unictype/mirror.c: New file.
25605         * lib/unictype/numeric.c: New file.
25606         * lib/unictype/pr_alphabetic.c: New file.
25607         * lib/unictype/pr_ascii_hex_digit.c: New file.
25608         * lib/unictype/pr_bidi_arabic_digit.c: New file.
25609         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
25610         * lib/unictype/pr_bidi_block_separator.c: New file.
25611         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
25612         * lib/unictype/pr_bidi_common_separator.c: New file.
25613         * lib/unictype/pr_bidi_control.c: New file.
25614         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
25615         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
25616         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
25617         * lib/unictype/pr_bidi_european_digit.c: New file.
25618         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
25619         * lib/unictype/pr_bidi_left_to_right.c: New file.
25620         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
25621         * lib/unictype/pr_bidi_other_neutral.c: New file.
25622         * lib/unictype/pr_bidi_pdf.c: New file.
25623         * lib/unictype/pr_bidi_segment_separator.c: New file.
25624         * lib/unictype/pr_bidi_whitespace.c: New file.
25625         * lib/unictype/pr_byname.c: New file.
25626         * lib/unictype/pr_byname.gperf: New file.
25627         * lib/unictype/pr_combining.c: New file.
25628         * lib/unictype/pr_composite.c: New file.
25629         * lib/unictype/pr_currency_symbol.c: New file.
25630         * lib/unictype/pr_dash.c: New file.
25631         * lib/unictype/pr_decimal_digit.c: New file.
25632         * lib/unictype/pr_default_ignorable_code_point.c: New file.
25633         * lib/unictype/pr_deprecated.c: New file.
25634         * lib/unictype/pr_diacritic.c: New file.
25635         * lib/unictype/pr_extender.c: New file.
25636         * lib/unictype/pr_format_control.c: New file.
25637         * lib/unictype/pr_grapheme_base.c: New file.
25638         * lib/unictype/pr_grapheme_extend.c: New file.
25639         * lib/unictype/pr_grapheme_link.c: New file.
25640         * lib/unictype/pr_hex_digit.c: New file.
25641         * lib/unictype/pr_hyphen.c: New file.
25642         * lib/unictype/pr_id_continue.c: New file.
25643         * lib/unictype/pr_id_start.c: New file.
25644         * lib/unictype/pr_ideographic.c: New file.
25645         * lib/unictype/pr_ids_binary_operator.c: New file.
25646         * lib/unictype/pr_ids_trinary_operator.c: New file.
25647         * lib/unictype/pr_ignorable_control.c: New file.
25648         * lib/unictype/pr_iso_control.c: New file.
25649         * lib/unictype/pr_join_control.c: New file.
25650         * lib/unictype/pr_left_of_pair.c: New file.
25651         * lib/unictype/pr_line_separator.c: New file.
25652         * lib/unictype/pr_logical_order_exception.c: New file.
25653         * lib/unictype/pr_lowercase.c: New file.
25654         * lib/unictype/pr_math.c: New file.
25655         * lib/unictype/pr_non_break.c: New file.
25656         * lib/unictype/pr_not_a_character.c: New file.
25657         * lib/unictype/pr_numeric.c: New file.
25658         * lib/unictype/pr_other_alphabetic.c: New file.
25659         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
25660         * lib/unictype/pr_other_grapheme_extend.c: New file.
25661         * lib/unictype/pr_other_id_continue.c: New file.
25662         * lib/unictype/pr_other_id_start.c: New file.
25663         * lib/unictype/pr_other_lowercase.c: New file.
25664         * lib/unictype/pr_other_math.c: New file.
25665         * lib/unictype/pr_other_uppercase.c: New file.
25666         * lib/unictype/pr_paired_punctuation.c: New file.
25667         * lib/unictype/pr_paragraph_separator.c: New file.
25668         * lib/unictype/pr_pattern_syntax.c: New file.
25669         * lib/unictype/pr_pattern_white_space.c: New file.
25670         * lib/unictype/pr_private_use.c: New file.
25671         * lib/unictype/pr_punctuation.c: New file.
25672         * lib/unictype/pr_quotation_mark.c: New file.
25673         * lib/unictype/pr_radical.c: New file.
25674         * lib/unictype/pr_sentence_terminal.c: New file.
25675         * lib/unictype/pr_soft_dotted.c: New file.
25676         * lib/unictype/pr_space.c: New file.
25677         * lib/unictype/pr_terminal_punctuation.c: New file.
25678         * lib/unictype/pr_test.c: New file.
25679         * lib/unictype/pr_titlecase.c: New file.
25680         * lib/unictype/pr_unassigned_code_value.c: New file.
25681         * lib/unictype/pr_unified_ideograph.c: New file.
25682         * lib/unictype/pr_uppercase.c: New file.
25683         * lib/unictype/pr_variation_selector.c: New file.
25684         * lib/unictype/pr_white_space.c: New file.
25685         * lib/unictype/pr_xid_continue.c: New file.
25686         * lib/unictype/pr_xid_start.c: New file.
25687         * lib/unictype/pr_zero_width.c: New file.
25688         * lib/unictype/scripts.c: New file.
25689         * lib/unictype/sy_c_ident.c: New file.
25690         * lib/unictype/sy_c_whitespace.c: New file.
25691         * lib/unictype/sy_java_ident.c: New file.
25692         * lib/unictype/sy_java_whitespace.c: New file.
25693
25694         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
25695         Unicode 5.0.0.
25696         * lib/unictype/blocks.h: Likewise.
25697         * lib/unictype/categ_C.h: Likewise.
25698         * lib/unictype/categ_Cc.h: Likewise.
25699         * lib/unictype/categ_Cf.h: Likewise.
25700         * lib/unictype/categ_Cn.h: Likewise.
25701         * lib/unictype/categ_Co.h: Likewise.
25702         * lib/unictype/categ_Cs.h: Likewise.
25703         * lib/unictype/categ_L.h: Likewise.
25704         * lib/unictype/categ_Ll.h: Likewise.
25705         * lib/unictype/categ_Lm.h: Likewise.
25706         * lib/unictype/categ_Lo.h: Likewise.
25707         * lib/unictype/categ_Lt.h: Likewise.
25708         * lib/unictype/categ_Lu.h: Likewise.
25709         * lib/unictype/categ_M.h: Likewise.
25710         * lib/unictype/categ_Mc.h: Likewise.
25711         * lib/unictype/categ_Me.h: Likewise.
25712         * lib/unictype/categ_Mn.h: Likewise.
25713         * lib/unictype/categ_N.h: Likewise.
25714         * lib/unictype/categ_Nd.h: Likewise.
25715         * lib/unictype/categ_Nl.h: Likewise.
25716         * lib/unictype/categ_No.h: Likewise.
25717         * lib/unictype/categ_P.h: Likewise.
25718         * lib/unictype/categ_Pc.h: Likewise.
25719         * lib/unictype/categ_Pd.h: Likewise.
25720         * lib/unictype/categ_Pe.h: Likewise.
25721         * lib/unictype/categ_Pf.h: Likewise.
25722         * lib/unictype/categ_Pi.h: Likewise.
25723         * lib/unictype/categ_Po.h: Likewise.
25724         * lib/unictype/categ_Ps.h: Likewise.
25725         * lib/unictype/categ_S.h: Likewise.
25726         * lib/unictype/categ_Sc.h: Likewise.
25727         * lib/unictype/categ_Sk.h: Likewise.
25728         * lib/unictype/categ_Sm.h: Likewise.
25729         * lib/unictype/categ_So.h: Likewise.
25730         * lib/unictype/categ_Z.h: Likewise.
25731         * lib/unictype/categ_Zl.h: Likewise.
25732         * lib/unictype/categ_Zp.h: Likewise.
25733         * lib/unictype/categ_Zs.h: Likewise.
25734         * lib/unictype/categ_of.h: Likewise.
25735         * lib/unictype/combining.h: Likewise.
25736         * lib/unictype/ctype_alnum.h: Likewise.
25737         * lib/unictype/ctype_alpha.h: Likewise.
25738         * lib/unictype/ctype_blank.h: Likewise.
25739         * lib/unictype/ctype_cntrl.h: Likewise.
25740         * lib/unictype/ctype_digit.h: Likewise.
25741         * lib/unictype/ctype_graph.h: Likewise.
25742         * lib/unictype/ctype_lower.h: Likewise.
25743         * lib/unictype/ctype_print.h: Likewise.
25744         * lib/unictype/ctype_punct.h: Likewise.
25745         * lib/unictype/ctype_space.h: Likewise.
25746         * lib/unictype/ctype_upper.h: Likewise.
25747         * lib/unictype/ctype_xdigit.h: Likewise.
25748         * lib/unictype/decdigit.h: Likewise.
25749         * lib/unictype/digit.h: Likewise.
25750         * lib/unictype/mirror.h: Likewise.
25751         * lib/unictype/numeric.h: Likewise.
25752         * lib/unictype/pr_alphabetic.h: Likewise.
25753         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
25754         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
25755         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
25756         * lib/unictype/pr_bidi_block_separator.h: Likewise.
25757         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
25758         * lib/unictype/pr_bidi_common_separator.h: Likewise.
25759         * lib/unictype/pr_bidi_control.h: Likewise.
25760         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
25761         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
25762         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
25763         * lib/unictype/pr_bidi_european_digit.h: Likewise.
25764         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
25765         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
25766         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
25767         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
25768         * lib/unictype/pr_bidi_pdf.h: Likewise.
25769         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
25770         * lib/unictype/pr_bidi_whitespace.h: Likewise.
25771         * lib/unictype/pr_combining.h: Likewise.
25772         * lib/unictype/pr_composite.h: Likewise.
25773         * lib/unictype/pr_currency_symbol.h: Likewise.
25774         * lib/unictype/pr_dash.h: Likewise.
25775         * lib/unictype/pr_decimal_digit.h: Likewise.
25776         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
25777         * lib/unictype/pr_deprecated.h: Likewise.
25778         * lib/unictype/pr_diacritic.h: Likewise.
25779         * lib/unictype/pr_extender.h: Likewise.
25780         * lib/unictype/pr_format_control.h: Likewise.
25781         * lib/unictype/pr_grapheme_base.h: Likewise.
25782         * lib/unictype/pr_grapheme_extend.h: Likewise.
25783         * lib/unictype/pr_grapheme_link.h: Likewise.
25784         * lib/unictype/pr_hex_digit.h: Likewise.
25785         * lib/unictype/pr_hyphen.h: Likewise.
25786         * lib/unictype/pr_id_continue.h: Likewise.
25787         * lib/unictype/pr_id_start.h: Likewise.
25788         * lib/unictype/pr_ideographic.h: Likewise.
25789         * lib/unictype/pr_ids_binary_operator.h: Likewise.
25790         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
25791         * lib/unictype/pr_ignorable_control.h: Likewise.
25792         * lib/unictype/pr_iso_control.h: Likewise.
25793         * lib/unictype/pr_join_control.h: Likewise.
25794         * lib/unictype/pr_left_of_pair.h: Likewise.
25795         * lib/unictype/pr_line_separator.h: Likewise.
25796         * lib/unictype/pr_logical_order_exception.h: Likewise.
25797         * lib/unictype/pr_lowercase.h: Likewise.
25798         * lib/unictype/pr_math.h: Likewise.
25799         * lib/unictype/pr_non_break.h: Likewise.
25800         * lib/unictype/pr_not_a_character.h: Likewise.
25801         * lib/unictype/pr_numeric.h: Likewise.
25802         * lib/unictype/pr_other_alphabetic.h: Likewise.
25803         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
25804         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
25805         * lib/unictype/pr_other_id_continue.h: Likewise.
25806         * lib/unictype/pr_other_id_start.h: Likewise.
25807         * lib/unictype/pr_other_lowercase.h: Likewise.
25808         * lib/unictype/pr_other_math.h: Likewise.
25809         * lib/unictype/pr_other_uppercase.h: Likewise.
25810         * lib/unictype/pr_paired_punctuation.h: Likewise.
25811         * lib/unictype/pr_paragraph_separator.h: Likewise.
25812         * lib/unictype/pr_pattern_syntax.h: Likewise.
25813         * lib/unictype/pr_pattern_white_space.h: Likewise.
25814         * lib/unictype/pr_private_use.h: Likewise.
25815         * lib/unictype/pr_punctuation.h: Likewise.
25816         * lib/unictype/pr_quotation_mark.h: Likewise.
25817         * lib/unictype/pr_radical.h: Likewise.
25818         * lib/unictype/pr_sentence_terminal.h: Likewise.
25819         * lib/unictype/pr_soft_dotted.h: Likewise.
25820         * lib/unictype/pr_space.h: Likewise.
25821         * lib/unictype/pr_terminal_punctuation.h: Likewise.
25822         * lib/unictype/pr_titlecase.h: Likewise.
25823         * lib/unictype/pr_unassigned_code_value.h: Likewise.
25824         * lib/unictype/pr_unified_ideograph.h: Likewise.
25825         * lib/unictype/pr_uppercase.h: Likewise.
25826         * lib/unictype/pr_variation_selector.h: Likewise.
25827         * lib/unictype/pr_white_space.h: Likewise.
25828         * lib/unictype/pr_xid_continue.h: Likewise.
25829         * lib/unictype/pr_xid_start.h: Likewise.
25830         * lib/unictype/pr_zero_width.h: Likewise.
25831         * lib/unictype/scripts.h: Likewise.
25832         * lib/unictype/scripts_byname.gperf: Likewise.
25833         * lib/unictype/sy_c_ident.h: Likewise.
25834         * lib/unictype/sy_c_whitespace.h: Likewise.
25835         * lib/unictype/sy_java_ident.h: Likewise.
25836         * lib/unictype/sy_java_whitespace.h: Likewise.
25837
25838         * lib/unictype/Makefile: New file.
25839         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
25840         glibc.
25841         * lib/unictype/3level.h: New file, copied from glibc.
25842         * lib/unictype/3levelbit.h: New file.
25843
25844 2007-11-11  Bruno Haible  <bruno@clisp.org>
25845
25846         * modules/gperf: New file.
25847         * modules/iconv_open (Depends-on): Add it.
25848         (Makefile.am): Remove the GPERF definition.
25849
25850 2007-11-11  Bruno Haible  <bruno@clisp.org>
25851
25852         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
25853         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
25854
25855 2007-11-11  Bruno Haible  <bruno@clisp.org>
25856
25857         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
25858         (usage): Remove function.
25859
25860 2007-11-11  Bruno Haible  <bruno@clisp.org>
25861
25862         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
25863         gl_FUNC_CEILF_LIBS.
25864         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
25865         gl_FUNC_CEIL_LIBS.
25866         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
25867         gl_FUNC_CEILL_LIBS.
25868         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
25869         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
25870         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
25871
25872 2007-11-11  Bruno Haible  <bruno@clisp.org>
25873
25874         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
25875         roundf were declared but do not exist on functions.
25876         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
25877         roundl were declared but do not exist on functions.
25878         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
25879         HAVE_FLOORL_AND_CEILL, respectively.
25880         Needed for Sun C on Solaris 10.
25881
25882 2007-11-11  Bruno Haible  <bruno@clisp.org>
25883
25884         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
25885         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
25886         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
25887         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
25888         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
25889         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
25890         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
25891         HAVE_DECL_ROUNDF.
25892         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
25893         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
25894         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
25895         of HAVE_DECL_ROUND*.
25896         * modules/math (Makefile.am): Update.
25897
25898 2007-11-10  Bruno Haible  <bruno@clisp.org>
25899
25900         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
25901         ptrdiff_t as m4/intl.m4.
25902
25903 2007-11-10  Jim Meyering  <meyering@redhat.com>
25904
25905         Avoid link failure for the argmatch test.
25906         * tests/test-argmatch.c (usage): Define function to avoid a link
25907         failure: argmatch_die requires a usage function.
25908
25909 2007-11-09  Bruno Haible  <bruno@clisp.org>
25910
25911         * doc/functions/snprintf.texi: Mention BeOS deficiency.
25912         * doc/functions/vsnprintf.texi: Likewise.
25913         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
25914         with a size argument < 2.
25915
25916 2007-11-09  Bruno Haible  <bruno@clisp.org>
25917
25918         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
25919         buffer. Fixes an inefficiency introduced on 2007-11-03.
25920
25921 2007-11-09  Bruno Haible  <bruno@clisp.org>
25922
25923         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
25924         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
25925
25926 2007-11-08  Jim Meyering  <meyering@redhat.com>
25927
25928         Change cache variable name prefix "jm_" to "gl_" everywhere.
25929         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
25930         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
25931         * m4/uptime.m4: s/gl_/jm_/
25932
25933 2007-11-07  Bruno Haible  <bruno@clisp.org>
25934
25935         Update to GNU gettext 0.17.
25936         * m4/intl.m4: Update to GNU gettext 0.17.
25937         * m4/po.m4: Likewise.
25938         * modules/gettext (Files): Remove m4/ulonglong.m4.
25939         (configure.ac): Require gettext infrastructure from version 0.17.
25940
25941 2007-11-06  Bruno Haible  <bruno@clisp.org>
25942
25943         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
25944         symbolic values are not defined in a public header.
25945         * lib/freadable.c (freadable) [QNX]: Likewise.
25946         * lib/freadahead.c (freadahead) [QNX]: Likewise.
25947         * lib/freading.c (freading) [QNX]: Likewise.
25948         * lib/fseterr.c (fseterr) [QNX]: Likewise.
25949         * lib/fwritable.c (fwritable) [QNX]: Likewise.
25950         * lib/fwriting.c (fwriting) [QNX]: Likewise.
25951         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
25952         Reported by Alain Magloire.
25953
25954         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
25955
25956 2007-11-05  Bruno Haible  <bruno@clisp.org>
25957
25958         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
25959         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
25960         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
25961         Reported by Eric Blake.
25962
25963 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25964             Bruno Haible  <bruno@clisp.org>
25965
25966         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
25967         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
25968         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
25969         (malloc): Undefine also before including <stdlib.h>.
25970         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
25971         Needed on OSF/1 4.0.
25972
25973 2007-11-05  Jim Meyering  <meyering@redhat.com>
25974
25975         git-version-gen: sync from coreutils.
25976         * build-aux/git-version-gen: Add comments.
25977         Change the first '-' to '.' in the snapshot version string,
25978         e.g., 6.9-377-08144 -> 6.9.377-08144
25979         Remove first parameter.
25980         Don't declare a version "-dirty" merely because a time
25981         stamp has changed.
25982
25983 2007-11-04  Bruno Haible  <bruno@clisp.org>
25984
25985         * lib/lock.h: Protect all macro definitions containing an 'if'
25986         statement through a "do { ... } while (0)".
25987         * lib/tls.h: Likewise.
25988
25989 2007-11-04  Bruno Haible  <bruno@clisp.org>
25990
25991         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
25992
25993 2007-11-04  Bruno Haible  <bruno@clisp.org>
25994
25995         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
25996         * modules/fprintf-posix (Depends-on): Add nocrash.
25997         * modules/snprintf-posix (Depends-on): Likewise.
25998         * modules/sprintf-posix (Depends-on): Likewise.
25999         * modules/vasnprintf-posix (Depends-on): Likewise.
26000         * modules/vasprintf-posix (Depends-on): Likewise.
26001         * modules/vfprintf-posix (Depends-on): Likewise.
26002         * modules/vsnprintf-posix (Depends-on): Likewise.
26003         * modules/vsprintf-posix (Depends-on): Likewise.
26004         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
26005         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
26006         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
26007         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
26008         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
26009         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
26010         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
26011
26012 2007-11-04  Bruno Haible  <bruno@clisp.org>
26013
26014         * modules/nocrash: New file.
26015         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
26016         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
26017
26018 2007-11-04  Bruno Haible  <bruno@clisp.org>
26019
26020         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
26021         precision handling.
26022         * tests/test-vasprintf-posix.c (test_function): Likewise.
26023         * tests/test-snprintf-posix.h (test_function): Likewise.
26024         * tests/test-sprintf-posix.h (test_function): Likewise.
26025
26026         Fix *printf behaviour for large precisions on mingw and BeOS.
26027         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
26028         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
26029         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
26030         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
26031         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
26032         gl_PRINTF_PRECISION and test its result. Invoke
26033         gl_PREREQ_VASNPRINTF_PRECISION.
26034         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
26035         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
26036         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
26037         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
26038         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
26039         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
26040         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
26041         * doc/functions/fprintf.texi: Update.
26042         * doc/functions/printf.texi: Update.
26043         * doc/functions/snprintf.texi: Update.
26044         * doc/functions/sprintf.texi: Update.
26045         * doc/functions/vfprintf.texi: Update.
26046         * doc/functions/vprintf.texi: Update.
26047         * doc/functions/vsnprintf.texi: Update.
26048         * doc/functions/vsprintf.texi: Update.
26049
26050 2007-11-04  Bruno Haible  <bruno@clisp.org>
26051
26052         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
26053
26054 2007-11-04  Bruno Haible  <bruno@clisp.org>
26055
26056         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
26057         Reported by Sylvain Beucler <beuc@gnu.org>.
26058
26059 2007-11-03  Bruno Haible  <bruno@clisp.org>
26060
26061         * tests/test-fprintf-posix2.sh: New file.
26062         * tests/test-fprintf-posix2.c: New file.
26063         * modules/fprintf-posix-tests (Files): Add them.
26064         (TESTS): Add test-fprintf-posix2.sh.
26065         (configure.ac): Check for getrlimit and setrlimit.
26066         (check_PROGRAMS): Add test-fprintf-posix2.
26067
26068         * tests/test-printf-posix2.sh: New file.
26069         * tests/test-printf-posix2.c: New file.
26070         * modules/printf-posix-tests (Files): Add them.
26071         (TESTS): Add test-printf-posix2.sh.
26072         (configure.ac): Check for getrlimit and setrlimit.
26073         (check_PROGRAMS): Add test-printf-posix2.
26074
26075         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
26076         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
26077         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
26078         (decode_double): New function, copied from decode_long_double.
26079         (scale10_round_decimal_decoded): New function, extracted from
26080         scale10_round_decimal_long_double.
26081         (scale10_round_decimal_long_double): Use it.
26082         (scale10_round_decimal_double): New function.
26083         (floorlog10): New function.
26084         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
26085         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
26086         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
26087         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
26088         gl_PRINTF_ENOMEM and test its result. Invoke
26089         gl_PREREQ_VASNPRINTF_ENOMEM.
26090         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
26091         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
26092         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
26093         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
26094         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
26095         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
26096         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
26097         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
26098         * modules/snprintf-posix (Depends-on): Likewise.
26099         * modules/sprintf-posix (Depends-on): Likewise.
26100         * modules/vasnprintf-posix (Depends-on): Likewise.
26101         * modules/vasprintf-posix (Depends-on): Likewise.
26102         * modules/vfprintf-posix (Depends-on): Likewise.
26103         * modules/vsnprintf-posix (Depends-on): Likewise.
26104         * modules/vsprintf-posix (Depends-on): Likewise.
26105         * doc/functions/fprintf.texi: Update.
26106         * doc/functions/printf.texi: Update.
26107         * doc/functions/snprintf.texi: Update.
26108         * doc/functions/sprintf.texi: Update.
26109         * doc/functions/vfprintf.texi: Update.
26110         * doc/functions/vprintf.texi: Update.
26111         * doc/functions/vsnprintf.texi: Update.
26112         * doc/functions/vsprintf.texi: Update.
26113
26114 2007-11-03  Bruno Haible  <bruno@clisp.org>
26115
26116         * modules/frexp-nolibm-tests: New file.
26117
26118         * modules/frexp-nolibm: New file.
26119         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
26120
26121 2007-11-03  Bruno Haible  <bruno@clisp.org>
26122
26123         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
26124         value is C99 compliant.
26125         Needed for OSF/1 5.1.
26126
26127 2007-11-03  Bruno Haible  <bruno@clisp.org>
26128
26129         Fix out-of-memory handling of vasnprintf.
26130         * lib/printf-parse.c: Include <errno.h>.
26131         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
26132         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
26133         is already set.
26134
26135 2007-11-02  Eric Blake  <ebb9@byu.net>
26136
26137         Fix tests on cygwin.
26138         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
26139
26140 2007-11-01  Bruno Haible  <bruno@clisp.org>
26141
26142         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
26143         warning.
26144         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
26145         needed for POSIX compatibility.
26146
26147 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
26148
26149         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
26150         for compatibility with GNU.
26151
26152 2007-11-01  Bruno Haible  <bruno@clisp.org>
26153
26154         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
26155         (putenv): Renamed from rpl_putenv. Change argument type from
26156         'const char *' to 'char *'.
26157         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
26158         of defining putenv in config.h, just set REPLACE_PUTENV.
26159         * modules/putenv (Depends-on): Add stdlib.
26160         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
26161         (Include): Use <stdlib.h>.
26162         * lib/stdlib.in.h (putenv): New declaration.
26163         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
26164         REPLACE_PUTENV.
26165         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
26166         REPLACE_PUTENV.
26167         Needed for MacOS X 10.5.0.
26168         Reported by Peter O'Gorman <peter@pogma.com>.
26169
26170 2007-11-01  Jim Meyering  <meyering@redhat.com>
26171
26172         Treat an empty date string exactly like "0".
26173         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
26174         if the remaining date string (to be parsed) is empty, use "0".
26175         Reported by Mischa Molhoek and discussed in this thread:
26176         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
26177
26178 2007-10-31  Bruno Haible  <bruno@clisp.org>
26179
26180         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
26181         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
26182         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
26183         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
26184         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
26185         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
26186
26187 2007-10-31  Bruno Haible  <bruno@clisp.org>
26188
26189         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
26190         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
26191         (AC_TYPE_LONG_LONG_INT): Use it.
26192         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
26193         it as well.
26194         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
26195         to m4/longlong.m4.
26196         * modules/stdint (Files): Remove m4/ulonglong.m4.
26197         * modules/strtoull (Files): Use m4/longlong.m4 instead of
26198         m4/ulonglong.m4.
26199         * modules/strtoumax (Files): Likewise.
26200
26201 2007-10-30  Bruno Haible  <bruno@clisp.org>
26202
26203         * modules/xvasprintf-posix: New file.
26204         Suggested by Eric Blake.
26205
26206 2007-10-30  Bruno Haible  <bruno@clisp.org>
26207
26208         * modules/xprintf-posix-tests: New file.
26209         * tests/test-xprintf-posix.sh: New file.
26210         * tests/test-xprintf-posix.c: New file.
26211         * tests/test-xfprintf-posix.c: New file.
26212
26213         * modules/xprintf-posix: New file.
26214
26215 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26216
26217         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
26218         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
26219         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
26220
26221 2007-10-29  Bruno Haible  <bruno@clisp.org>
26222
26223         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
26224         contain the special marker '_cv_'.
26225         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
26226         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
26227         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
26228         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
26229         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
26230         Reported by Ralf Wildenhues.
26231
26232 2007-10-29  Bruno Haible  <bruno@clisp.org>
26233
26234         * gnulib-tool (func_import): When --lgpl is not specified, set
26235         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
26236         GPLv3.
26237         Reported by Simon Josefsson.
26238
26239 2007-10-28  Bruno Haible  <bruno@clisp.org>
26240
26241         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
26242         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
26243         HAVE_DECL_ISFINITE.
26244         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
26245         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
26246         HAVE_DECL_ISFINITE.
26247
26248 2007-10-28  Bruno Haible  <bruno@clisp.org>
26249
26250         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
26251         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
26252
26253 2007-10-28  Bruno Haible  <bruno@clisp.org>
26254
26255         Fix link errors with Sun C 5.0 on Solaris 10.
26256         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
26257         function is declared but not present in the compiler's libm.
26258         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
26259         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
26260         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
26261         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
26262         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
26263         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
26264         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
26265         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
26266         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
26267         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
26268         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
26269         HAVE_DECL_FLOORL.
26270
26271 2007-10-28  Bruno Haible  <bruno@clisp.org>
26272
26273         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
26274         gl_FUNC_FLOORL. Cache the result.
26275         (gl_FUNC_FLOORL): Use it.
26276         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
26277         gl_FUNC_CEILL. Cache the result.
26278         (gl_FUNC_CEILL): Use it.
26279
26280         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
26281         gl_FUNC_FLOOR. Cache the result.
26282         (gl_FUNC_FLOOR): Use it.
26283         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
26284         gl_FUNC_CEIL. Cache the result.
26285         (gl_FUNC_CEIL): Use it.
26286
26287         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
26288         gl_FUNC_FLOORF. Cache the result.
26289         (gl_FUNC_FLOORF): Use it.
26290         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
26291         gl_FUNC_CEILF. Cache the result.
26292         (gl_FUNC_CEILF): Use it.
26293
26294 2007-10-28  Bruno Haible  <bruno@clisp.org>
26295
26296         * gnulib-tool: Allow specifying the LGPL version number through
26297         --lgpl=2 or --lgpl=3.
26298         (func_usage): Document --lgpl with argument.
26299         Handle --lgpl=... arguments.
26300         (func_import): Recognize also gl_LGPL calls with an argument. When
26301         --lgpl=2 is used and the module's license is just LGPL, report an
26302         error. Set sed_transform_lib_file according to the lgpl variable. In
26303         the generated files, use --lgpl or gl_LGPL invocations with argument,
26304         if necessary.
26305         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
26306         an LGPv2+ license.
26307         * doc/gnulib-tool.texi (Modified imports): Update explanation of
26308         gl_LGPL macro.
26309
26310 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26311             Bruno Haible  <bruno@clisp.org>
26312
26313         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
26314         (u16_uctomb_aux): Likewise.
26315         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
26316         !HAVE_INLINE.
26317         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
26318
26319 2007-10-28  Bruno Haible  <bruno@clisp.org>
26320
26321         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
26322         Invoke AM_GETTEXT_OPTION if it exists.
26323         * modules/vasprintf: Likewise.
26324         * modules/verror: Likewise.
26325         * modules/xprintf: Likewise.
26326         * modules/xvasprintf: Likewise.
26327
26328 2007-10-27  Ben Pfaff  <blp@gnu.org>
26329
26330         * lib/math.in.h: Define isfinite macro and prototypes for
26331         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
26332         implementations.
26333         * m4/math_h.m4: New substitutions for isfinite module.
26334         * lib/isfinite.c: New file.
26335         * m4/isfinite.m4: New file.
26336         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
26337         * modules/isfinite: New file.
26338         * modules/isfinite-tests: New file.
26339         * tests/tests-isfinite.c: New file.
26340         * doc/functions/isfinite.texi: Mention isfinite module.
26341         * MODULES.html.sh: Mention new module.
26342
26343 2007-10-27  Ben Pfaff  <blp@gnu.org>
26344
26345         Ralf Wildenhues reported that Tru64 4.0D declares the round
26346         functions but does not have definitions.
26347         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
26348         cannot be found in any library, set the output variable to
26349         "missing" instead of "".
26350         * m4/round.m4: Also use our substitute if we cannot find round in
26351         any library, even if it is declared.
26352         * m4/roundf.m4: Likewise for roundf.
26353         * m4/roundl.m4: Likewise for roundl.
26354         * lib/math.in.h: Undefine roundf, round, roundl before defining
26355         their replacements, to allow for hypothetical systems where these
26356         may be defined as macros but not available in libraries.
26357
26358 2007-10-27  Bruno Haible  <bruno@clisp.org>
26359
26360         * doc/gnulib.texi: Invoke @firstparagraphindent.
26361         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
26362         changes in gnulib.
26363         (Source changes): New section.
26364
26365 2007-10-26  Bruno Haible  <bruno@clisp.org>
26366
26367         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
26368         borrowed from autoconf.
26369
26370 2007-10-26  Bruno Haible  <bruno@clisp.org>
26371
26372         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
26373         strerror returned the empty string. Needed on HP-UX 11.00.
26374
26375 2007-10-24  Micah Cowan  <micah@cowan.name>
26376
26377         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
26378         * build-aux/bootstrap: Remove support for now-unnecessary option,
26379         --cvs-user, and envvars CVS_USER, CVS_RSH.
26380
26381 2007-10-24  Jim Meyering  <meyering@redhat.com>
26382
26383         Avoid diagnostics from sha1sum when there is no cached checksum.
26384         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
26385         if the po.s1 file hasn't been created yet.
26386
26387         * build-aux/bootstrap: Sync from coreutils:
26388         2007-10-24  Jim Meyering  <meyering@redhat.com>
26389         Get gnulib from the git repository, not from an obsolete cvs one.
26390         * build-aux/bootstrap: Suggestion from Micah Cowan.
26391         2007-10-04  Jim Meyering  <jim@meyering.net>
26392         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
26393         (update_po_files): Work also when there are no .po files in po/.
26394
26395 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
26396
26397         * README: Append ".git" to git and cg examples.
26398         Problem reported by Benoit Sigoure.
26399
26400 2007-10-23  Micah Cowan  <micah@cowan.name>
26401
26402         * users.txt: Add wget.
26403
26404 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26405
26406         Fix linking of some unistdio tests on FreeBSD.
26407         * modules/unistdio/u16-vsnprintf-tests
26408         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
26409         * modules/unistdio/u16-vsprintf-tests
26410         (test_u16_vsnprintf1_LDADD): Likewise.
26411         * modules/unistdio/u32-vsnprintf-tests
26412         (test_u32_vsnprintf1_LDADD): Likewise.
26413         * modules/unistdio/u32-vsprintf-tests
26414         (test_u32_vsprintf1_LDADD): Likewise.
26415         * modules/unistdio/u8-vsnprintf-tests
26416         (test_u8_vsnprintf1_LDADD): Likewise.
26417         * modules/unistdio/u8-vsprintf-tests
26418         (test_u8_vsprintf1_LDADD): Likewise.
26419         * modules/unistdio/ulc-vsnprintf-tests
26420         (test_ulc_vsnprintf1_LDADD): Likewise.
26421         * modules/unistdio/ulc-vsprintf-tests
26422         (test_ulc_vsprintf1_LDADD): Likewise.
26423
26424         Fix linking of some uniconv tests on FreeBSD.
26425         * modules/uniconv/u16-conv-from-enc-tests
26426         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
26427         * modules/uniconv/u16-conv-to-enc-tests
26428         (test_u16_conv_to_enc_LDADD): Likewise.
26429         * modules/uniconv/u16-strconv-from-enc-tests
26430         (test_u16_strconv_from_enc_LDADD): Likewise.
26431         * modules/uniconv/u16-strconv-to-enc-tests
26432         (test_u16_strconv_to_enc_LDADD): Likewise.
26433         * modules/uniconv/u32-conv-from-enc-tests
26434         (test_u32_conv_from_enc_LDADD): Likewise.
26435         * modules/uniconv/u32-conv-to-enc-tests
26436         (test_u32_conv_to_enc_LDADD): Likewise.
26437         * modules/uniconv/u32-strconv-from-enc-tests
26438         (test_u32_strconv_from_enc_LDADD): Likewise.
26439         * modules/uniconv/u32-strconv-to-enc-tests
26440         (test_u32_strconv_to_enc_LDADD): Likewise.
26441         * modules/uniconv/u8-conv-from-enc-tests
26442         (test_u8_conv_from_enc_LDADD): Likewise.
26443         * modules/uniconv/u8-conv-to-enc-tests
26444         (test_u8_conv_to_enc_LDADD): Likewise.
26445         * modules/uniconv/u8-strconv-from-enc-tests
26446         (test_u8_strconv_from_enc_LDADD): Likewise.
26447         * modules/uniconv/u8-strconv-to-enc-tests
26448         (test_u8_strconv_to_enc_LDADD): Likewise.
26449
26450 2007-10-22  Bruno Haible  <bruno@clisp.org>
26451
26452         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
26453         size.
26454
26455 2007-10-22  Eric Blake  <ebb9@byu.net>
26456
26457         Tweak x*printf documentation.
26458         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
26459         variable name and comments.
26460         Suggested by Bruno Haible.
26461
26462 2007-10-22  Bruno Haible  <bruno@clisp.org>
26463
26464         * lib/acl.c (copy_acl): Fix file name in comment.
26465
26466 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
26467
26468         Fix Tru64 problem with stdbool.h.
26469         * lib/stdbool.in.h (false, true):
26470         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
26471         Don't declare as an enum in this situation; it runs afoul of Tru64.
26472         Problem reported by Steven M. Schweda in
26473         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
26474
26475 2007-10-22  Eric Blake  <ebb9@byu.net>
26476
26477         Also wrap vf?printf.
26478         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
26479         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
26480         (xvprintf, xvfprintf): New functions.
26481
26482 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26483
26484         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
26485         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
26486
26487         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
26488         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
26489
26490 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
26491
26492         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
26493         by Bruno Haible.
26494
26495 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26496
26497         * lib/getloadavg.c
26498         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
26499         Undef `sys' after including sys/table.h, for Tru64 4.0D.
26500
26501         * tests/test-i-ring.c: Work for C89.
26502
26503 2007-10-22  Bruno Haible  <bruno@clisp.org>
26504
26505         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
26506         -1u, in preprocessor expression, so that we don't test for the bug
26507         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
26508         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
26509
26510 2007-10-22  Eric Blake  <ebb9@byu.net>
26511
26512         * tests/test-yesno.sh: Silence stderr during test.
26513
26514 2007-10-22  Simon Josefsson  <simon@josefsson.org>
26515
26516         * modules/crypto/gc-camellia: New file.
26517
26518         * m4/gc-camellia.m4: New file.
26519
26520         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
26521
26522         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
26523
26524 2007-10-22  Simon Josefsson  <simon@josefsson.org>
26525
26526         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
26527         --help to stdout.  Reported by sms@antinode.org (Steven
26528         M. Schweda).
26529
26530 2007-10-22  Simon Josefsson  <simon@josefsson.org>
26531
26532         * users.txt: Fix link to libksba.
26533
26534 2007-10-21  Ben Pfaff  <blp@gnu.org>
26535
26536         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
26537         round.c roundf implementation that depends on floorf and ceilf to
26538         be tested unconditionally.
26539
26540 2007-10-21  Ben Pfaff  <blp@gnu.org>
26541
26542         * m4/check-libm-func.m4: Removed.
26543         * m4/check-math-lib.m4: New file.
26544         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
26545         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
26546         definition and lack of AC_LIBOBJ([roundf]).
26547         * m4/roundl.m4: Ditto, and similarly for roundl.
26548         * modules/round: Reference new m4 file.
26549         * modules/roundf: Ditto.
26550         * modules/roundl: Ditto.
26551         * tests/test-round2.c (main): Use ROUND instead of round.
26552         Bug report from Bruno Haible.
26553
26554 2007-10-21  Bruno Haible  <bruno@clisp.org>
26555
26556         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
26557         context.
26558
26559 2007-10-21  Bruno Haible  <bruno@clisp.org>
26560
26561         * tests/test-wcwidth.c (main): Allow negative result for some control
26562         characters.
26563
26564         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
26565         Needed on OSF/1 5.1.
26566
26567 2007-10-21  Bruno Haible  <bruno@clisp.org>
26568
26569         * tests/test-floorf1.c: Include isnanf.h.
26570         (main): Use isnanf() instead of isnan().
26571         * tests/test-ceilf1.c: Include isnanf.h.
26572         (main): Use isnanf() instead of isnan().
26573         * tests/test-truncf1.c: Include isnanf.h.
26574         (main): Use isnanf() instead of isnan().
26575         * tests/test-roundf1.c: Include isnanf.h.
26576         (main): Use isnanf() instead of isnan().
26577
26578 2007-10-21  Eric Blake  <ebb9@byu.net>
26579
26580         * users.txt: Update URL for m4.
26581
26582 2007-10-21  Bruno Haible  <bruno@clisp.org>
26583
26584         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
26585
26586 2007-10-21  Bruno Haible  <bruno@clisp.org>
26587
26588         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
26589         Git's management files if the CVS files are not present.
26590
26591 2007-10-20  Bruno Haible  <bruno@clisp.org>
26592
26593         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
26594         gcc-3.4.x.
26595
26596 2007-10-20  Ben Pfaff  <blp@gnu.org>
26597
26598         * lib/math.in.h: Declare round, roundf, roundl if we are providing
26599         implementations.
26600         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
26601         * lib/round.c: New file.
26602         * lib/roundf.c: New file.
26603         * lib/roundl.c: New file.
26604         * m4/round.m4: New file.
26605         * m4/roundf.m4: New file.
26606         * m4/roundl.m4: New file.
26607         * m4/check-libm-func-m4: New file.
26608         * modules/math: Replace round, roundf, roundl related @VARS@ in
26609         math.in.h.
26610         * modules/round: New file.
26611         * modules/round-tests: New file.
26612         * modules/roundf: New file.
26613         * modules/roundf-tests: New file.
26614         * modules/roundl: New file.
26615         * modules/roundl-tests: New file.
26616         * tests/test-round1.c: New file.
26617         * tests/test-round2.c: New file.
26618         * tests/test-roundf1.c: New file.
26619         * tests/test-roundf2.c: New file.
26620         * tests/test-roundl.c: New file.
26621         * doc/functions/round.texi: Mention round module.
26622         * doc/functions/roundf.texi: Mention roundf module.
26623         * doc/functions/roundl.texi: Mention roundl module.
26624         * MODULES.html.sh: Mention new modules.
26625         Thanks to Bruno Haible for suggestions.
26626
26627 2007-10-20  Jim Meyering  <meyering@redhat.com>
26628
26629         * lib/xprintf.c: Include <config.h> unconditionally.
26630
26631         Change xprintf's license to GPL.
26632         * modules/xprintf (License): s/LGPL/GPL/, since this module
26633         depends on modules (exit and exitfail) which are GPL.
26634         Suggestion from Bruno Haible.
26635
26636         xprintf fixes.
26637         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
26638         Use a clearer diagnostic.
26639         Patch from Bruno Haible.
26640
26641 2007-10-20  Bruno Haible  <bruno@clisp.org>
26642
26643         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
26644         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
26645         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
26646
26647 2007-10-20  Bruno Haible  <bruno@clisp.org>
26648
26649         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
26650         precision in the comparison result > x - 1 or similar.
26651         * tests/test-ceilf2.c (correct_result_p): Likewise.
26652         * tests/test-truncf2.c (correct_result_p): Likewise.
26653         * tests/test-trunc2.c (correct_result_p): Likewise.
26654         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
26655
26656 2007-10-20  Bruno Haible  <bruno@clisp.org>
26657
26658         * modules/ceil: New file.
26659         * m4/ceil.m4: New file.
26660         * doc/functions/ceil.texi: Mention the 'ceil' module.
26661
26662 2007-10-20  Bruno Haible  <bruno@clisp.org>
26663
26664         * modules/floor: New file.
26665         * m4/floor.m4: New file.
26666         * doc/functions/floor.texi: Mention the 'floor' module.
26667
26668 2007-10-20  Bruno Haible  <bruno@clisp.org>
26669
26670         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
26671         of %a.
26672         * modules/floorf-tests (Depends-on): Likewise.
26673         * modules/truncf-tests (Depends-on): Likewise.
26674         * modules/trunc-tests (Depends-on): Likewise.
26675         Reported by Ben Pfaff.
26676
26677 2007-10-19  Jim Meyering  <meyering@redhat.com>
26678
26679         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
26680         Don't bother testing specific errno values.  Just test ferror.
26681
26682         New module: xprintf
26683         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
26684
26685 2007-10-19  Bruno Haible  <bruno@clisp.org>
26686
26687         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
26688         syntax.
26689         * modules/javaexec (Makefile.am): Likewise.
26690         * modules/relocatable-prog (Makefile.am): Likewise.
26691         Suggested by Jim Meyering.
26692
26693 2007-10-18  Bruno Haible  <bruno@clisp.org>
26694
26695         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
26696         Reported by Jim Meyering.
26697
26698 2007-10-18  Eric Blake  <ebb9@byu.net>
26699
26700         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
26701
26702 2007-10-18  Bruno Haible  <bruno@clisp.org>
26703
26704         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
26705         the format string into writable memory. Needed in Fortify conditions.
26706
26707 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
26708             Bruno Haible  <bruno@clisp.org>
26709
26710         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
26711         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
26712         * modules/trim (Depends-on): Add mbchar.
26713         (configure.ac): Add gl_FUNC_MBRTOWC.
26714         (Makefile.am): Augment lib_SOURCES.
26715
26716 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
26717
26718         Modify glob.c to use fstatat and dirfd, to simplify it.
26719         Suggested by Eric Blake.
26720         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
26721         Don't include <stdbool.h>; not used.
26722         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
26723         (link_exists_p): Simplify implementation, since we can now assume
26724         dirfd and fstatat.
26725         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
26726
26727 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26728
26729         * gnulib-tool (func_get_dependencies): Fix sed script to
26730         match only tests.
26731
26732 2007-10-17  Bruno Haible  <bruno@clisp.org>
26733
26734         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
26735         allow locale names without encoding suffix.
26736         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
26737         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
26738
26739 2007-10-16  Bruno Haible  <bruno@clisp.org>
26740
26741         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
26742         * lib/getgroups.c (getgroups): Likewise.
26743         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
26744
26745 2007-10-16  Bruno Haible  <bruno@clisp.org>
26746
26747         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
26748         * modules/malloc-posix (License): Likewise.
26749         * modules/realloc-posix (License): Likewise.
26750         * modules/calloc-posix (License): Likewise.
26751         * modules/intprops (License): Change from GPL to LGPL, with
26752         Paul Eggert's approval.
26753
26754 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
26755
26756         Merge glibc changes into lib/glob.c.
26757
26758         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
26759         2007-10-15 04:59:03 UTC.  Here are the changes:
26760
26761         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
26762
26763         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
26764
26765         * lib/glob.c: Add some branch prediction throughout.
26766
26767         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
26768
26769         [BZ #5103]
26770         * lib/glob.c (glob): Recognize patterns starting \/.
26771
26772         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
26773
26774         [BZ #3996]
26775         * lib/glob.c (attribute_hidden): Define if not defined.
26776         (glob): Unescape dirname, filename or username when needed and not
26777         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
26778         is NULL.  Handle unescaped [ in pattern without closing ].
26779         Don't pass GLOB_CHECK down to recursive glob for directories.
26780         (__glob_pattern_type): New function.
26781         (__glob_pattern_p): Implement using __glob_pattern_type.
26782         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
26783         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
26784         Remove unreachable code.
26785
26786         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
26787
26788         * lib/glob.c (glob_in_dir): Add some comments and asserts to
26789         explain why there are no leaks.
26790
26791         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
26792
26793         [BZ #3253]
26794         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
26795         time, rather allocate increasingly bigger arrays of pointers, if
26796         possible with alloca, if too large with malloc.
26797
26798 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
26799
26800         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
26801         Problem reported by H.Merijn Brand in
26802         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
26803         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
26804         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
26805
26806 2007-10-15  Bruno Haible  <bruno@clisp.org>
26807
26808         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
26809         with explicit rpl_ prefix.
26810         * lib/fopen.c (fopen): Likewise.
26811         * lib/freopen.c (freopen): Likewise.
26812         * lib/iconv.c (iconv): Likewise.
26813         * lib/iconv_close.c (iconv_close): Likewise.
26814
26815 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26816
26817         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
26818
26819 2007-10-15  Bruno Haible  <bruno@clisp.org>
26820
26821         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
26822         <stddef.h> instead of <stdlib.h> since we only need NULL.
26823         Reported by Ben Pfaff <blp@cs.stanford.edu>.
26824
26825 2007-10-15  Bruno Haible  <bruno@clisp.org>
26826
26827         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
26828         Replace paragraph talking about LIBOBJS.
26829         Reported by Colin Watson <cjwatson@debian.org>.
26830
26831 2007-10-15  Bruno Haible  <bruno@clisp.org>
26832
26833         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
26834         <stdlib.h> before using NULL.
26835
26836 2007-10-15  Simon Josefsson  <simon@josefsson.org>
26837
26838         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
26839         Reported by Albert Chin <china@thewrittenword.com>.
26840
26841 2007-10-14  Bruno Haible  <bruno@clisp.org>
26842
26843         * modules/iconv_open-utf-tests: New file.
26844         * tests/test-iconv-utf.c: New file.
26845
26846         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
26847         * modules/iconv_open-utf: New file.
26848         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
26849         (iconv, iconv_close): New declarations.
26850         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
26851         be defined.
26852         (iconv_open): Add special handling of conversion between UTF-8 and
26853         UTF-{16,32}{BE,LE}.
26854         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
26855         * lib/iconv_close.c: New file.
26856         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
26857         gl_FUNC_ICONV_OPEN.
26858         (gl_FUNC_ICONV_OPEN): Use it.
26859         (gl_FUNC_ICONV_OPEN_UTF): New macro.
26860         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
26861         and REPLACE_ICONV_UTF.
26862         * modules/iconv_open (Depends-on): Add c-strcase.
26863         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
26864         ICONV_CONST.
26865         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
26866
26867 2007-10-13  Albert Chin  <china@thewrittenword.com>
26868             Bruno Haible  <bruno@clisp.org>
26869
26870         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
26871         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
26872
26873 2007-10-13  Bruno Haible  <bruno@clisp.org>
26874
26875         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
26876         defined, use the ISO C99 inline semantics.
26877         * lib/argp.h (ARGP_EI): Likewise.
26878
26879 2007-10-13  Bruno Haible  <bruno@clisp.org>
26880
26881         Handle 'inline' change in gcc 4.3.0.
26882         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
26883         argp_fmtstream_write, argp_fmtstream_set_lmargin,
26884         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
26885         argp_fmtstream_point): Disable 'extern' declaration if the function
26886         definition is going to be provided inline.
26887         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
26888         semantics, not the ISO C99 inline semantics.
26889         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
26890         'extern' declaration if the function definition is going to be provided
26891         inline.
26892         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
26893         the GNU C inline semantics, not the ISO C99 inline semantics. With
26894         GCC 4.2, avoid a warning.
26895
26896 2007-10-13  Bruno Haible  <bruno@clisp.org>
26897
26898         * lib/freading.h (freading): Enable the use of __freading for
26899         glibc >= 2.7.
26900         * lib/freading.c (freading): Likewise.
26901
26902 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
26903
26904         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
26905         "warning: C99 inline functions are not supported; using GNU89".
26906
26907 2007-10-12  Bruno Haible  <bruno@clisp.org>
26908
26909         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
26910         of 2.
26911         * tests/test-ceilf2.c: New file.
26912         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
26913
26914         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
26915         * modules/ceilf-tests: Update.
26916
26917 2007-10-12  Bruno Haible  <bruno@clisp.org>
26918
26919         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
26920         of 2.
26921         * tests/test-floorf2.c: New file.
26922         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
26923
26924         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
26925         * modules/floorf-tests: Update.
26926
26927 2007-10-12  Bruno Haible  <bruno@clisp.org>
26928
26929         * tests/test-trunc2.c: New file.
26930         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
26931
26932         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
26933         * modules/trunc-tests: Update.
26934
26935 2007-10-12  Bruno Haible  <bruno@clisp.org>
26936
26937         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
26938         of 2.
26939         * tests/test-truncf2.c: New file.
26940         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
26941
26942         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
26943         * modules/truncf-tests: Update.
26944
26945 2007-10-11  Eric Blake  <ebb9@byu.net>
26946
26947         Don't claim strerror is broken on Interix.
26948         * doc/functions/strerror.texi (strerror): Known broken systems are
26949         now Solaris 8, and not Interix.
26950         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
26951         Interix on cross-compile.
26952         Reported by Martin Koeppe in
26953         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
26954
26955 2007-10-11  Bruno Haible  <bruno@clisp.org>
26956
26957         * modules/i-ring-tests: New file.
26958         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
26959         instead of assert.
26960
26961 2007-10-11  Bruno Haible  <bruno@clisp.org>
26962
26963         * modules/filenamecat-tests: New file.
26964         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
26965         * lib/filenamecat.c: Remove test code.
26966
26967 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
26968
26969         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
26970
26971         * lib/strerror.c: Include <string.h> always, to test interface,
26972         and to remove the need for the dummy.
26973         Include intprops.h to compute width instead of doing it ourselves
26974         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
26975         (strerror): Define it to return NULL if there's no system strerror.
26976         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
26977         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
26978         ancient pre-strerror Unix systems well any more.  Saying "unknown
26979         system error" is enough.
26980         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
26981         simpler strerror.c implementation.
26982         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
26983         Simplify the tests to reflect the simpler strerror implementation.
26984         * modules/strerror (Depends-on): Add intprops.
26985
26986 2007-10-09  Eric Blake  <ebb9@byu.net>
26987
26988         Silence test-fpending.
26989         * modules/fpending-tests (Files): Add wrapper script.
26990         * tests/test-fpending.sh: New file.
26991
26992 2007-10-09  Bruno Haible  <bruno@clisp.org>
26993
26994         * MODULES.html.sh (func_module): Don't create a hyperlink for
26995         function names like 'printf_frexp'.
26996         (Misc): Add crc, memxor.
26997         (Characteristics of floating types): New section.
26998         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
26999         isnanf-nolibm, signbit, trunc, truncf, truncl.
27000         (Enhancements for ISO C 99 functions): New subsection Input/output.
27001         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
27002         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
27003         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
27004         (Compatibility checks for POSIX:2001 functions): Add clock-time.
27005         (Enhancements for POSIX:2001 functions): Add chdir-long.
27006         (File system functions): Add areadlink, chdir-safer, read-file.
27007         Remove cycle-check.
27008         (File system as inode set): New section.
27009         (Date and time): Add gethrxtime.
27010         (Multithreading): Add openmp.
27011         (Internationalization functions): Add localename.
27012         (Unicode string functions): Add unistr/u*-mbsnlen.
27013         (Support for maintaining and releasing projects): Add git-version-gen.
27014         (Lone files): Remove directories.
27015
27016 2007-10-08  Ben Pfaff  <blp@gnu.org>
27017
27018         * lib/xmalloca.h: Fix typo in comment.
27019
27020 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
27021
27022         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
27023         when avoiding problems with integer overflow.  Use a portable test
27024         instead.
27025
27026 2007-10-08  Simon Josefsson  <simon@josefsson.org>
27027
27028         * modules/dummy (License): Change to LGPLv2+.
27029         * modules/float (License): Likewise
27030         * modules/realloc (License): Likewise
27031         * modules/stdlib (License): Likewise
27032
27033 2007-10-07  Bruno Haible  <bruno@clisp.org>
27034
27035         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
27036         * floor.c (TWO_MANT_DIG): Likewise.
27037         * ceil.c (TWO_MANT_DIG): Likewise.
27038         Reported by Ben Pfaff.
27039
27040 2007-10-07  Bruno Haible  <bruno@clisp.org>
27041
27042         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
27043         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
27044         * lib/frexp.c (FUNC): Likewise.
27045         * lib/printf-frexp.h (printf_frexp): Likewise.
27046         * lib/printf-frexpl.h (printf_frexpl): Likewise.
27047         * lib/printf-frexp.c (FUNC): Likewise.
27048         Suggested by Jim Meyering.
27049
27050 2007-10-07  Jim Meyering  <meyering@redhat.com>
27051
27052         Make xnanosleep's integer overflow test more robust.
27053         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
27054         so that gcc-4.3.0 doesn't optimize away this test for overflow.
27055
27056 2007-10-07  Bruno Haible  <bruno@clisp.org>
27057
27058         * NEWS: Mention the license change.
27059
27060         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
27061         abbreviations in the modules files.
27062
27063         Change copyright notice from GPLv2+ to GPLv3+.
27064         * README: Change copyright notice.
27065         * MODULES.html.sh: Likewise.
27066         * build-aux/bootstrap.conf: Likewise.
27067         * build-aux/config.libpath: Likewise.
27068         * build-aux/csharpcomp.sh.in: Likewise.
27069         * build-aux/csharpexec.sh.in: Likewise.
27070         * build-aux/install-reloc: Likewise.
27071         * build-aux/javacomp.sh.in: Likewise.
27072         * build-aux/javaexec.sh.in: Likewise.
27073         * build-aux/ldd.sh.in: Likewise.
27074         * build-aux/reloc-ldflags: Likewise.
27075         * build-aux/relocatable.sh.in: Likewise.
27076         * build-aux/x-to-1.in: Likewise.
27077         * check-module: Likewise.
27078         * config/srclistvars.sh: Likewise.
27079         * gnulib-tool: Likewise.
27080         * lib/acl-internal.h: Likewise.
27081         * lib/acl.c: Likewise.
27082         * lib/acl.h: Likewise.
27083         * lib/acl_entries.c: Likewise.
27084         * lib/areadlink-with-size.c: Likewise.
27085         * lib/areadlink.c: Likewise.
27086         * lib/areadlink.h: Likewise.
27087         * lib/argmatch.c: Likewise.
27088         * lib/argmatch.h: Likewise.
27089         * lib/argp-ba.c: Likewise.
27090         * lib/argp-eexst.c: Likewise.
27091         * lib/argp-fmtstream.c: Likewise.
27092         * lib/argp-fmtstream.h: Likewise.
27093         * lib/argp-fs-xinl.c: Likewise.
27094         * lib/argp-help.c: Likewise.
27095         * lib/argp-namefrob.h: Likewise.
27096         * lib/argp-parse.c: Likewise.
27097         * lib/argp-pin.c: Likewise.
27098         * lib/argp-pv.c: Likewise.
27099         * lib/argp-pvh.c: Likewise.
27100         * lib/argp-xinl.c: Likewise.
27101         * lib/argp.h: Likewise.
27102         * lib/at-func.c: Likewise.
27103         * lib/atanl.c: Likewise.
27104         * lib/backupfile.c: Likewise.
27105         * lib/backupfile.h: Likewise.
27106         * lib/basename.c: Likewise.
27107         * lib/binary-io.h: Likewise.
27108         * lib/byteswap.in.h: Likewise.
27109         * lib/c-stack.c: Likewise.
27110         * lib/c-stack.h: Likewise.
27111         * lib/c-strcasestr.c: Likewise.
27112         * lib/c-strcasestr.h: Likewise.
27113         * lib/c-strstr.c: Likewise.
27114         * lib/c-strstr.h: Likewise.
27115         * lib/c-strtod.c: Likewise.
27116         * lib/calloc.c: Likewise.
27117         * lib/canon-host.c: Likewise.
27118         * lib/canon-host.h: Likewise.
27119         * lib/canonicalize-lgpl.c: Likewise.
27120         * lib/canonicalize.c: Likewise.
27121         * lib/canonicalize.h: Likewise.
27122         * lib/ceil.c: Likewise.
27123         * lib/ceilf.c: Likewise.
27124         * lib/ceill.c: Likewise.
27125         * lib/chdir-long.c: Likewise.
27126         * lib/chdir-long.h: Likewise.
27127         * lib/chdir-safer.c: Likewise.
27128         * lib/chdir-safer.h: Likewise.
27129         * lib/chown.c: Likewise.
27130         * lib/classpath.c: Likewise.
27131         * lib/classpath.h: Likewise.
27132         * lib/clean-temp.c: Likewise.
27133         * lib/clean-temp.h: Likewise.
27134         * lib/cloexec.c: Likewise.
27135         * lib/close-stream.c: Likewise.
27136         * lib/closein.c: Likewise.
27137         * lib/closein.h: Likewise.
27138         * lib/closeout.c: Likewise.
27139         * lib/closeout.h: Likewise.
27140         * lib/concat-filename.c: Likewise.
27141         * lib/copy-file.c: Likewise.
27142         * lib/copy-file.h: Likewise.
27143         * lib/count-one-bits.h: Likewise.
27144         * lib/crc.c: Likewise.
27145         * lib/crc.h: Likewise.
27146         * lib/creat-safer.c: Likewise.
27147         * lib/csharpcomp.c: Likewise.
27148         * lib/csharpcomp.h: Likewise.
27149         * lib/csharpexec.c: Likewise.
27150         * lib/csharpexec.h: Likewise.
27151         * lib/cycle-check.c: Likewise.
27152         * lib/cycle-check.h: Likewise.
27153         * lib/diacrit.c: Likewise.
27154         * lib/diacrit.h: Likewise.
27155         * lib/diffseq.h: Likewise.
27156         * lib/dirchownmod.c: Likewise.
27157         * lib/dirent.in.h: Likewise.
27158         * lib/dirfd.c: Likewise.
27159         * lib/dirfd.h: Likewise.
27160         * lib/dirname.c: Likewise.
27161         * lib/dirname.h: Likewise.
27162         * lib/dummy.c: Likewise.
27163         * lib/dup-safer.c: Likewise.
27164         * lib/dup2.c: Likewise.
27165         * lib/eealloc.h: Likewise.
27166         * lib/error.c: Likewise.
27167         * lib/error.h: Likewise.
27168         * lib/euidaccess.c: Likewise.
27169         * lib/exclude.c: Likewise.
27170         * lib/exclude.h: Likewise.
27171         * lib/execute.c: Likewise.
27172         * lib/execute.h: Likewise.
27173         * lib/exitfail.c: Likewise.
27174         * lib/exitfail.h: Likewise.
27175         * lib/expl.c: Likewise.
27176         * lib/fatal-signal.c: Likewise.
27177         * lib/fatal-signal.h: Likewise.
27178         * lib/fbufmode.c: Likewise.
27179         * lib/fbufmode.h: Likewise.
27180         * lib/fchdir.c: Likewise.
27181         * lib/fchmodat.c: Likewise.
27182         * lib/fchownat.c: Likewise.
27183         * lib/fcntl--.h: Likewise.
27184         * lib/fcntl-safer.h: Likewise.
27185         * lib/fcntl.in.h: Likewise.
27186         * lib/fd-safer.c: Likewise.
27187         * lib/fflush.c: Likewise.
27188         * lib/file-has-acl.c: Likewise.
27189         * lib/file-set.c: Likewise.
27190         * lib/file-type.c: Likewise.
27191         * lib/file-type.h: Likewise.
27192         * lib/fileblocks.c: Likewise.
27193         * lib/filemode.c: Likewise.
27194         * lib/filemode.h: Likewise.
27195         * lib/filename.h: Likewise.
27196         * lib/filenamecat.c: Likewise.
27197         * lib/filenamecat.h: Likewise.
27198         * lib/findprog.c: Likewise.
27199         * lib/findprog.h: Likewise.
27200         * lib/float.in.h: Likewise.
27201         * lib/floor.c: Likewise.
27202         * lib/floorf.c: Likewise.
27203         * lib/floorl.c: Likewise.
27204         * lib/fopen-safer.c: Likewise.
27205         * lib/fopen.c: Likewise.
27206         * lib/fpending.c: Likewise.
27207         * lib/fpending.h: Likewise.
27208         * lib/fprintf.c: Likewise.
27209         * lib/fprintftime.h: Likewise.
27210         * lib/fpucw.h: Likewise.
27211         * lib/fpurge.c: Likewise.
27212         * lib/fpurge.h: Likewise.
27213         * lib/freadable.c: Likewise.
27214         * lib/freadable.h: Likewise.
27215         * lib/freadahead.c: Likewise.
27216         * lib/freadahead.h: Likewise.
27217         * lib/freading.c: Likewise.
27218         * lib/freading.h: Likewise.
27219         * lib/free.c: Likewise.
27220         * lib/freopen.c: Likewise.
27221         * lib/frexp.c: Likewise.
27222         * lib/frexpl.c: Likewise.
27223         * lib/fseek.c: Likewise.
27224         * lib/fseterr.c: Likewise.
27225         * lib/fseterr.h: Likewise.
27226         * lib/fstatat.c: Likewise.
27227         * lib/fstrcmp.c: Likewise.
27228         * lib/fstrcmp.h: Likewise.
27229         * lib/fsusage.c: Likewise.
27230         * lib/fsusage.h: Likewise.
27231         * lib/ftell.c: Likewise.
27232         * lib/ftello.c: Likewise.
27233         * lib/fts-cycle.c: Likewise.
27234         * lib/fts.c: Likewise.
27235         * lib/fts_.h: Likewise.
27236         * lib/full-read.c: Likewise.
27237         * lib/full-read.h: Likewise.
27238         * lib/full-write.c: Likewise.
27239         * lib/full-write.h: Likewise.
27240         * lib/fwritable.c: Likewise.
27241         * lib/fwritable.h: Likewise.
27242         * lib/fwriteerror.c: Likewise.
27243         * lib/fwriteerror.h: Likewise.
27244         * lib/fwriting.c: Likewise.
27245         * lib/fwriting.h: Likewise.
27246         * lib/gcd.c: Likewise.
27247         * lib/gcd.h: Likewise.
27248         * lib/getcwd.c: Likewise.
27249         * lib/getdate.h: Likewise.
27250         * lib/getdate.y: Likewise.
27251         * lib/getdomainname.c: Likewise.
27252         * lib/getdomainname.h: Likewise.
27253         * lib/getgroups.c: Likewise.
27254         * lib/gethostname.c: Likewise.
27255         * lib/gethrxtime.c: Likewise.
27256         * lib/gethrxtime.h: Likewise.
27257         * lib/getloadavg.c: Likewise.
27258         * lib/getndelim2.c: Likewise.
27259         * lib/getndelim2.h: Likewise.
27260         * lib/getnline.c: Likewise.
27261         * lib/getnline.h: Likewise.
27262         * lib/getopt.c: Likewise.
27263         * lib/getopt.in.h: Likewise.
27264         * lib/getopt1.c: Likewise.
27265         * lib/getopt_int.h: Likewise.
27266         * lib/getpagesize.h: Likewise.
27267         * lib/getsubopt.c: Likewise.
27268         * lib/gettime.c: Likewise.
27269         * lib/getugroups.c: Likewise.
27270         * lib/getugroups.h: Likewise.
27271         * lib/getusershell.c: Likewise.
27272         * lib/gl_anyavltree_list1.h: Likewise.
27273         * lib/gl_anyavltree_list2.h: Likewise.
27274         * lib/gl_anyhash_list1.h: Likewise.
27275         * lib/gl_anyhash_list2.h: Likewise.
27276         * lib/gl_anylinked_list1.h: Likewise.
27277         * lib/gl_anylinked_list2.h: Likewise.
27278         * lib/gl_anyrbtree_list1.h: Likewise.
27279         * lib/gl_anyrbtree_list2.h: Likewise.
27280         * lib/gl_anytree_list1.h: Likewise.
27281         * lib/gl_anytree_list2.h: Likewise.
27282         * lib/gl_anytree_oset.h: Likewise.
27283         * lib/gl_anytreehash_list1.h: Likewise.
27284         * lib/gl_anytreehash_list2.h: Likewise.
27285         * lib/gl_array_list.c: Likewise.
27286         * lib/gl_array_list.h: Likewise.
27287         * lib/gl_array_oset.c: Likewise.
27288         * lib/gl_array_oset.h: Likewise.
27289         * lib/gl_avltree_list.c: Likewise.
27290         * lib/gl_avltree_list.h: Likewise.
27291         * lib/gl_avltree_oset.c: Likewise.
27292         * lib/gl_avltree_oset.h: Likewise.
27293         * lib/gl_avltreehash_list.c: Likewise.
27294         * lib/gl_avltreehash_list.h: Likewise.
27295         * lib/gl_carray_list.c: Likewise.
27296         * lib/gl_carray_list.h: Likewise.
27297         * lib/gl_linked_list.c: Likewise.
27298         * lib/gl_linked_list.h: Likewise.
27299         * lib/gl_linkedhash_list.c: Likewise.
27300         * lib/gl_linkedhash_list.h: Likewise.
27301         * lib/gl_list.c: Likewise.
27302         * lib/gl_list.h: Likewise.
27303         * lib/gl_oset.c: Likewise.
27304         * lib/gl_oset.h: Likewise.
27305         * lib/gl_rbtree_list.c: Likewise.
27306         * lib/gl_rbtree_list.h: Likewise.
27307         * lib/gl_rbtree_oset.c: Likewise.
27308         * lib/gl_rbtree_oset.h: Likewise.
27309         * lib/gl_rbtreehash_list.c: Likewise.
27310         * lib/gl_rbtreehash_list.h: Likewise.
27311         * lib/gl_sublist.c: Likewise.
27312         * lib/gl_sublist.h: Likewise.
27313         * lib/group-member.c: Likewise.
27314         * lib/group-member.h: Likewise.
27315         * lib/hard-locale.c: Likewise.
27316         * lib/hard-locale.h: Likewise.
27317         * lib/hash-pjw.c: Likewise.
27318         * lib/hash-pjw.h: Likewise.
27319         * lib/hash-triple.c: Likewise.
27320         * lib/hash.c: Likewise.
27321         * lib/hash.h: Likewise.
27322         * lib/human.c: Likewise.
27323         * lib/human.h: Likewise.
27324         * lib/i-ring.c: Likewise.
27325         * lib/i-ring.h: Likewise.
27326         * lib/idcache.c: Likewise.
27327         * lib/imaxabs.c: Likewise.
27328         * lib/imaxdiv.c: Likewise.
27329         * lib/inet_pton.c: Likewise.
27330         * lib/inet_pton.h: Likewise.
27331         * lib/intprops.h: Likewise.
27332         * lib/inttostr.c: Likewise.
27333         * lib/inttostr.h: Likewise.
27334         * lib/inttypes.in.h: Likewise.
27335         * lib/isapipe.c: Likewise.
27336         * lib/isdir.c: Likewise.
27337         * lib/isnan.c: Likewise.
27338         * lib/isnan.h: Likewise.
27339         * lib/isnanf.c: Likewise.
27340         * lib/isnanf.h: Likewise.
27341         * lib/isnanl-nolibm.h: Likewise.
27342         * lib/isnanl.c: Likewise.
27343         * lib/isnanl.h: Likewise.
27344         * lib/javacomp.c: Likewise.
27345         * lib/javacomp.h: Likewise.
27346         * lib/javaexec.c: Likewise.
27347         * lib/javaexec.h: Likewise.
27348         * lib/javaversion.c: Likewise.
27349         * lib/javaversion.h: Likewise.
27350         * lib/javaversion.java: Likewise.
27351         * lib/lbrkprop.h: Likewise.
27352         * lib/lchmod.h: Likewise.
27353         * lib/lchown.c: Likewise.
27354         * lib/ldexpl.c: Likewise.
27355         * lib/linebreak.c: Likewise.
27356         * lib/linebreak.h: Likewise.
27357         * lib/linebuffer.c: Likewise.
27358         * lib/linebuffer.h: Likewise.
27359         * lib/locale.in.h: Likewise.
27360         * lib/logl.c: Likewise.
27361         * lib/long-options.c: Likewise.
27362         * lib/long-options.h: Likewise.
27363         * lib/lstat.c: Likewise.
27364         * lib/lstat.h: Likewise.
27365         * lib/math.in.h: Likewise.
27366         * lib/mbchar.c: Likewise.
27367         * lib/mbchar.h: Likewise.
27368         * lib/mbfile.h: Likewise.
27369         * lib/mbiter.h: Likewise.
27370         * lib/mbscasecmp.c: Likewise.
27371         * lib/mbscasestr.c: Likewise.
27372         * lib/mbschr.c: Likewise.
27373         * lib/mbscspn.c: Likewise.
27374         * lib/mbslen.c: Likewise.
27375         * lib/mbsncasecmp.c: Likewise.
27376         * lib/mbsnlen.c: Likewise.
27377         * lib/mbspbrk.c: Likewise.
27378         * lib/mbspcasecmp.c: Likewise.
27379         * lib/mbsrchr.c: Likewise.
27380         * lib/mbssep.c: Likewise.
27381         * lib/mbsspn.c: Likewise.
27382         * lib/mbsstr.c: Likewise.
27383         * lib/mbstok_r.c: Likewise.
27384         * lib/mbswidth.c: Likewise.
27385         * lib/mbswidth.h: Likewise.
27386         * lib/mbuiter.h: Likewise.
27387         * lib/memcasecmp.c: Likewise.
27388         * lib/memcasecmp.h: Likewise.
27389         * lib/memchr.c: Likewise.
27390         * lib/memcmp.c: Likewise.
27391         * lib/memcoll.c: Likewise.
27392         * lib/memcoll.h: Likewise.
27393         * lib/memcpy.c: Likewise.
27394         * lib/memrchr.c: Likewise.
27395         * lib/mkancesdirs.c: Likewise.
27396         * lib/mkdir-p.c: Likewise.
27397         * lib/mkdir-p.h: Likewise.
27398         * lib/mkdir.c: Likewise.
27399         * lib/mkdirat.c: Likewise.
27400         * lib/mkdtemp.c: Likewise.
27401         * lib/mkstemp-safer.c: Likewise.
27402         * lib/mkstemp.c: Likewise.
27403         * lib/modechange.c: Likewise.
27404         * lib/modechange.h: Likewise.
27405         * lib/mountlist.c: Likewise.
27406         * lib/mountlist.h: Likewise.
27407         * lib/mpsort.c: Likewise.
27408         * lib/nanosleep.c: Likewise.
27409         * lib/obstack.c: Likewise.
27410         * lib/obstack.h: Likewise.
27411         * lib/open-safer.c: Likewise.
27412         * lib/open.c: Likewise.
27413         * lib/openat-die.c: Likewise.
27414         * lib/openat-priv.h: Likewise.
27415         * lib/openat-proc.c: Likewise.
27416         * lib/openat.c: Likewise.
27417         * lib/openat.h: Likewise.
27418         * lib/pagealign_alloc.c: Likewise.
27419         * lib/pagealign_alloc.h: Likewise.
27420         * lib/physmem.c: Likewise.
27421         * lib/physmem.h: Likewise.
27422         * lib/pipe-safer.c: Likewise.
27423         * lib/pipe.c: Likewise.
27424         * lib/pipe.h: Likewise.
27425         * lib/posixtm.c: Likewise.
27426         * lib/posixtm.h: Likewise.
27427         * lib/posixver.c: Likewise.
27428         * lib/printf-frexp.c: Likewise.
27429         * lib/printf-frexp.h: Likewise.
27430         * lib/printf-frexpl.c: Likewise.
27431         * lib/printf-frexpl.h: Likewise.
27432         * lib/printf.c: Likewise.
27433         * lib/progname.c: Likewise.
27434         * lib/progname.h: Likewise.
27435         * lib/progreloc.c: Likewise.
27436         * lib/putenv.c: Likewise.
27437         * lib/quote.c: Likewise.
27438         * lib/quote.h: Likewise.
27439         * lib/quotearg.c: Likewise.
27440         * lib/quotearg.h: Likewise.
27441         * lib/raise.c: Likewise.
27442         * lib/readline.c: Likewise.
27443         * lib/readline.h: Likewise.
27444         * lib/readlink.c: Likewise.
27445         * lib/readtokens.c: Likewise.
27446         * lib/readtokens.h: Likewise.
27447         * lib/readtokens0.c: Likewise.
27448         * lib/readtokens0.h: Likewise.
27449         * lib/readutmp.c: Likewise.
27450         * lib/readutmp.h: Likewise.
27451         * lib/realloc.c: Likewise.
27452         * lib/relocwrapper.c: Likewise.
27453         * lib/rename-dest-slash.c: Likewise.
27454         * lib/rename.c: Likewise.
27455         * lib/rmdir.c: Likewise.
27456         * lib/rpmatch.c: Likewise.
27457         * lib/safe-read.c: Likewise.
27458         * lib/safe-read.h: Likewise.
27459         * lib/safe-write.c: Likewise.
27460         * lib/safe-write.h: Likewise.
27461         * lib/same-inode.h: Likewise.
27462         * lib/same.c: Likewise.
27463         * lib/same.h: Likewise.
27464         * lib/save-cwd.c: Likewise.
27465         * lib/save-cwd.h: Likewise.
27466         * lib/savedir.c: Likewise.
27467         * lib/savedir.h: Likewise.
27468         * lib/savewd.c: Likewise.
27469         * lib/savewd.h: Likewise.
27470         * lib/search.in.h: Likewise.
27471         * lib/setenv.c: Likewise.
27472         * lib/setenv.h: Likewise.
27473         * lib/settime.c: Likewise.
27474         * lib/sh-quote.c: Likewise.
27475         * lib/sh-quote.h: Likewise.
27476         * lib/sig2str.c: Likewise.
27477         * lib/sig2str.h: Likewise.
27478         * lib/signal.in.h: Likewise.
27479         * lib/signbitd.c: Likewise.
27480         * lib/signbitf.c: Likewise.
27481         * lib/signbitl.c: Likewise.
27482         * lib/sigprocmask.c: Likewise.
27483         * lib/sincosl.c: Likewise.
27484         * lib/sleep.c: Likewise.
27485         * lib/sprintf.c: Likewise.
27486         * lib/sqrtl.c: Likewise.
27487         * lib/stat-time.h: Likewise.
27488         * lib/stdio--.h: Likewise.
27489         * lib/stdio-safer.h: Likewise.
27490         * lib/stdlib--.h: Likewise.
27491         * lib/stdlib-safer.h: Likewise.
27492         * lib/stdlib.in.h: Likewise.
27493         * lib/stpcpy.c: Likewise.
27494         * lib/stpncpy.c: Likewise.
27495         * lib/strchrnul.c: Likewise.
27496         * lib/strcspn.c: Likewise.
27497         * lib/strerror.c: Likewise.
27498         * lib/strftime.c: Likewise.
27499         * lib/strftime.h: Likewise.
27500         * lib/striconveh.c: Likewise.
27501         * lib/striconveh.h: Likewise.
27502         * lib/striconveha.c: Likewise.
27503         * lib/striconveha.h: Likewise.
27504         * lib/stripslash.c: Likewise.
27505         * lib/strnlen1.c: Likewise.
27506         * lib/strnlen1.h: Likewise.
27507         * lib/strtod.c: Likewise.
27508         * lib/strtoimax.c: Likewise.
27509         * lib/strtok_r.c: Likewise.
27510         * lib/strtol.c: Likewise.
27511         * lib/strtoll.c: Likewise.
27512         * lib/strtoul.c: Likewise.
27513         * lib/strtoull.c: Likewise.
27514         * lib/sysexits.in.h: Likewise.
27515         * lib/tempname.c: Likewise.
27516         * lib/tempname.h: Likewise.
27517         * lib/timespec.h: Likewise.
27518         * lib/tls.c: Likewise.
27519         * lib/tls.h: Likewise.
27520         * lib/tmpdir.c: Likewise.
27521         * lib/tmpdir.h: Likewise.
27522         * lib/tmpfile-safer.c: Likewise.
27523         * lib/tmpfile.c: Likewise.
27524         * lib/trigl.c: Likewise.
27525         * lib/trigl.h: Likewise.
27526         * lib/trim.c: Likewise.
27527         * lib/trim.h: Likewise.
27528         * lib/trunc.c: Likewise.
27529         * lib/truncf.c: Likewise.
27530         * lib/truncl.c: Likewise.
27531         * lib/tsearch.c: Likewise.
27532         * lib/unicodeio.c: Likewise.
27533         * lib/unicodeio.h: Likewise.
27534         * lib/unistd--.h: Likewise.
27535         * lib/unistd-safer.h: Likewise.
27536         * lib/unistdio/ulc-fprintf.c: Likewise.
27537         * lib/unistdio/ulc-vfprintf.c: Likewise.
27538         * lib/unlinkdir.c: Likewise.
27539         * lib/unlinkdir.h: Likewise.
27540         * lib/unlocked-io.h: Likewise.
27541         * lib/unsetenv.c: Likewise.
27542         * lib/userspec.c: Likewise.
27543         * lib/utime.c: Likewise.
27544         * lib/utimecmp.c: Likewise.
27545         * lib/utimecmp.h: Likewise.
27546         * lib/utimens.c: Likewise.
27547         * lib/verify.h: Likewise.
27548         * lib/verror.c: Likewise.
27549         * lib/verror.h: Likewise.
27550         * lib/version-etc-fsf.c: Likewise.
27551         * lib/version-etc.c: Likewise.
27552         * lib/version-etc.h: Likewise.
27553         * lib/vfprintf.c: Likewise.
27554         * lib/vprintf.c: Likewise.
27555         * lib/vsprintf.c: Likewise.
27556         * lib/w32spawn.h: Likewise.
27557         * lib/wait-process.c: Likewise.
27558         * lib/wait-process.h: Likewise.
27559         * lib/wcwidth.c: Likewise.
27560         * lib/write-any-file.c: Likewise.
27561         * lib/xalloc-die.c: Likewise.
27562         * lib/xalloc.h: Likewise.
27563         * lib/xasprintf.c: Likewise.
27564         * lib/xgetcwd.c: Likewise.
27565         * lib/xgetcwd.h: Likewise.
27566         * lib/xgetdomainname.c: Likewise.
27567         * lib/xgetdomainname.h: Likewise.
27568         * lib/xgethostname.c: Likewise.
27569         * lib/xmalloc.c: Likewise.
27570         * lib/xmalloca.c: Likewise.
27571         * lib/xmalloca.h: Likewise.
27572         * lib/xmemcoll.c: Likewise.
27573         * lib/xnanosleep.c: Likewise.
27574         * lib/xreadlink.c: Likewise.
27575         * lib/xreadlink.h: Likewise.
27576         * lib/xsetenv.c: Likewise.
27577         * lib/xsetenv.h: Likewise.
27578         * lib/xstriconv.c: Likewise.
27579         * lib/xstriconv.h: Likewise.
27580         * lib/xstrndup.c: Likewise.
27581         * lib/xstrndup.h: Likewise.
27582         * lib/xstrtod.c: Likewise.
27583         * lib/xstrtod.h: Likewise.
27584         * lib/xstrtol-error.c: Likewise.
27585         * lib/xstrtol.c: Likewise.
27586         * lib/xstrtol.h: Likewise.
27587         * lib/xtime.h: Likewise.
27588         * lib/xvasprintf.c: Likewise.
27589         * lib/xvasprintf.h: Likewise.
27590         * lib/yesno.c: Likewise.
27591         * lib/yesno.h: Likewise.
27592         * posix-modules: Likewise.
27593         * tests/test-alloca-opt.c: Likewise.
27594         * tests/test-arcfour.c: Likewise.
27595         * tests/test-arctwo.c: Likewise.
27596         * tests/test-argmatch.c: Likewise.
27597         * tests/test-argp-2.sh: Likewise.
27598         * tests/test-argp.c: Likewise.
27599         * tests/test-arpa_inet.c: Likewise.
27600         * tests/test-array_list.c: Likewise.
27601         * tests/test-array_oset.c: Likewise.
27602         * tests/test-atexit.c: Likewise.
27603         * tests/test-avltree_list.c: Likewise.
27604         * tests/test-avltree_oset.c: Likewise.
27605         * tests/test-avltreehash_list.c: Likewise.
27606         * tests/test-base64.c: Likewise.
27607         * tests/test-binary-io.c: Likewise.
27608         * tests/test-byteswap.c: Likewise.
27609         * tests/test-c-ctype.c: Likewise.
27610         * tests/test-c-strcasecmp.c: Likewise.
27611         * tests/test-c-strcasestr.c: Likewise.
27612         * tests/test-c-strncasecmp.c: Likewise.
27613         * tests/test-c-strstr.c: Likewise.
27614         * tests/test-canonicalize-lgpl.c: Likewise.
27615         * tests/test-canonicalize.c: Likewise.
27616         * tests/test-carray_list.c: Likewise.
27617         * tests/test-ceilf.c: Likewise.
27618         * tests/test-ceill.c: Likewise.
27619         * tests/test-count-one-bits.c: Likewise.
27620         * tests/test-crc.c: Likewise.
27621         * tests/test-dirname.c: Likewise.
27622         * tests/test-fbufmode.c: Likewise.
27623         * tests/test-fcntl.c: Likewise.
27624         * tests/test-fflush.c: Likewise.
27625         * tests/test-floorf.c: Likewise.
27626         * tests/test-floorl.c: Likewise.
27627         * tests/test-fopen.c: Likewise.
27628         * tests/test-fprintf-posix.c: Likewise.
27629         * tests/test-fprintf-posix.h: Likewise.
27630         * tests/test-fpurge.c: Likewise.
27631         * tests/test-freadable.c: Likewise.
27632         * tests/test-freadahead.c: Likewise.
27633         * tests/test-freading.c: Likewise.
27634         * tests/test-freopen.c: Likewise.
27635         * tests/test-frexp.c: Likewise.
27636         * tests/test-frexpl.c: Likewise.
27637         * tests/test-fseek.c: Likewise.
27638         * tests/test-fseeko.c: Likewise.
27639         * tests/test-fseterr.c: Likewise.
27640         * tests/test-fstrcmp.c: Likewise.
27641         * tests/test-ftell.c: Likewise.
27642         * tests/test-ftello.c: Likewise.
27643         * tests/test-fwritable.c: Likewise.
27644         * tests/test-fwriting.c: Likewise.
27645         * tests/test-getaddrinfo.c: Likewise.
27646         * tests/test-getpass.c: Likewise.
27647         * tests/test-gettimeofday.c: Likewise.
27648         * tests/test-hmac-md5.c: Likewise.
27649         * tests/test-hmac-sha1.c: Likewise.
27650         * tests/test-iconv.c: Likewise.
27651         * tests/test-iconvme.c: Likewise.
27652         * tests/test-inttypes.c: Likewise.
27653         * tests/test-isnan.c: Likewise.
27654         * tests/test-isnanf.c: Likewise.
27655         * tests/test-isnanl-nolibm.c: Likewise.
27656         * tests/test-isnanl.c: Likewise.
27657         * tests/test-isnanl.h: Likewise.
27658         * tests/test-ldexpl.c: Likewise.
27659         * tests/test-linked_list.c: Likewise.
27660         * tests/test-linkedhash_list.c: Likewise.
27661         * tests/test-locale.c: Likewise.
27662         * tests/test-localename.c: Likewise.
27663         * tests/test-lock.c: Likewise.
27664         * tests/test-lseek.c: Likewise.
27665         * tests/test-malloca.c: Likewise.
27666         * tests/test-math.c: Likewise.
27667         * tests/test-mbscasecmp.c: Likewise.
27668         * tests/test-mbscasestr1.c: Likewise.
27669         * tests/test-mbscasestr2.c: Likewise.
27670         * tests/test-mbscasestr3.c: Likewise.
27671         * tests/test-mbscasestr4.c: Likewise.
27672         * tests/test-mbschr.c: Likewise.
27673         * tests/test-mbscspn.c: Likewise.
27674         * tests/test-mbsncasecmp.c: Likewise.
27675         * tests/test-mbspbrk.c: Likewise.
27676         * tests/test-mbspcasecmp.c: Likewise.
27677         * tests/test-mbsrchr.c: Likewise.
27678         * tests/test-mbsspn.c: Likewise.
27679         * tests/test-mbsstr1.c: Likewise.
27680         * tests/test-mbsstr2.c: Likewise.
27681         * tests/test-mbsstr3.c: Likewise.
27682         * tests/test-md5.c: Likewise.
27683         * tests/test-memmem.c: Likewise.
27684         * tests/test-netinet_in.c: Likewise.
27685         * tests/test-open.c: Likewise.
27686         * tests/test-printf-frexp.c: Likewise.
27687         * tests/test-printf-frexpl.c: Likewise.
27688         * tests/test-printf-posix.c: Likewise.
27689         * tests/test-printf-posix.h: Likewise.
27690         * tests/test-rbtree_list.c: Likewise.
27691         * tests/test-rbtree_oset.c: Likewise.
27692         * tests/test-rbtreehash_list.c: Likewise.
27693         * tests/test-read-file.c: Likewise.
27694         * tests/test-rijndael.c: Likewise.
27695         * tests/test-search.c: Likewise.
27696         * tests/test-signbit.c: Likewise.
27697         * tests/test-sleep.c: Likewise.
27698         * tests/test-snprintf-posix.c: Likewise.
27699         * tests/test-snprintf-posix.h: Likewise.
27700         * tests/test-snprintf.c: Likewise.
27701         * tests/test-sprintf-posix.c: Likewise.
27702         * tests/test-sprintf-posix.h: Likewise.
27703         * tests/test-stat-time.c: Likewise.
27704         * tests/test-stdbool.c: Likewise.
27705         * tests/test-stdint.c: Likewise.
27706         * tests/test-stdio.c: Likewise.
27707         * tests/test-stdlib.c: Likewise.
27708         * tests/test-stpncpy.c: Likewise.
27709         * tests/test-strcasestr.c: Likewise.
27710         * tests/test-striconv.c: Likewise.
27711         * tests/test-striconveh.c: Likewise.
27712         * tests/test-striconveha.c: Likewise.
27713         * tests/test-string.c: Likewise.
27714         * tests/test-sys_select.c: Likewise.
27715         * tests/test-sys_socket.c: Likewise.
27716         * tests/test-sys_stat.c: Likewise.
27717         * tests/test-sys_time.c: Likewise.
27718         * tests/test-sysexits.c: Likewise.
27719         * tests/test-time.c: Likewise.
27720         * tests/test-tls.c: Likewise.
27721         * tests/test-trunc.c: Likewise.
27722         * tests/test-truncf.c: Likewise.
27723         * tests/test-truncl.c: Likewise.
27724         * tests/test-unistd.c: Likewise.
27725         * tests/test-vasnprintf-posix.c: Likewise.
27726         * tests/test-vasnprintf-posix2.c: Likewise.
27727         * tests/test-vasnprintf.c: Likewise.
27728         * tests/test-vasprintf-posix.c: Likewise.
27729         * tests/test-vasprintf.c: Likewise.
27730         * tests/test-verify.c: Likewise.
27731         * tests/test-vfprintf-posix.c: Likewise.
27732         * tests/test-vprintf-posix.c: Likewise.
27733         * tests/test-vsnprintf-posix.c: Likewise.
27734         * tests/test-vsnprintf.c: Likewise.
27735         * tests/test-vsprintf-posix.c: Likewise.
27736         * tests/test-wchar.c: Likewise.
27737         * tests/test-wctype.c: Likewise.
27738         * tests/test-wcwidth.c: Likewise.
27739         * tests/test-xstrtol.c: Likewise.
27740         * tests/test-xvasprintf.c: Likewise.
27741         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
27742         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
27743         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
27744         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
27745         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
27746         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
27747         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
27748         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
27749         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
27750         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
27751         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
27752         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
27753         * tests/uniname/test-uninames.c: Likewise.
27754         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
27755         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
27756         * tests/unistdio/test-u16-printf1.h: Likewise.
27757         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
27758         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
27759         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
27760         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
27761         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
27762         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
27763         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
27764         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
27765         * tests/unistdio/test-u32-printf1.h: Likewise.
27766         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
27767         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
27768         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
27769         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
27770         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
27771         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
27772         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
27773         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
27774         * tests/unistdio/test-u8-printf1.h: Likewise.
27775         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
27776         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
27777         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
27778         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
27779         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
27780         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
27781         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
27782         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
27783         * tests/unistdio/test-ulc-printf1.h: Likewise.
27784         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
27785         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
27786         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
27787         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
27788         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
27789         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
27790         * tests/uniwidth/test-u16-strwidth.c: Likewise.
27791         * tests/uniwidth/test-u16-width.c: Likewise.
27792         * tests/uniwidth/test-u32-strwidth.c: Likewise.
27793         * tests/uniwidth/test-u32-width.c: Likewise.
27794         * tests/uniwidth/test-u8-strwidth.c: Likewise.
27795         * tests/uniwidth/test-u8-width.c: Likewise.
27796         * tests/uniwidth/test-uc_width.c: Likewise.
27797         * config/srclist-update: Likewise.
27798         (fixlicense): Update to GPLv3+.
27799
27800         Change copyright notice from LGPLv2.1+ to LGPLv3+.
27801         * tests/test-tsearch.c: Change copyright notice.
27802
27803         Change copyright notice from LGPLv2.0+ to LGPLv3+.
27804         * lib/c-strcaseeq.h: Change copyright notice.
27805         * lib/streq.h: Likewise.
27806         * lib/uniconv.h: Likewise.
27807         * lib/uniconv/u-conv-from-enc.h: Likewise.
27808         * lib/uniconv/u-conv-to-enc.h: Likewise.
27809         * lib/uniconv/u-strconv-from-enc.h: Likewise.
27810         * lib/uniconv/u-strconv-to-enc.h: Likewise.
27811         * lib/uniconv/u16-conv-from-enc.c: Likewise.
27812         * lib/uniconv/u16-conv-to-enc.c: Likewise.
27813         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
27814         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
27815         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
27816         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
27817         * lib/uniconv/u32-conv-from-enc.c: Likewise.
27818         * lib/uniconv/u32-conv-to-enc.c: Likewise.
27819         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
27820         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
27821         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
27822         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
27823         * lib/uniconv/u8-conv-from-enc.c: Likewise.
27824         * lib/uniconv/u8-conv-to-enc.c: Likewise.
27825         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
27826         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
27827         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
27828         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
27829         * lib/uniname.h: Likewise.
27830         * lib/uniname/uniname.c: Likewise.
27831         * lib/unistdio.h: Likewise.
27832         * lib/unistdio/u-asnprintf.h: Likewise.
27833         * lib/unistdio/u-asprintf.h: Likewise.
27834         * lib/unistdio/u-printf-args.c: Likewise.
27835         * lib/unistdio/u-printf-args.h: Likewise.
27836         * lib/unistdio/u-printf-parse.h: Likewise.
27837         * lib/unistdio/u-snprintf.h: Likewise.
27838         * lib/unistdio/u-sprintf.h: Likewise.
27839         * lib/unistdio/u-vasprintf.h: Likewise.
27840         * lib/unistdio/u-vsnprintf.h: Likewise.
27841         * lib/unistdio/u-vsprintf.h: Likewise.
27842         * lib/unistdio/u16-asnprintf.c: Likewise.
27843         * lib/unistdio/u16-asprintf.c: Likewise.
27844         * lib/unistdio/u16-printf-parse.c: Likewise.
27845         * lib/unistdio/u16-snprintf.c: Likewise.
27846         * lib/unistdio/u16-sprintf.c: Likewise.
27847         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
27848         * lib/unistdio/u16-u16-asprintf.c: Likewise.
27849         * lib/unistdio/u16-u16-snprintf.c: Likewise.
27850         * lib/unistdio/u16-u16-sprintf.c: Likewise.
27851         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
27852         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
27853         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
27854         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
27855         * lib/unistdio/u16-vasnprintf.c: Likewise.
27856         * lib/unistdio/u16-vasprintf.c: Likewise.
27857         * lib/unistdio/u16-vsnprintf.c: Likewise.
27858         * lib/unistdio/u16-vsprintf.c: Likewise.
27859         * lib/unistdio/u32-asnprintf.c: Likewise.
27860         * lib/unistdio/u32-asprintf.c: Likewise.
27861         * lib/unistdio/u32-printf-parse.c: Likewise.
27862         * lib/unistdio/u32-snprintf.c: Likewise.
27863         * lib/unistdio/u32-sprintf.c: Likewise.
27864         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
27865         * lib/unistdio/u32-u32-asprintf.c: Likewise.
27866         * lib/unistdio/u32-u32-snprintf.c: Likewise.
27867         * lib/unistdio/u32-u32-sprintf.c: Likewise.
27868         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
27869         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
27870         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
27871         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
27872         * lib/unistdio/u32-vasnprintf.c: Likewise.
27873         * lib/unistdio/u32-vasprintf.c: Likewise.
27874         * lib/unistdio/u32-vsnprintf.c: Likewise.
27875         * lib/unistdio/u32-vsprintf.c: Likewise.
27876         * lib/unistdio/u8-asnprintf.c: Likewise.
27877         * lib/unistdio/u8-asprintf.c: Likewise.
27878         * lib/unistdio/u8-printf-parse.c: Likewise.
27879         * lib/unistdio/u8-snprintf.c: Likewise.
27880         * lib/unistdio/u8-sprintf.c: Likewise.
27881         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
27882         * lib/unistdio/u8-u8-asprintf.c: Likewise.
27883         * lib/unistdio/u8-u8-snprintf.c: Likewise.
27884         * lib/unistdio/u8-u8-sprintf.c: Likewise.
27885         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
27886         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
27887         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
27888         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
27889         * lib/unistdio/u8-vasnprintf.c: Likewise.
27890         * lib/unistdio/u8-vasprintf.c: Likewise.
27891         * lib/unistdio/u8-vsnprintf.c: Likewise.
27892         * lib/unistdio/u8-vsprintf.c: Likewise.
27893         * lib/unistdio/ulc-asnprintf.c: Likewise.
27894         * lib/unistdio/ulc-asprintf.c: Likewise.
27895         * lib/unistdio/ulc-printf-parse.c: Likewise.
27896         * lib/unistdio/ulc-snprintf.c: Likewise.
27897         * lib/unistdio/ulc-sprintf.c: Likewise.
27898         * lib/unistdio/ulc-vasnprintf.c: Likewise.
27899         * lib/unistdio/ulc-vasprintf.c: Likewise.
27900         * lib/unistdio/ulc-vsnprintf.c: Likewise.
27901         * lib/unistdio/ulc-vsprintf.c: Likewise.
27902         * lib/unistr.h: Likewise.
27903         * lib/unistr/u-cpy-alloc.h: Likewise.
27904         * lib/unistr/u-cpy.h: Likewise.
27905         * lib/unistr/u-endswith.h: Likewise.
27906         * lib/unistr/u-move.h: Likewise.
27907         * lib/unistr/u-set.h: Likewise.
27908         * lib/unistr/u-startswith.h: Likewise.
27909         * lib/unistr/u-stpcpy.h: Likewise.
27910         * lib/unistr/u-stpncpy.h: Likewise.
27911         * lib/unistr/u-strcat.h: Likewise.
27912         * lib/unistr/u-strcpy.h: Likewise.
27913         * lib/unistr/u-strcspn.h: Likewise.
27914         * lib/unistr/u-strdup.h: Likewise.
27915         * lib/unistr/u-strlen.h: Likewise.
27916         * lib/unistr/u-strncat.h: Likewise.
27917         * lib/unistr/u-strncpy.h: Likewise.
27918         * lib/unistr/u-strnlen.h: Likewise.
27919         * lib/unistr/u-strpbrk.h: Likewise.
27920         * lib/unistr/u-strspn.h: Likewise.
27921         * lib/unistr/u-strstr.h: Likewise.
27922         * lib/unistr/u-strtok.h: Likewise.
27923         * lib/unistr/u16-check.c: Likewise.
27924         * lib/unistr/u16-chr.c: Likewise.
27925         * lib/unistr/u16-cmp.c: Likewise.
27926         * lib/unistr/u16-cpy-alloc.c: Likewise.
27927         * lib/unistr/u16-cpy.c: Likewise.
27928         * lib/unistr/u16-endswith.c: Likewise.
27929         * lib/unistr/u16-mblen.c: Likewise.
27930         * lib/unistr/u16-mbsnlen.c: Likewise.
27931         * lib/unistr/u16-mbtouc-aux.c: Likewise.
27932         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
27933         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
27934         * lib/unistr/u16-mbtouc.c: Likewise.
27935         * lib/unistr/u16-mbtoucr.c: Likewise.
27936         * lib/unistr/u16-move.c: Likewise.
27937         * lib/unistr/u16-next.c: Likewise.
27938         * lib/unistr/u16-prev.c: Likewise.
27939         * lib/unistr/u16-set.c: Likewise.
27940         * lib/unistr/u16-startswith.c: Likewise.
27941         * lib/unistr/u16-stpcpy.c: Likewise.
27942         * lib/unistr/u16-stpncpy.c: Likewise.
27943         * lib/unistr/u16-strcat.c: Likewise.
27944         * lib/unistr/u16-strchr.c: Likewise.
27945         * lib/unistr/u16-strcmp.c: Likewise.
27946         * lib/unistr/u16-strcpy.c: Likewise.
27947         * lib/unistr/u16-strcspn.c: Likewise.
27948         * lib/unistr/u16-strdup.c: Likewise.
27949         * lib/unistr/u16-strlen.c: Likewise.
27950         * lib/unistr/u16-strmblen.c: Likewise.
27951         * lib/unistr/u16-strmbtouc.c: Likewise.
27952         * lib/unistr/u16-strncat.c: Likewise.
27953         * lib/unistr/u16-strncmp.c: Likewise.
27954         * lib/unistr/u16-strncpy.c: Likewise.
27955         * lib/unistr/u16-strnlen.c: Likewise.
27956         * lib/unistr/u16-strpbrk.c: Likewise.
27957         * lib/unistr/u16-strrchr.c: Likewise.
27958         * lib/unistr/u16-strspn.c: Likewise.
27959         * lib/unistr/u16-strstr.c: Likewise.
27960         * lib/unistr/u16-strtok.c: Likewise.
27961         * lib/unistr/u16-to-u32.c: Likewise.
27962         * lib/unistr/u16-to-u8.c: Likewise.
27963         * lib/unistr/u16-uctomb-aux.c: Likewise.
27964         * lib/unistr/u16-uctomb.c: Likewise.
27965         * lib/unistr/u32-check.c: Likewise.
27966         * lib/unistr/u32-chr.c: Likewise.
27967         * lib/unistr/u32-cmp.c: Likewise.
27968         * lib/unistr/u32-cpy-alloc.c: Likewise.
27969         * lib/unistr/u32-cpy.c: Likewise.
27970         * lib/unistr/u32-endswith.c: Likewise.
27971         * lib/unistr/u32-mblen.c: Likewise.
27972         * lib/unistr/u32-mbsnlen.c: Likewise.
27973         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
27974         * lib/unistr/u32-mbtouc.c: Likewise.
27975         * lib/unistr/u32-mbtoucr.c: Likewise.
27976         * lib/unistr/u32-move.c: Likewise.
27977         * lib/unistr/u32-next.c: Likewise.
27978         * lib/unistr/u32-prev.c: Likewise.
27979         * lib/unistr/u32-set.c: Likewise.
27980         * lib/unistr/u32-startswith.c: Likewise.
27981         * lib/unistr/u32-stpcpy.c: Likewise.
27982         * lib/unistr/u32-stpncpy.c: Likewise.
27983         * lib/unistr/u32-strcat.c: Likewise.
27984         * lib/unistr/u32-strchr.c: Likewise.
27985         * lib/unistr/u32-strcmp.c: Likewise.
27986         * lib/unistr/u32-strcpy.c: Likewise.
27987         * lib/unistr/u32-strcspn.c: Likewise.
27988         * lib/unistr/u32-strdup.c: Likewise.
27989         * lib/unistr/u32-strlen.c: Likewise.
27990         * lib/unistr/u32-strmblen.c: Likewise.
27991         * lib/unistr/u32-strmbtouc.c: Likewise.
27992         * lib/unistr/u32-strncat.c: Likewise.
27993         * lib/unistr/u32-strncmp.c: Likewise.
27994         * lib/unistr/u32-strncpy.c: Likewise.
27995         * lib/unistr/u32-strnlen.c: Likewise.
27996         * lib/unistr/u32-strpbrk.c: Likewise.
27997         * lib/unistr/u32-strrchr.c: Likewise.
27998         * lib/unistr/u32-strspn.c: Likewise.
27999         * lib/unistr/u32-strstr.c: Likewise.
28000         * lib/unistr/u32-strtok.c: Likewise.
28001         * lib/unistr/u32-to-u16.c: Likewise.
28002         * lib/unistr/u32-to-u8.c: Likewise.
28003         * lib/unistr/u32-uctomb.c: Likewise.
28004         * lib/unistr/u8-check.c: Likewise.
28005         * lib/unistr/u8-chr.c: Likewise.
28006         * lib/unistr/u8-cmp.c: Likewise.
28007         * lib/unistr/u8-cpy-alloc.c: Likewise.
28008         * lib/unistr/u8-cpy.c: Likewise.
28009         * lib/unistr/u8-endswith.c: Likewise.
28010         * lib/unistr/u8-mblen.c: Likewise.
28011         * lib/unistr/u8-mbsnlen.c: Likewise.
28012         * lib/unistr/u8-mbtouc-aux.c: Likewise.
28013         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
28014         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
28015         * lib/unistr/u8-mbtouc.c: Likewise.
28016         * lib/unistr/u8-mbtoucr.c: Likewise.
28017         * lib/unistr/u8-move.c: Likewise.
28018         * lib/unistr/u8-next.c: Likewise.
28019         * lib/unistr/u8-prev.c: Likewise.
28020         * lib/unistr/u8-set.c: Likewise.
28021         * lib/unistr/u8-startswith.c: Likewise.
28022         * lib/unistr/u8-stpcpy.c: Likewise.
28023         * lib/unistr/u8-stpncpy.c: Likewise.
28024         * lib/unistr/u8-strcat.c: Likewise.
28025         * lib/unistr/u8-strchr.c: Likewise.
28026         * lib/unistr/u8-strcmp.c: Likewise.
28027         * lib/unistr/u8-strcpy.c: Likewise.
28028         * lib/unistr/u8-strcspn.c: Likewise.
28029         * lib/unistr/u8-strdup.c: Likewise.
28030         * lib/unistr/u8-strlen.c: Likewise.
28031         * lib/unistr/u8-strmblen.c: Likewise.
28032         * lib/unistr/u8-strmbtouc.c: Likewise.
28033         * lib/unistr/u8-strncat.c: Likewise.
28034         * lib/unistr/u8-strncmp.c: Likewise.
28035         * lib/unistr/u8-strncpy.c: Likewise.
28036         * lib/unistr/u8-strnlen.c: Likewise.
28037         * lib/unistr/u8-strpbrk.c: Likewise.
28038         * lib/unistr/u8-strrchr.c: Likewise.
28039         * lib/unistr/u8-strspn.c: Likewise.
28040         * lib/unistr/u8-strstr.c: Likewise.
28041         * lib/unistr/u8-strtok.c: Likewise.
28042         * lib/unistr/u8-to-u16.c: Likewise.
28043         * lib/unistr/u8-to-u32.c: Likewise.
28044         * lib/unistr/u8-uctomb-aux.c: Likewise.
28045         * lib/unistr/u8-uctomb.c: Likewise.
28046         * lib/unitypes.h: Likewise.
28047         * lib/uniwidth.h: Likewise.
28048         * lib/uniwidth/cjk.h: Likewise.
28049         * lib/uniwidth/u16-strwidth.c: Likewise.
28050         * lib/uniwidth/u16-width.c: Likewise.
28051         * lib/uniwidth/u32-strwidth.c: Likewise.
28052         * lib/uniwidth/u32-width.c: Likewise.
28053         * lib/uniwidth/u8-strwidth.c: Likewise.
28054         * lib/uniwidth/u8-width.c: Likewise.
28055         * lib/uniwidth/width.c: Likewise.
28056
28057 2007-10-07  Bruno Haible  <bruno@clisp.org>
28058
28059         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
28060         The file is still under LGPL (see modules/inttypes).
28061
28062 2007-10-06  Bruno Haible  <bruno@clisp.org>
28063
28064         * modules/trunc (Dependencies): Add 'extensions'.
28065         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
28066         Reported by Ben Pfaff <blp@gnu.org>.
28067
28068 2007-10-06  Bruno Haible  <bruno@clisp.org>
28069
28070         * modules/freopen-tests: New file.
28071         * tests/test-freopen.c: New file.
28072
28073         * modules/fopen-tests: New file.
28074         * tests/test-fopen.c: New file.
28075
28076         * modules/fopen: New file.
28077         * lib/fopen.c: New file.
28078         * m4/fopen.m4: New file.
28079         * modules/freopen: New file.
28080         * lib/freopen.c: New file.
28081         * m4/freopen.m4: New file.
28082         * lib/stdio.in.h (fopen, freopen): New declarations.
28083         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
28084         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
28085         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
28086         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
28087         * doc/functions/fopen.texi: Mention the 'fopen' module.
28088         * doc/functions/freopen.texi: Mention the 'freopen' module.
28089
28090 2007-10-06  Bruno Haible  <bruno@clisp.org>
28091
28092         * modules/open-tests: New file.
28093         * tests/test-open.c: New file.
28094
28095         * modules/open: New file.
28096         * lib/open.c: New file.
28097         * m4/open.m4: New file.
28098         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
28099         lib/open.c does.
28100         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
28101         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
28102         macros.
28103         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
28104         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
28105         REPLACE_OPEN.
28106         * doc/functions/open.texi: Mention the 'open' module.
28107
28108 2007-10-04  Bruno Haible  <bruno@clisp.org>
28109
28110         * modules/ceill-tests: New file.
28111         * tests/test-ceill.c: New file.
28112
28113         * modules/ceill: New file.
28114         * lib/ceill.c: Replace entire file.
28115         * m4/ceill.m4: New file.
28116         * lib/math.in.h (ceill): Replace declaration.
28117         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
28118         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
28119         * doc/functions/ceill.texi: Mention the 'ceill' module.
28120         * modules/mathl (Files): Remove lib/ceill.c.
28121         (Depends-on): Add ceill.
28122
28123 2007-10-04  Bruno Haible  <bruno@clisp.org>
28124
28125         * modules/ceilf-tests: New file.
28126         * tests/test-ceilf.c: New file.
28127
28128         * modules/ceilf: New file.
28129         * lib/ceil.c: New file.
28130         * lib/ceilf.c: New file.
28131         * m4/ceilf.m4: New file.
28132         * lib/math.in.h (ceilf): New declaration.
28133         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
28134         HAVE_DECL_CEILF.
28135         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
28136         HAVE_DECL_CEILF.
28137         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
28138
28139 2007-10-04  Bruno Haible  <bruno@clisp.org>
28140
28141         * modules/floorl-tests: New file.
28142         * tests/test-floorl.c: New file.
28143
28144         * modules/floorl: New file.
28145         * lib/floorl.c: Replace entire file.
28146         * m4/floorl.m4: New file.
28147         * lib/math.in.h (floorl): Replace declaration.
28148         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
28149         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
28150         * doc/functions/floorl.texi: Mention the 'floorl' module.
28151         * modules/mathl (Files): Remove lib/floorl.c.
28152         (Depends-on): Add floorl.
28153
28154 2007-10-04  Bruno Haible  <bruno@clisp.org>
28155
28156         * modules/floorf-tests: New file.
28157         * tests/test-floorf.c: New file.
28158
28159         * modules/floorf: New file.
28160         * lib/floor.c: New file.
28161         * lib/floorf.c: New file.
28162         * m4/floorf.m4: New file.
28163         * lib/math.in.h (floorf): New declaration.
28164         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
28165         HAVE_DECL_FLOORF.
28166         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
28167         HAVE_DECL_FLOORF.
28168         * doc/functions/floorf.texi: Mention the 'floorf' module.
28169
28170 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
28171             Bruno Haible  <bruno@clisp.org>
28172
28173         Advertise for the Git server instead of the CVS server.
28174         * doc/gnulib-intro.texi (Steady Development): Mention the Git
28175         repository instead of the CVS one.
28176         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
28177         about all VCS systems generically.
28178         * doc/gnulib.texi (Introduction): Capitalize `Git'.
28179
28180 2007-10-04  Bruno Haible  <bruno@clisp.org>
28181
28182         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
28183         means.
28184         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
28185
28186 2007-10-04  Bruno Haible  <bruno@clisp.org>
28187
28188         * modules/truncl-tests: New file.
28189         * tests/test-truncl.c: New file.
28190
28191         * modules/truncl: New file.
28192         * lib/truncl.c: New file.
28193         * m4/truncl.m4: New file.
28194         * lib/math.in.h (truncl): New declaration.
28195         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
28196         HAVE_DECL_TRUNCL.
28197         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
28198         HAVE_DECL_TRUNCL.
28199         * doc/functions/truncl.texi: Mention the 'truncl' module.
28200
28201 2007-10-04  Bruno Haible  <bruno@clisp.org>
28202
28203         * modules/truncf-tests: New file.
28204         * tests/test-truncf.c: New file.
28205
28206         * modules/truncf: New file.
28207         * lib/trunc.c: Make paramerizable through USE_* macros.
28208         * lib/truncf.c: New file.
28209         * m4/truncf.m4: New file.
28210         * lib/math.in.h (truncf): New declaration.
28211         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
28212         HAVE_DECL_TRUNCF.
28213         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
28214         HAVE_DECL_TRUNCF.
28215         * doc/functions/truncf.texi: Mention the 'truncf' module.
28216
28217 2007-10-03  Bruno Haible  <bruno@clisp.org>
28218
28219         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
28220         augmentation also for tests modules.
28221         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
28222         * modules/atexit-tests (Makefile.am): Likewise.
28223         * modules/binary-io-tests (Makefile.am): Likewise.
28224         * modules/c-strcase-tests (Makefile.am): Likewise.
28225         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
28226         * modules/canonicalize-tests (Makefile.am): Likewise.
28227         * modules/closein-tests (Makefile.am): Likewise.
28228         * modules/fprintf-posix-tests (Makefile.am): Likewise.
28229         * modules/freadahead-tests (Makefile.am): Likewise.
28230         * modules/fseek-tests (Makefile.am): Likewise.
28231         * modules/fseeko-tests (Makefile.am): Likewise.
28232         * modules/ftell-tests (Makefile.am): Likewise.
28233         * modules/ftello-tests (Makefile.am): Likewise.
28234         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
28235         * modules/isnanl-tests (Makefile.am): Likewise.
28236         * modules/lseek-tests (Makefile.am): Likewise.
28237         * modules/mbscasecmp-tests (Makefile.am): Likewise.
28238         * modules/mbscasestr-tests (Makefile.am): Likewise.
28239         * modules/mbschr-tests (Makefile.am): Likewise.
28240         * modules/mbscspn-tests (Makefile.am): Likewise.
28241         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
28242         * modules/mbspbrk-tests (Makefile.am): Likewise.
28243         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
28244         * modules/mbsrchr-tests (Makefile.am): Likewise.
28245         * modules/mbsspn-tests (Makefile.am): Likewise.
28246         * modules/mbsstr-tests (Makefile.am): Likewise.
28247         * modules/printf-posix-tests (Makefile.am): Likewise.
28248         * modules/snprintf-posix-tests (Makefile.am): Likewise.
28249         * modules/sprintf-posix-tests (Makefile.am): Likewise.
28250         * modules/tsearch-tests (Makefile.am): Likewise.
28251         * modules/uniname/uniname-tests (Makefile.am): Likewise.
28252         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
28253         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
28254         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
28255         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
28256         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
28257         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
28258         * modules/vprintf-posix-tests (Makefile.am): Likewise.
28259         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
28260         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
28261         * modules/xstrtoimax-tests (Makefile.am): Likewise.
28262         * modules/xstrtol-tests (Makefile.am): Likewise.
28263         * modules/xstrtoumax-tests (Makefile.am): Likewise.
28264         * modules/yesno-tests (Makefile.am): Likewise.
28265
28266 2007-10-03  Bruno Haible  <bruno@clisp.org>
28267
28268         * modules/trunc-tests: New file.
28269         * tests/test-trunc.c: New file.
28270
28271         * modules/trunc: New file.
28272         * lib/trunc.c: New file.
28273         * m4/trunc.m4: New file.
28274         * lib/math.in.h (trunc): New declaration.
28275         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
28276         HAVE_DECL_TRUNC.
28277         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
28278         HAVE_DECL_TRUNC.
28279         * doc/functions/trunc.texi: Mention the 'trunc' module.
28280
28281 2007-10-03  Bruno Haible  <bruno@clisp.org>
28282
28283         * tests/test-fpending.c: New file, mostly copied
28284         from coreutils/lib/t-fpending.c.
28285         * modules/fpending-tests: New file.
28286
28287 2007-10-03  Bruno Haible  <bruno@clisp.org>
28288
28289         Port the stdio extensions to QNX (untested).
28290         * lib/fseterr.c (fseterr): Add support for QNX.
28291         * lib/fbufmode.c (fbufmode): Likewise.
28292         * lib/freadable.c (freadable): Likewise.
28293         * lib/fwritable.c (fwritable): Likewise.
28294         * lib/freading.c (freading): Likewise.
28295         * lib/fwriting.c (fwriting): Likewise.
28296         * lib/freadahead.c (freadahed): Likewise.
28297         * lib/fpurge.c (fpurge): Likewise.
28298         * lib/fseeko.c (rpl_fseeko): Likewise.
28299
28300 2007-10-03  Bruno Haible  <bruno@clisp.org>
28301             Jim Meyering  <jim@meyering.net>
28302             Eric Blake  <ebb9@byu.net>
28303
28304         * doc/relocatable.texi: Use @command instead of @program.
28305
28306 2007-10-02  Jim Meyering  <jim@meyering.net>
28307
28308         Perform one more "_.h" -> ".in.h" substitution.
28309         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
28310         instead of unistd_.h here, too.
28311
28312 2007-10-01  Bruno Haible  <bruno@clisp.org>
28313
28314         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
28315         Needed for the alloca-opt module.
28316
28317 2007-09-30  Bruno Haible  <bruno@clisp.org>
28318
28319         * lib/alloca.in.h: Renamed from lib/alloca_.h.
28320         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
28321         alloca_.h.
28322         * lib/argz.in.h: Renamed from lib/argz_.h.
28323         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
28324         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
28325         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
28326         byteswap_.h.
28327         * lib/dirent.in.h: Renamed from lib/dirent_.h.
28328         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
28329         dirent_.h.
28330         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
28331         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
28332         fcntl_.h.
28333         * lib/float.in.h: Renamed from lib/float_.h.
28334         * modules/float (Files, Makefile.am): Use float.in.h instead of
28335         float_.h.
28336         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
28337         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
28338         fnmatch_.h.
28339         * lib/getopt.in.h: Renamed from lib/getopt_.h.
28340         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
28341         getopt_.h.
28342         * lib/glob.in.h: Renamed from lib/glob_.h.
28343         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
28344         * lib/iconv.in.h: Renamed from lib/iconv_.h.
28345         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
28346         iconv_.h.
28347         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
28348         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
28349         inttypes_.h.
28350         * lib/locale.in.h: Renamed from lib/locale_.h.
28351         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
28352         locale_.h.
28353         * lib/math.in.h: Renamed from lib/math_.h.
28354         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
28355         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
28356         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
28357         of netinet_in_.h. Add dependency.
28358         * lib/poll.in.h: Renamed from lib/poll_.h.
28359         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
28360         * lib/search.in.h: Renamed from lib/search_.h.
28361         * modules/search (Files, Makefile.am): Use search.in.h instead of
28362         search_.h.
28363         * lib/signal.in.h: Renamed from lib/signal_.h.
28364         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
28365         _signal.h.
28366         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
28367         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
28368         stdbool_.h.
28369         * lib/stdint.in.h: Renamed from lib/stdint_.h.
28370         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
28371         stdint_.h.
28372         * lib/stdio.in.h: Renamed from lib/stdio_.h.
28373         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
28374         stdio_.h.
28375         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
28376         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
28377         stdlib_.h.
28378         * lib/string.in.h: Renamed from lib/string_.h.
28379         * modules/string (Files, Makefile.am): Use string.in.h instead of
28380         string_.h.
28381         * doc/gnulib-tool.texi (Initial import): Update.
28382         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
28383         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
28384         of sys_select_.h. Add dependency.
28385         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
28386         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
28387         of sys_socket_.h.
28388         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
28389         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
28390         sys_stat_.h.
28391         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
28392         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
28393         sys_time_.h.
28394         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
28395         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
28396         sysexits_.h.
28397         * lib/time.in.h: Renamed from lib/time_.h.
28398         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
28399         * lib/unistd.in.h: Renamed from lib/unistd_.h.
28400         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
28401         unistd_.h.
28402         * lib/wchar.in.h: Renamed from lib/wchar_.h.
28403         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
28404         wchar_.h.
28405         * lib/wctype.in.h: Renamed from lib/wctype_.h.
28406         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
28407         wctype_.h.
28408         * build-aux/bootstrap (slurp): Update.
28409         * lib/.cppi-disable: Update.
28410
28411 2007-09-30  Bruno Haible  <bruno@clisp.org>
28412
28413         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
28414         Needed on BeOS.
28415
28416 2007-09-30  Bruno Haible  <bruno@clisp.org>
28417
28418         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
28419
28420 2007-09-29  Bruno Haible  <bruno@clisp.org>
28421
28422         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
28423
28424 2007-09-29  Bruno Haible  <bruno@clisp.org>
28425
28426         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
28427         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
28428         * build-aux/install-reloc: Compile also areadlink.c.
28429         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
28430
28431 2007-09-29  Bruno Haible  <bruno@clisp.org>
28432
28433         * gnulib-tool (func_emit_initmacro_done): Indentation.
28434
28435 2007-09-29  Bruno Haible  <bruno@clisp.org>
28436
28437         * README: Add CVS checkout update instructions.
28438         Info from Bob Proulx <bob@proulx.com>.
28439
28440 2007-09-28  Eric Blake  <ebb9@byu.net>
28441
28442         Provide move-if-change.
28443         * build-aux/move-if-change: New file, based on best practice
28444         rather than any canonical upstream location.
28445
28446 2007-09-28  Jim Meyering  <jim@meyering.net>
28447
28448         Fix canonicalize loop-detection corner case.
28449         Do not attempt to stat the symlink values stored via seen_triple.
28450         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
28451         on linux-2.6.18, (but not 2.6.22).
28452         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
28453         triple_compare.  The former compares dev,ino,filename, while the latter
28454         would actually stat dirname(filename) when dev and ino were equal.
28455         * lib/hash-triple.c: Install <string.h>.
28456         (STREQ): Define.
28457         (triple_compare_ino_str): New function.
28458         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
28459
28460 2007-09-28  Eric Blake  <ebb9@byu.net>
28461
28462         Enforce that AC_REPLACE_FUNCS files exist.
28463         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
28464         override check for typos.
28465
28466         Fix test-closein on Solaris 10.
28467         * tests/test-closein.c (main): Don't assume stdin can be inherited
28468         closed on all systems.
28469         * tests/test-closein.sh: Likewise.
28470         Reported by Piotr Tarnowski.
28471
28472 2007-09-28  Jim Meyering  <jim@meyering.net>
28473
28474         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
28475
28476 2007-09-27  Jim Meyering  <jim@meyering.net>
28477
28478         canonicalize: Avoid a false-positive cycle failure.
28479         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
28480         Sort.  Remove cycle-check.
28481         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
28482         not cycle-check.h.
28483         (seen_triple): New function.
28484         (canonicalize_filename_mode): Use it instead of cycle-check.
28485         * tests/test-canonicalize.c: Add a test for this bug.
28486         * tests/test-canonicalize.sh: Set up and run the test.
28487
28488         New module, file-set, from coreutils.
28489         * modules/file-set: Define it.
28490         * lib/file-set.c, lib/file-set.h: Implement.
28491
28492         New module, hash-triple, from coreutils.
28493         * modules/hash-triple: Define it.
28494         * lib/hash-triple.c, lib/hash-triple.h: Implement.
28495
28496 2007-09-25  Eric Blake  <ebb9@byu.net>
28497
28498         Fix strerror on Interix.
28499         * lib/string_.h (strerror): Declare replacement.
28500         * doc/functions/strerror.texi (strerror): Document the Interix
28501         shortcoming.
28502         * modules/string (Makefile.am): Support new hooks.
28503         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
28504         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
28505         gl_FUNC_STRERROR_SEPARATE.
28506         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
28507         * lib/strerror.c (rpl_strerror): Provide replacement.
28508         * modules/strerror (Depends-on): Add string.
28509         (configure.ac): Detect use of module.
28510         * tests/test-strerror.c: New file.
28511         * modules/strerror-tests: New test module.
28512         * modules/argp (Depends-on): Add strerror.
28513         * modules/error (Depends-on): Likewise.
28514         Reported by Martin Koeppe.
28515
28516 2007-09-24  Bruno Haible  <bruno@clisp.org>
28517
28518         * README: Update git instructions.
28519
28520 2007-09-24  Eric Blake  <ebb9@byu.net>
28521
28522         Revert fpending breakage from 2007-09-08.
28523         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
28524         __fpending.c.
28525
28526 2007-09-24  Jim Meyering  <jim@meyering.net>
28527
28528         filenamecat.c: Add a test.
28529         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
28530         showing how the function works when DIR is the empty string.
28531
28532 2007-09-21  Simon Josefsson  <simon@josefsson.org>
28533
28534         * tests/test-canonicalize.sh: Turn on executable bit.
28535
28536 2007-09-19  Eric Blake  <ebb9@byu.net>
28537
28538         * README: Update CVS instructions.
28539
28540 2007-09-18  Bruno Haible  <bruno@clisp.org>
28541
28542         * modules/areadlink: New file.
28543         * lib/areadlink.h (areadlink): New declaration.
28544         * lib/areadlink.c: New file, based on lib/xreadlink.c.
28545
28546 2007-09-17  Jim Meyering  <jim@meyering.net>
28547
28548         * lib/savewd.c (ESTALE) [!defined]: Define.
28549         Reported to be required on Interix by Martin Koeppe.
28550
28551 2007-09-17  Bruno Haible  <bruno@clisp.org>
28552
28553         * gnulib-tool (func_version): Use $version.
28554
28555 2007-09-16  Bruno Haible  <bruno@clisp.org>
28556
28557         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
28558         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
28559         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
28560         Reported by Greg Schafer <gschafer@zip.com.au>.
28561
28562 2007-09-15  Bruno Haible  <bruno@clisp.org>
28563
28564         * gnulib-tool (sed): Try a little harder to make bash understand the
28565         alias.
28566         Reported by Bruce Korb <bruce.korb@gmail.com>.
28567
28568 2007-09-13  Eric Blake  <ebb9@byu.net>
28569
28570         * ChangeLog: Remove conflict markers.
28571
28572 2007-09-13  Simon Josefsson  <simon@josefsson.org>
28573
28574         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
28575         Reported by Bruno Haible <bruno@clisp.org>.
28576
28577 2007-09-12  Bruno Haible  <bruno@clisp.org>
28578
28579         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
28580         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
28581         is not defined.
28582
28583 2007-09-12  Eric Blake  <ebb9@byu.net>
28584
28585         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
28586         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
28587         Autoconf definition.
28588         * modules/euidaccess (Depends-on): Add extensions, for
28589         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
28590         * modules/fnmatch (Depends-on): Likewise.
28591         * modules/getaddrinfo (Depends-on): Likewise.
28592         * modules/getdelim (Depends-on): Likewise.
28593         * modules/getline (Depends-on): Likewise.
28594         * modules/getsubopt (Depends-on): Likewise.
28595         * modules/gettext (Depends-on): Likewise.
28596         * modules/group-member (Depends-on): Likewise.
28597         * modules/mbchar (Depends-on): Likewise.
28598         * modules/memmem (Depends-on): Likewise.
28599         * modules/mempcpy (Depends-on): Likewise.
28600         * modules/memrchr (Depends-on): Likewise.
28601         * modules/pagealign_alloc (Depends-on): Likewise.
28602         * modules/readutmp (Depends-on): Likewise.
28603         * modules/stpcpy (Depends-on): Likewise.
28604         * modules/stpncpy (Depends-on): Likewise.
28605         * modules/strchrnul (Depends-on): Likewise.
28606         * modules/strndup (Depends-on): Likewise.
28607         * modules/strsep (Depends-on): Likewise.
28608         * modules/strverscmp (Depends-on): Likewise.
28609         * modules/vasprintf (Depends-on): Likewise.
28610         * modules/wcwidth (Depends-on): Likewise.
28611         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
28612         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
28613         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
28614         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
28615         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
28616         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
28617         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
28618         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
28619         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
28620         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
28621         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
28622         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
28623         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
28624         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
28625         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
28626         * m4/readutmp.m4 (gl_READUTMP): Likewise.
28627         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
28628         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
28629         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
28630         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
28631         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
28632         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
28633         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
28634         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
28635         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
28636         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
28637         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
28638         so that lock.m4 can be used in gettext without extensions module.
28639
28640 2007-09-11  Bruno Haible  <bruno@clisp.org>
28641
28642         * m4/isc-posix.m4: Remove file.
28643         Suggested by Eric Blake.
28644
28645 2007-09-11  Eric Blake  <ebb9@byu.net>
28646
28647         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
28648
28649 2007-09-10  Bruno Haible  <bruno@clisp.org>
28650
28651         * posix-modules: Fix typo in error message.
28652         Reported by Matt <mkraai@beckman.com>.
28653
28654 2007-09-09  Bruno Haible  <bruno@clisp.org>
28655
28656         * doc/functions/getdelim.texi: Update list of platforms lacking the
28657         function.
28658         * doc/functions/getline.texi: Likewise.
28659
28660 2007-09-09  Jim Meyering  <jim@meyering.net>
28661
28662         * lib/hash.c (hash_initialize): Detect calloc failure.
28663         Reported by Bruno Haible.
28664
28665 2007-09-09  Bruno Haible  <bruno@clisp.org>
28666
28667         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
28668         malloc or realloc fails.
28669
28670 2007-09-09  Bruno Haible  <bruno@clisp.org>
28671
28672         * modules/getcwd (Depends-on): Add malloc-posix.
28673         * modules/glob (Depends-on): Likewise.
28674         * modules/putenv (Depends-on): Likewise.
28675         * modules/strdup (Depends-on): Likewise.
28676         * modules/getdelim (Depends-on): Add realloc-posix.
28677         * modules/read-file (Depends-on): Likewise.
28678
28679 2007-09-09  Bruno Haible  <bruno@clisp.org>
28680
28681         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
28682         (gl_FUNC_MALLOC_POSIX): Require it.
28683         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
28684         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
28685         * modules/realloc (Files): Add m4/malloc.m4.
28686         * modules/calloc (Files): Likewise.
28687
28688 2007-09-09  Bruno Haible  <bruno@clisp.org>
28689
28690         * modules/malloc-posix: New file.
28691         * modules/malloc (Depends-on): Add malloc-posix.
28692         * lib/malloc.c: Include errno.h.
28693         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
28694         and a POSIX-compatible malloc into a single function. Set ENOMEM
28695         when returning NULL.
28696         * m4/malloc.m4: New file.
28697         * doc/functions/malloc.texi: Mention the malloc-posix module.
28698         * lib/stdlib_.h (malloc): New declaration.
28699         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
28700         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
28701         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
28702         and HAVE_MALLOC_POSIX.
28703
28704 2007-09-09  Bruno Haible  <bruno@clisp.org>
28705
28706         * modules/realloc-posix: New file.
28707         * modules/realloc (Depends-on): Add realloc-posix.
28708         * lib/realloc.c: Include errno.h.
28709         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
28710         and a POSIX-compatible realloc into a single function. Set ENOMEM
28711         when returning NULL.
28712         * m4/realloc.m4: New file.
28713         * doc/functions/realloc.texi: Mention the realloc-posix module.
28714         * lib/stdlib_.h (realloc): New declaration.
28715         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
28716         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
28717         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
28718         and HAVE_REALLOC_POSIX.
28719
28720 2007-09-09  Bruno Haible  <bruno@clisp.org>
28721
28722         * modules/calloc-posix: New file.
28723         * modules/calloc (Depends-on): Add calloc-posix.
28724         * lib/calloc.c: Include errno.h.
28725         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
28726         and a POSIX-compatible calloc into a single function. Set ENOMEM
28727         when returning NULL.
28728         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
28729         * doc/functions/calloc.texi: Mention the calloc-posix module.
28730         * lib/stdlib_.h (calloc): New declaration.
28731         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
28732         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
28733         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
28734         and HAVE_CALLOC_POSIX.
28735
28736 2007-09-09  Bruno Haible  <bruno@clisp.org>
28737
28738         Allow for modules to show an arbitrary notice.
28739         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
28740         * gnulib-tool: New option --extract-notice.
28741         (func_usage): Document it.
28742         (sed_extract_prog): Update.
28743         (func_get_notice): New function.
28744         (func_modules_notice): New function.
28745         (func_import, func_create_testdir): Invoke it.
28746         Suggested by Jim Meyering.
28747
28748 2007-09-09  Bruno Haible  <bruno@clisp.org>
28749
28750         * gnulib-tool: New options --verbose, --quiet.
28751         (func_usage): Document them.
28752         (verbose): New variable.
28753         (func_execute_command): New function.
28754         (func_import): Don't show the module list and the file list if
28755         $verbose < 0.
28756         (func_create_testdir): Likewise. Use func_execute_command.
28757         (func_create_megatestdir): Use func_execute_command.
28758
28759 2007-09-08  Bruno Haible  <bruno@clisp.org>
28760
28761         * gnulib-tool (func_import): Prefer rsync over wget when available,
28762         for fetching the PO files.
28763
28764 2007-09-08  Bruno Haible  <bruno@clisp.org>
28765
28766         * posix-modules: New file. Portions copied from gnulib-tool.
28767         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
28768
28769 2007-09-08  Jim Meyering  <jim@meyering.net>
28770
28771         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
28772         * lib/fpending.h: Rename from __fpending.h.
28773         * lib/fpending.c: Rename from __fpending.c.
28774         Include "fpending.h", not "__fpending.h".
28775         * lib/__fpending.h, lib/__fpending.c: Remove files.
28776         * modules/fpending (Files): Reflect new file names.
28777         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
28778
28779 2007-09-08  Bruno Haible  <bruno@clisp.org>
28780
28781         * m4/inttypes-h.m4: Remove stub file.
28782
28783 2007-09-07  Simon Josefsson  <simon@josefsson.org>
28784
28785         * doc/headers/stdint.texi: Discuss #include_next issue.
28786
28787 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
28788
28789         * build-aux/bootstrap: Remove obsolete comment about wget --help.
28790
28791 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
28792
28793         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
28794         in variable name.
28795
28796 2007-09-03  Jim Meyering  <jim@meyering.net>
28797
28798         New module: git-version-gen.
28799         * modules/git-version-gen: New file.
28800
28801         Import changes from coreutils for bootstrap script.
28802
28803         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
28804
28805         bootstrap: uses rsync to download the .po files
28806         * build-aux/bootstrap (po_download_command_format): New global.
28807         (download_po_files): Use rsync.
28808         (update_po_files): Don't remove .po files after download,
28809         so future rsync runs can take advantage of the copies.
28810
28811         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
28812
28813         Solve the unnecessary-.po-file-regeneration problem once and for all.
28814         * build-aux/bootstrap (download_po_files): New function, renamed from
28815         get_translations.  Now, downloads, but doesn't update LINGUAS.
28816         (update_po_files): New function.
28817
28818         bootstrap: Ignore more.
28819         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
28820         uniwidth to e.g., lib/.gitignore.
28821         (slurp): Handle the sys_stat_.h -> sys mapping, too.
28822
28823         * build-aux/bootstrap: New setting: vc_ignore.
28824         (insert_sorted_if_absent): Create $file if absent.
28825         Adapt to new, possibly empty, list: $vc_ignore.
28826
28827         bootstrap: generate more ignorable names
28828         * build-aux/bootstrap (slurp): When generating ignorable names,
28829         also map .sin to .sed, .gperf to .c, and .y to .c.
28830
28831 2007-09-03  Jim Meyering  <jim@meyering.net>
28832
28833         * build-aux/git-version-gen: New file, from coreutils.  For details, see
28834         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
28835
28836 2007-09-02  Bruno Haible  <bruno@clisp.org>
28837
28838         Fix mis-recognition of 'mcs' on QNX 6.
28839         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
28840         output contains the string "Mono".
28841         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
28842         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
28843
28844 2007-09-01  Bruno Haible  <bruno@clisp.org>
28845
28846         Fix collision between uniwidth/* and linebreak modules.
28847         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
28848         u32_width): Remove declarations.
28849         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
28850         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
28851         streq3, streq2, streq1, streq0): Remove functions.
28852         (STREQ): Remove macro.
28853         (is_cjk_encoding): Remove function.
28854         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
28855         (uc_width, u8_width, u16_width, u32_width): Remove functions.
28856         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
28857         * NEWS: Document the change.
28858
28859 2007-09-01  Bruno Haible  <bruno@clisp.org>
28860
28861         * lib/streq.h: Add double-inclusion guard.
28862
28863 2007-09-01  Karl Berry  <karl@gnu.org>
28864
28865         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
28866
28867 2007-08-28  Jim Meyering  <jim@meyering.net>
28868
28869         Rename mreadlink_with_size to areadlink_with_size.
28870         * NEWS: Document the change.
28871         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
28872         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
28873         * lib/mreadlink.h: Rename this to...
28874         * lib/areadlink.h: ...this.
28875         * modules/mreadlink-with-size: Rename this to...
28876         * modules/areadlink-with-size: ...this.
28877         * lib/canonicalize.c: Reflect the renaming.
28878         * modules/canonicalize: Likewise.
28879
28880 2007-08-26  Bruno Haible  <bruno@clisp.org>
28881
28882         * gnulib-tool (func_import): When deciding which files to remove,
28883         consider also dangling symbolic links.
28884         Reported by Eric Blake.
28885
28886 2007-08-26  Bruno Haible  <bruno@clisp.org>
28887
28888         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
28889
28890 2007-08-23  Simon Josefsson  <simon@josefsson.org>
28891
28892         * lib/readline.c: Don't include getline.h, the prototype is now
28893         found in stdio.h.
28894
28895 2007-08-23  Jim Meyering  <jim@meyering.net>
28896
28897         Getdelim touchup.
28898         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
28899         around the funlockfile call, since funlockfile never sets errno.
28900         Don't set errno upon failed realloc.
28901
28902 2007-08-22  Eric Blake  <ebb9@byu.net>
28903
28904         Getline touchups.
28905         * lib/getdelim.c (getdelim): Revert regression that required *n to
28906         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
28907         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
28908         getdelim, rather than whether implementation is missing.
28909         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
28910         * lib/stdio_.h (getline): Also declare if replacement is
28911         required.
28912         * doc/functions/getdelim.texi: New file.
28913         * doc/functions/getline.texi: Likewise.
28914         * doc/gnulib.texi (Function Substitutes): Add new files.
28915         Reported by Bruno Haible.
28916
28917 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
28918
28919         * users.txt: Add Guile.
28920
28921 2007-08-22  Eric Blake  <ebb9@byu.net>
28922
28923         * tests/test-getdelim.c (main): Use remove, not unlink.
28924         * tests/test-getline.c (main): Likewise.
28925
28926         Move getline and getdelim into stdio.h, per POSIX 200x.
28927         * modules/getline (Files): Remove getline.h.
28928         (Depends-on): Add stdio.
28929         (configure.ac): Add module indicator.
28930         * modules/getdelim (Files): Remove getdelim.h.
28931         (Depends-on): Add stdio.
28932         (configure.ac): Add module indicator.
28933         * modules/stdio (Makefile.am): Work with new indicators.
28934         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
28935         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
28936         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
28937         * lib/getdelim.h: Delete.
28938         * lib/getline.h: Delete.
28939         * lib/stdio_.h (getdelim, getline): Declare.
28940         * modules/getdelim-tests: New module.
28941         * modules/getline-tests: Likewise.
28942         * tests/test-getdelim.c: New file.
28943         * tests/test-getline.c: Likewise.
28944         * NEWS: Document the change.
28945         * lib/getline.c: Update choice of header.
28946         * lib/csharpcomp.c: Likewise.
28947         * lib/getpass.c: Likewise.
28948         * lib/javacomp.c: Likewise.
28949         * lib/javaversion.c: Likewise.
28950         * lib/yesno.c: Likewise.
28951         * lib/getdelim.c: Likewise.
28952         (getdelim): Set errno on failure, and avoid memory leak.
28953
28954 2007-08-19  Bruno Haible  <bruno@clisp.org>
28955
28956         * modules/closein (Depends-on): Add freadahead.
28957         * lib/closein.c: Include freadahead.h.
28958         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
28959         is zero.
28960
28961 2007-08-19  Bruno Haible  <bruno@clisp.org>
28962
28963         * modules/freadahead-tests: New file.
28964         * tests/test-freadahead.sh: New file.
28965         * tests/test-freadahead.c: New file.
28966
28967         * modules/freadahead: New file.
28968         * lib/freadahead.h: New file.
28969         * lib/freadahead.c: New file.
28970         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
28971         fbufmode, fpurge, freadable, fwritable.
28972
28973 2007-08-19  Eric Blake  <ebb9@byu.net>
28974
28975         Test yesno in combination with closein.
28976         * lib/yesno.c (yesno): Document use of stdin.
28977         * modules/yesno-tests (Files): New module.
28978         * tests/test-yesno.c (main): New file.
28979         * tests/test-yesno.sh: Likewise.
28980
28981 2007-08-19  Bruno Haible  <bruno@clisp.org>
28982
28983         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
28984         * lib/fseeko.c (rpl_fseeko): Likewise.
28985         * lib/fseterr.c (fseterr): Likewise.
28986
28987 2007-08-19  Bruno Haible  <bruno@clisp.org>
28988
28989         * tests/test-lseek.c (main): Disable a test for BeOS.
28990         * doc/functions/lseek.texi: Document the BeOS bug.
28991
28992 2007-08-19  Bruno Haible  <bruno@clisp.org>
28993             Eric Blake  <ebb9@byu.net>
28994
28995         * lib/lseek.c: Include <sys/stat.h>.
28996         (rpl_lseek): Add workaround code also for Unix platforms.
28997         Needed for BeOS.
28998         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
28999         * doc/functions/lseek.texi: Document BeOS definiency.
29000
29001 2007-08-18  Bruno Haible  <bruno@clisp.org>
29002
29003         * modules/fstrcmp-tests: New file.
29004         * tests/test-fstrcmp.c: New file.
29005
29006 2007-08-18  Bruno Haible  <bruno@clisp.org>
29007
29008         * modules/fstrcmp: New file, from GNU gettext with modifications.
29009         * lib/fstrcmp.h: New file, from GNU gettext.
29010         * lib/fstrcmp.c: New file, from GNU gettext.
29011         * MODULES.html.sh (String handling): Add fstrcmp.
29012
29013 2007-08-18  Bruno Haible  <bruno@clisp.org>
29014
29015         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
29016         'bool'.
29017         (diag, compareseq): Remove const from the ctxt argument.
29018         (USE_HEURISTIC): Undefine at the end.
29019
29020 2007-08-18  Jim Meyering  <jim@meyering.net>
29021
29022         New file: lib/idcache.h
29023         * NEWS: Mention the addition.
29024         * modules/idcache (Files): Add lib/idcache.h
29025         * lib/idcache.c: Include "idcache.h".
29026         Don't include <sys/types.h>.
29027         Add a FIXME comment.
29028         Move file-scoped "static" declarations to the top.
29029         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
29030
29031 2007-08-17  Bruno Haible  <bruno@clisp.org>
29032         and Paul Eggert  <eggert@cs.ucla.edu>
29033
29034         * MODULES.html.sh: Add diffseq.
29035         * modules/diffseq: New file.
29036         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
29037         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
29038
29039 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
29040
29041         Import changes from coreutils for bootstrap script.
29042
29043         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
29044
29045         * build-aux/bootstrap (slurp): Work even in environments where
29046         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
29047         current code does not slurp files whose names start with ".", and
29048         this looks like it might be a troublesome area.
29049
29050         2007-07-11  Jim Meyering  <jim@meyering.net>
29051
29052         If there's a GPL vN copyright comment, require that N == 3.
29053
29054         2007-07-08  Jim Meyering  <jim@meyering.net>
29055
29056         Run the coreutils-specific code only if tests/Makefile.am.in exists.
29057         * build-aux/bootstrap (mam_template): Move definition out of loop.
29058
29059         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
29060
29061         * build-aux/bootstrap (symlink_to_dir): Rename function from
29062         symlink_to_gnulib.  Add a directory parameter.  Update all
29063         callers.
29064         (cp_mark_as_generated): Also check for -- and link to -- files in
29065         gl/.
29066
29067         2007-07-08  Jim Meyering  <jim@meyering.net>
29068
29069         Adapt to deeper hierarchy in gnulib.
29070         * build-aux/bootstrap (symlink_to_dir): If the destination
29071         directory doesn't exist, create it. This is required at least for
29072         "lib/uniwidth/cjk.h".
29073
29074         2007-05-15  Jim Meyering  <jim@meyering.net>
29075
29076         * build-aux/bootstrap: Now that generated Makefile.am files
29077         are no longer under version control, they must be created at
29078         bootstrap time.
29079
29080 2007-08-14  Ben Pfaff  <blp@gnu.org>
29081
29082         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
29083
29084 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
29085
29086         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
29087         given the changes below.
29088         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
29089         even on hosts that have padding bits beyond the supported 64.
29090
29091 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
29092
29093         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
29094         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
29095         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
29096         depends on it.
29097         (xstrtol_error): Remove.
29098         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
29099         but with a different signature.
29100         (ATTRIBUTE_NORETURN, __attribute__): New macros.
29101         * lib/xstrtol-error.c: Include exitfail.h.
29102         (xstrtol_fatal): New function, with a different signature from the
29103         old xstrtol_error, so that the caller need not worry about passing
29104         in an exit status, or about storage management of the option argument.
29105         (xstrtol_error): Now a static function.  Redo signature to
29106         implement xstrtol_fatal.  Output the correct number of hyphens in
29107         front of the option so that the caller need not worry about
29108         storage management.
29109         (N_): New macro.
29110         (_): Remove; not used now.
29111         * modules/xstrtol: Depend on getopt.
29112         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
29113         of old STRTOL_FATAL_ERROR macro.
29114         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
29115         of test program.
29116         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
29117         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
29118
29119 2007-08-08  Eric Blake  <ebb9@byu.net>
29120
29121         * lib/xstrtol-error.c: Add missing include.
29122
29123         Move xstrtol messages into gnulib domain, when --pobase is used.
29124         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
29125         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
29126         * modules/xstrtol (Files): Distribute new file.
29127         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
29128         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
29129         * tests/test-xstrtol.c: ...into new file.
29130         * tests/test-xstrtoul.c: Also test xstrtoul.
29131         * tests/test-xstrtoimax.c: Also test xstrtoimax.
29132         * tests/test-xstrtoumax.c: Also test xstrtoumax.
29133         * tests/test-xstrtol.sh: Drive the tests.
29134         * tests/test-xstrtoimax.sh: Likewise.
29135         * tests/test-xstrtoumax.sh: Likewise.
29136         * modules/xstrtol-tests: New module.
29137         * modules/xstrtoimax-tests: Likewise.
29138         * modules/xstrtoumax-tests: Likewise.
29139
29140 2007-08-08  Jim Meyering  <jim@meyering.net>
29141
29142         New function: mfile_name_concat.
29143         * lib/filenamecat.c (mfile_name_concat): New function, just like
29144         file_name_concat, but return NULL upon failure rather than exiting
29145         with a diagnostic.
29146         * lib/filenamecat.h: Declare it.
29147
29148 2007-08-07  Bruno Haible  <bruno@clisp.org>
29149
29150         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
29151         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
29152         warning from gcc.
29153         Reported by Eric Blake.
29154
29155 2007-08-07  Simon Josefsson  <simon@josefsson.org>
29156
29157         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
29158         * modules/crypto/arcfour (License): Likewise.
29159         * modules/crypto/des-tests (License): Likewise.
29160         * modules/crypto/gc-arctwo-tests (License): Likewise.
29161         * modules/crypto/gc-des-tests (License): Likewise.
29162         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
29163         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
29164         * modules/crypto/gc-md2-tests (License): Likewise.
29165         * modules/crypto/gc-md4-tests (License): Likewise.
29166         * modules/crypto/gc-md5-tests (License): Likewise.
29167         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
29168         * modules/crypto/gc-rijndael-tests (License): Likewise.
29169         * modules/crypto/gc-sha1-tests (License): Likewise.
29170         * modules/crypto/gc-tests (License): Likewise.
29171         * modules/crypto/hmac-md5 (License): Likewise.
29172         * modules/crypto/hmac-sha1 (License): Likewise.
29173         * modules/crypto/md2-tests (License): Likewise.
29174         * modules/crypto/md4-tests (License): Likewise.
29175         * modules/crypto/md5 (License): Likewise.
29176         * modules/crypto/rijndael (License): Likewise.
29177         * modules/crypto/sha1 (License): Likewise.
29178         * modules/memxor (License): Likewise.
29179
29180 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
29181         and Bruno Haible  <bruno@clisp.org>
29182
29183         * NEWS: Describe interface changes to human, xstrtol.
29184         * lib/human.h: Include <xstrtol.h>.
29185         (human_options): Return enum strtol_error, not int.  Remove
29186         bool arg; take int * instead.
29187         * lib/human.c: Don't include "gettext.h".
29188         (_): Remove; no longer used.
29189         Don't include <xstrtol.h>, since human.h does it.
29190         (human_options): Adjust to abovementioned interface changes.
29191         Do not report error to stderr; that's now the caller's
29192         responsibility.
29193         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
29194         interface change.
29195         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
29196         Str, Argument_type_string.  All uses changed.  Put " argument"
29197         in diagnostics to make them clearer.  Change wording of suffix
29198         message for clarity.
29199         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
29200         Argument_type_string.
29201         (STRTOL_FATAL_WARN): Remove; no longer used.
29202         * modules/human (Depends-on): Remove gettext-h.
29203
29204 2007-08-06  Simon Josefsson  <simon@josefsson.org>
29205
29206         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
29207
29208 2007-07-31  Bruno Haible  <bruno@clisp.org>
29209
29210         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
29211         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
29212         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
29213
29214 2007-07-31  Bruno Haible  <bruno@clisp.org>
29215
29216         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
29217         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
29218
29219 2007-07-30  Bruno Haible  <bruno@clisp.org>
29220
29221         * modules/base64 (License): Use the synonymous term "LGPLv2+".
29222         * modules/c-ctype (License): Likewise.
29223         * modules/c-strcase (License): Likewise.
29224         * modules/check-version (License): Likewise.
29225         * modules/iconv (License): Likewise.
29226         * modules/iconv_open (License): Likewise.
29227         * modules/read-file (License): Likewise.
29228         * modules/striconv (License): Likewise.
29229         * modules/strverscmp (License): Likewise.
29230         * modules/vasprintf (License): Likewise.
29231         * modules/crypto/des (License): Likewise.
29232         * modules/crypto/gc (License): Likewise.
29233         * modules/crypto/gc-arcfour (License): Likewise.
29234         * modules/crypto/gc-arctwo (License): Likewise.
29235         * modules/crypto/gc-des (License): Likewise.
29236         * modules/crypto/gc-hmac-md5 (License): Likewise.
29237         * modules/crypto/gc-hmac-sha1 (License): Likewise.
29238         * modules/crypto/gc-md2 (License): Likewise.
29239         * modules/crypto/gc-md4 (License): Likewise.
29240         * modules/crypto/gc-md5 (License): Likewise.
29241         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
29242         * modules/crypto/gc-random (License): Likewise.
29243         * modules/crypto/gc-rijndael (License): Likewise.
29244         * modules/crypto/gc-sha1 (License): Likewise.
29245         * modules/crypto/md2 (License): Likewise.
29246         * modules/crypto/md4 (License): Likewise.
29247
29248 2007-07-30  Jim Meyering  <jim@meyering.net>
29249
29250         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
29251         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
29252         it has valid stat data.  This bug would cause du not to count the
29253         sizes of inaccessible directories.
29254         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
29255         in <http://bugzilla.redhat.com/250077>.
29256
29257 2007-07-25  Peter O'Gorman  <peter@pogma.com>
29258             Bruno Haible  <bruno@clisp.org>
29259
29260         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
29261         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
29262         #include_next, gives a diagnostic about it, but reports no error in
29263         the exit code.
29264         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
29265
29266 2007-07-24  Ben Pfaff  <blp@gnu.org>
29267
29268         Improve name: "count-one-bits" is better than "popcount".
29269         * MODULES.html.sh: Update name.
29270         * lib/popcount.h: Renamed lib/count-one-bits.h.
29271         (popcount): Renamed count_one_bits.
29272         (popcountl): Renamed count_one_bits_l.
29273         (popcountll): Renamed count_one_bits_ll.
29274         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
29275         * modules/popcount: Renamed module/count-one-bits.
29276         * modules/popcount-tests: Renamed module/count-one-bits-tests.
29277         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
29278
29279 2007-07-23  Ben Pfaff  <blp@gnu.org>
29280
29281         * lib/popcount.h (popcount32): Reduce size of constants, to allow
29282         better code generation, and add U to large constants to avoid
29283         warnings, in non-GCC case.
29284         Suggested by Bruno Haible.
29285
29286 2007-07-23  Ben Pfaff  <blp@gnu.org>
29287
29288         * lib/popcount.h: Use verify_true instead of if...abort.
29289         * modules/popcount: Depend on verify module.
29290         Suggested by Jim Meyering.
29291
29292 2007-07-23  Bruno Haible  <bruno@clisp.org>
29293
29294         * gnulib-tool (func_import): Create a .cvsignore file also when the
29295         directory is not yet in CVS but the toplevel directory is. When
29296         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
29297         Reported by Karl Berry.
29298
29299 2007-07-22  Ben Pfaff  <blp@gnu.org>
29300
29301         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
29302         case.
29303         Suggested by Eric Blake.
29304
29305 2007-07-22  Ben Pfaff  <blp@gnu.org>
29306
29307         New module: popcount.
29308         * MODULES.html.sh: Add popcount.
29309         * modules/popcount: New file.
29310         * modules/popcount-tests: New file.
29311         * tests/test-popcount.c: New file.
29312         * lib/popcount.h: New file.
29313         * m4/popcount.m4: New file.
29314
29315 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
29316
29317         * build-aux/announce-gen: Update to GPLv3.
29318
29319         * build-aux/config.guess: Update from config.
29320
29321 2007-07-21  Bruno Haible  <bruno@clisp.org>
29322
29323         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
29324         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
29325
29326 2007-07-20  Jim Meyering  <jim@meyering.net>
29327
29328         * check-module: Diagnose a self-dependency.
29329
29330 2007-07-19  Bruno Haible  <bruno@clisp.org>
29331
29332         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
29333         empty.
29334         Reported by Eric Blake.
29335
29336 2007-07-18  Bruno Haible  <bruno@clisp.org>
29337
29338         * gnulib-tool: New options --po-base, --po-domain.
29339         (func_usage): Document them.
29340         (pobase, po_domain): New variables.
29341         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
29342         DEFAULT_TEXT_DOMAIN.
29343         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
29344         (func_import): Consider pobase and po_domain. Create a po/ directory.
29345         (func_create_testdir): Set pobase and po_domain to empty.
29346         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
29347         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
29348
29349 2007-07-18  Bruno Haible  <bruno@clisp.org>
29350
29351         * gnulib-tool (func_get_automake_snippet): Synthesize also an
29352         EXTRA_DIST augmentation for files in build-aux/.
29353
29354 2007-07-16  Bruno Haible  <bruno@clisp.org>
29355
29356         * modules/lseek (License): Use the synonymous term "LGPLv2+".
29357         * modules/getdelim (License): Likewise.
29358
29359 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
29360
29361         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
29362         * modules/d-type (License): Likewise.
29363         * modules/extensions (License): Likewise.
29364         * modules/fnmatch (License): Likewise.
29365         * modules/fseeko (License): Likewise.
29366         * modules/getaddrinfo (License): Likewise.
29367         * modules/getline (License): Likewise.
29368         * modules/getlogin_r (License): Likewise.
29369         * modules/getpass (License): Likewise.
29370         * modules/gettimeofday (License): Likewise.
29371         * modules/glob (License): Likewise.
29372         * modules/inet_ntop (License): Likewise.
29373         * modules/malloc (License): Likewise.
29374         * modules/malloca (License): Likewise.
29375         * modules/memmem (License): Likewise.
29376         * modules/mempcpy (License): Likewise.
29377         * modules/memset (License): Likewise.
29378         * modules/minmax (License): Likewise.
29379         * modules/mktime (License): Likewise.
29380         * modules/netinet_in (License): Likewise.
29381         * modules/pathmax (License): Likewise.
29382         * modules/poll (License): Likewise.
29383         * modules/regex (License): Likewise.
29384         * modules/snprintf (License): Likewise.
29385         * modules/stdbool (License): Likewise.
29386         * modules/stdint (License): Likewise.
29387         * modules/stdio (License): Likewise.
29388         * modules/strcase (License): Likewise.
29389         * modules/strcasestr (License): Likewise.
29390         * modules/strdup (License): Likewise.
29391         * modules/string (License): Likewise.
29392         * modules/strndup (License): Likewise.
29393         * modules/strnlen (License): Likewise.
29394         * modules/strpbrk (License): Likewise.
29395         * modules/strptime (License): Likewise.
29396         * modules/strsep (License): Likewise.
29397         * modules/sys_select (License): Likewise.
29398         * modules/sys_socket (License): Likewise.
29399         * modules/sys_stat (License): Likewise.
29400         * modules/sys_time (License): Likewise.
29401         * modules/time (License): Likewise.
29402         * modules/time_r (License): Likewise.
29403         * modules/timegm (License): Likewise.
29404         * modules/unistd (License): Likewise.
29405         * modules/vsnprintf (License): Likewise.
29406         * modules/wctype (License): Likewise.
29407
29408 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29409
29410         * modules/argz (License): LGPLv2+.
29411
29412 2007-07-15  Karl Berry  <karl@gnu.org>
29413
29414         * doc/gnulib.texi: revise node structure per new fdl.texi.
29415
29416 2007-07-14  Bruno Haible  <bruno@clisp.org>
29417
29418         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
29419         the output file.
29420         * lib/uniname/uninames.h: Regenerated.
29421
29422 2007-07-14  Karl Berry  <karl@gnu.org>
29423
29424         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
29425         omitting sectioning and index commands.
29426
29427 2007-07-13  Bruno Haible  <bruno@clisp.org>
29428
29429         New gnulib-tool option --more-symlinks.
29430         * gnulib-tool (func_usage): Document --more-symlinks.
29431         (do_copyrights): New variable.
29432         Recognize option --more-symlinks.
29433         (func_import): Don't add a copyright notice transform to
29434         sed_transform_lib_file if do_copyrights is empty.
29435
29436 2007-07-13  Bruno Haible  <bruno@clisp.org>
29437
29438         * lib/vasnprintf.c (decimal_point_char): Define also if
29439         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
29440         && !NEED_PRINTF_DIRECTIVE_A.
29441         Reported by Clemens Koller <clemens.koller@anagramm.de> via
29442         Gary V. Vaughan <gary@gnu.org>.
29443
29444 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
29445
29446         * lib/inttypes_.h: Undo previous change, since it was fixed
29447         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
29448
29449 2007-07-13  Bruno Haible  <bruno@clisp.org>
29450
29451         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
29452         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
29453
29454 2007-07-13  Jim Meyering  <jim@meyering.net>
29455
29456         df: Don't fail for Tru64's "file-on-file mount".
29457         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
29458         so we fall through and use statfs instead.  Details here:
29459         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
29460         Reported by Albert Chin.
29461
29462 2007-07-13  Bruno Haible  <bruno@clisp.org>
29463
29464         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
29465         * modules/configmake (License): Likewise.
29466         * modules/gettext (License): Likewise.
29467         * modules/gettext-h (License): Likewise.
29468         * modules/include_next (License): Likewise.
29469         * modules/link-warning (License): Likewise.
29470         * modules/localcharset (License): Likewise.
29471         * modules/localename (License): Likewise.
29472         * modules/lock (License): Likewise.
29473         * modules/relocatable-lib-lgpl (License): Likewise.
29474         * modules/size_max (License): Likewise.
29475         * modules/vasnprintf (License): Likewise.
29476         * modules/wchar (License): Likewise.
29477         * modules/xsize (License): Likewise.
29478
29479 2007-07-13  Bruno Haible  <bruno@clisp.org>
29480
29481         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
29482         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
29483
29484 2007-07-12  Bruno Haible  <bruno@clisp.org>
29485
29486         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
29487         in the modules files.
29488
29489 2007-07-11  Karl Berry  <karl@gnu.org>
29490
29491         * MODULES.html.sh (func_module): use
29492          sed -e '\|^'"${includefile}"'$|d'
29493          instead of /.../d, to avoid errors on $includefile's containing /.
29494
29495 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
29496
29497         * gnulib-tool (func_import): Avoid duplication of --avoid
29498         statements
29499         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
29500         names to `_' in variable names.
29501
29502 2007-07-10  Eric Blake  <ebb9@byu.net>
29503
29504         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
29505         * NEWS: Document this change.
29506
29507 2007-07-08  Bruno Haible  <bruno@clisp.org>
29508
29509         Update to Unicode 5.0.
29510         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
29511         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
29512         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
29513         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
29514         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
29515         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
29516         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
29517         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
29518         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
29519         U+10A3F, U+1D242..U+1D244.
29520         (nonspacing_table_ind): Update.
29521         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
29522         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
29523
29524 2007-07-08  Bruno Haible  <bruno@clisp.org>
29525
29526         Update to Unicode 5.0.
29527         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
29528         code transform. Extend the name index field of unicode_name_to_code and
29529         unicode_code_to_name from 16 to 24 bits.
29530         * lib/uniname/uniname.c (unicode_character_name,
29531         unicode_name_character): Add the range 0x12xxx to the code transform.
29532         * lib/uniname/uninames.h: Regenerated.
29533         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
29534
29535 2007-07-07  Bruno Haible  <bruno@clisp.org>
29536
29537         * modules/wcwidth-tests: New file.
29538         * tests/test-wcwidth.c: New file.
29539
29540         Work around MacOS X wcwidth() bug.
29541         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
29542         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
29543         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
29544         original wcwidth in non-UTF-8 locales.
29545         * modules/wcwidth (Depends-on): Add localcharset, streq,
29546         uniwidth/width.
29547         * doc/functions/wcwidth.texi: Update.
29548
29549 2007-07-07  Bruno Haible  <bruno@clisp.org>
29550
29551         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
29552         (wcwidth): New declaration.
29553         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
29554         macros.
29555         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
29556         here. Prepare for creating <wchar.h> unconditionally.
29557         * modules/wchar (Depends-on): Add link-warning.
29558         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
29559         REPLACE_WCWIDTH, and GL_LINK_WARNING.
29560         * lib/wcwidth.h: Remove file.
29561         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
29562         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
29563         * modules/wcwidth (Files): Remove lib/wcwidth.h.
29564         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
29565         (Include): Replace wcwidth.h with <wchar.h>.
29566         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
29567         * lib/mbchar.h: Don't include wcwidth.h.
29568         * lib/mbswidth.c: Likewise.
29569         * NEWS: Mention the change.
29570
29571 2007-07-07  Bruno Haible  <bruno@clisp.org>
29572
29573         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
29574         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
29575         definition with an external declaration.
29576         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
29577         defined as a function. Remove AC_C_INLINE requirement.
29578         * modules/wcwidth (Files): Add lib/wcwidth.c.
29579         (Makefile.am): Remove redundant statement.
29580
29581 2007-07-07  Bruno Haible  <bruno@clisp.org>
29582
29583         * MODULES.html.sh (Unicode string functions): Add the new modules.
29584
29585         * tests/uniwidth/test-u32-strwidth.c: New file.
29586         * modules/uniwidth/u32-strwidth-tests: New file.
29587
29588         * lib/uniwidth/u32-strwidth.c: New file.
29589         * modules/uniwidth/u32-strwidth: New file.
29590
29591         * tests/uniwidth/test-u16-strwidth.c: New file.
29592         * modules/uniwidth/u16-strwidth-tests: New file.
29593
29594         * lib/uniwidth/u16-strwidth.c: New file.
29595         * modules/uniwidth/u16-strwidth: New file.
29596
29597         * tests/uniwidth/test-u8-strwidth.c: New file.
29598         * modules/uniwidth/u8-strwidth-tests: New file.
29599
29600         * lib/uniwidth/u8-strwidth.c: New file.
29601         * modules/uniwidth/u8-strwidth: New file.
29602
29603         * tests/uniwidth/test-u32-width.c: New file.
29604         * modules/uniwidth/u32-width-tests: New file.
29605
29606         * lib/uniwidth/u32-width.c: New file.
29607         * modules/uniwidth/u32-width: New file.
29608
29609         * tests/uniwidth/test-u16-width.c: New file.
29610         * modules/uniwidth/u16-width-tests: New file.
29611
29612         * lib/uniwidth/u16-width.c: New file.
29613         * modules/uniwidth/u16-width: New file.
29614
29615         * tests/uniwidth/test-u8-width.c: New file.
29616         * modules/uniwidth/u8-width-tests: New file.
29617
29618         * lib/uniwidth/u8-width.c: New file.
29619         * modules/uniwidth/u8-width: New file.
29620
29621         * tests/uniwidth/test-uc_width.c: New file.
29622         * modules/uniwidth/width-tests: New file.
29623
29624         * lib/uniwidth/width.c: New file, from GNU libiconv.
29625         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
29626         * modules/uniwidth/width: New file.
29627
29628         * lib/uniwidth.h: New file, from GNU libiconv.
29629         * modules/uniwidth/base: New file.
29630
29631 2007-07-07  Bruno Haible  <bruno@clisp.org>
29632
29633         * lib/uniname.h: New file, from GNU gettext.
29634         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
29635         * lib/uniname/uninames.h: New file, from GNU gettext.
29636         * lib/uniname/uniname.c: New file, from GNU gettext.
29637         * tests/uniname/test-uninames.sh: New file.
29638         * tests/uniname/test-uninames.c: New file, from GNU gettext.
29639         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
29640         * modules/uniname/base: New file.
29641         * modules/uniname/uniname: New file.
29642         * modules/uniname/uniname-tests: New file.
29643         * MODULES.html.sh (Unicode string functions): Add the new modules.
29644
29645 2007-07-06  Bruno Haible  <bruno@clisp.org>
29646
29647         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
29648
29649 2007-07-06  Bruno Haible  <bruno@clisp.org>
29650
29651         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
29652         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
29653         includes <cygwin/sys_time.h> which includes <sys/select.h> which
29654         include <sys/time.h>.
29655         Reported by Eric Blake.
29656
29657 2007-07-06  Eric Blake  <ebb9@byu.net>
29658
29659         Fix testing canonicalize on cygwin.
29660         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
29661         Revert patch from 2007-06-19.
29662         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
29663         canonicalize module is also in use.
29664         * tests/test-canonicalize.c: New file.
29665         * tests/test-canonicalize.sh: Likewise.
29666         * modules/canonicalize-tests: Likewise.
29667
29668 2007-07-06  Jim Meyering  <jim@meyering.net>
29669
29670         * lib/getugroups.c (getugroups): Detect getgrent failure.
29671         Adjust comment to reflect reality: this function may return -1.
29672
29673 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
29674
29675         * build-aux/bootstrap (TP_URL,get_translations): Update to use
29676         the new TP address.
29677         (usage): Fix typo
29678         (gnulib_mk): New variable.
29679
29680 2007-07-05  Jim Meyering  <jim@meyering.net>
29681
29682         Don't let endgrent clobber errno, no matter how improbable.
29683         * lib/getugroups.c (getugroups): Save and restore errno around
29684         endgrent call.
29685
29686         Close the group DB even when failing with 2^31 or more members.
29687         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
29688
29689 2007-07-04  Jim Meyering  <jim@meyering.net>
29690
29691         * lib/getugroups.h: New file.
29692         * lib/getugroups.c: Include "getugroups.h".
29693         Remove uses of "register" keyword.
29694         Move local variable, "cp", down into scope where used.
29695         Give "username" parameter the "const" attribute.
29696         * modules/getugroups (Files): Add lib/getugroups.h
29697
29698 2007-07-04  Karl Berry  <karl@gnu.org>
29699
29700         * MODULES.html.sh (func_all_modules): Complete rename of
29701         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
29702
29703 2007-07-02  Bruno Haible  <bruno@clisp.org>
29704
29705         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
29706         mode, when inttypes.h comes from gnulib.
29707         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
29708
29709 2007-07-02  Simon Josefsson  <simon@josefsson.org>
29710
29711         * NEWS: Mention lgpl module name change.
29712
29713         * modules/lgpl-2.1: Renamed from lgpl.
29714
29715         * NEWS: Mention gpl module name change.
29716
29717         * modules/gpl-3.0: New file, based on gpl-2.0.
29718
29719         * modules/gpl-2.0: Renamed from gpl.
29720
29721         * modules/gpl: Fix filename, doc/gpl.texi is now found at
29722         doc/gpl-2.0.texi.
29723
29724 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
29725
29726         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
29727         #define __STDC_LIMIT_MACROS temporarily while including
29728         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
29729         Problem reported by Joel E. Denny in
29730         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
29731
29732 2007-07-01  Bruno Haible  <bruno@clisp.org>
29733
29734         * lib/unistdio.h: New file.
29735         * lib/unistdio/u-asnprintf.h: New file.
29736         * lib/unistdio/u-asprintf.h: New file.
29737         * lib/unistdio/u-printf-args.c: New file.
29738         * lib/unistdio/u-printf-args.h: New file.
29739         * lib/unistdio/u-printf-parse.h: New file.
29740         * lib/unistdio/u-snprintf.h: New file.
29741         * lib/unistdio/u-sprintf.h: New file.
29742         * lib/unistdio/u-vasprintf.h: New file.
29743         * lib/unistdio/u-vsnprintf.h: New file.
29744         * lib/unistdio/u-vsprintf.h: New file.
29745         * lib/unistdio/ulc-asnprintf.c: New file.
29746         * lib/unistdio/ulc-asprintf.c: New file.
29747         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
29748         * lib/unistdio/ulc-printf-parse.c: New file.
29749         * lib/unistdio/ulc-snprintf.c: New file.
29750         * lib/unistdio/ulc-sprintf.c: New file.
29751         * lib/unistdio/ulc-vasnprintf.c: New file.
29752         * lib/unistdio/ulc-vasprintf.c: New file.
29753         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
29754         * lib/unistdio/ulc-vsnprintf.c: New file.
29755         * lib/unistdio/ulc-vsprintf.c: New file.
29756         * lib/unistdio/u8-asnprintf.c: New file.
29757         * lib/unistdio/u8-asprintf.c: New file.
29758         * lib/unistdio/u8-printf-parse.c: New file.
29759         * lib/unistdio/u8-snprintf.c: New file.
29760         * lib/unistdio/u8-sprintf.c: New file.
29761         * lib/unistdio/u8-vasnprintf.c: New file.
29762         * lib/unistdio/u8-vasprintf.c: New file.
29763         * lib/unistdio/u8-vsnprintf.c: New file.
29764         * lib/unistdio/u8-vsprintf.c: New file.
29765         * lib/unistdio/u8-u8-asnprintf.c: New file.
29766         * lib/unistdio/u8-u8-asprintf.c: New file.
29767         * lib/unistdio/u8-u8-snprintf.c: New file.
29768         * lib/unistdio/u8-u8-sprintf.c: New file.
29769         * lib/unistdio/u8-u8-vasnprintf.c: New file.
29770         * lib/unistdio/u8-u8-vasprintf.c: New file.
29771         * lib/unistdio/u8-u8-vsnprintf.c: New file.
29772         * lib/unistdio/u8-u8-vsprintf.c: New file.
29773         * lib/unistdio/u16-asnprintf.c: New file.
29774         * lib/unistdio/u16-asprintf.c: New file.
29775         * lib/unistdio/u16-printf-parse.c: New file.
29776         * lib/unistdio/u16-snprintf.c: New file.
29777         * lib/unistdio/u16-sprintf.c: New file.
29778         * lib/unistdio/u16-vasnprintf.c: New file.
29779         * lib/unistdio/u16-vasprintf.c: New file.
29780         * lib/unistdio/u16-vsnprintf.c: New file.
29781         * lib/unistdio/u16-vsprintf.c: New file.
29782         * lib/unistdio/u16-u16-asnprintf.c: New file.
29783         * lib/unistdio/u16-u16-asprintf.c: New file.
29784         * lib/unistdio/u16-u16-snprintf.c: New file.
29785         * lib/unistdio/u16-u16-sprintf.c: New file.
29786         * lib/unistdio/u16-u16-vasnprintf.c: New file.
29787         * lib/unistdio/u16-u16-vasprintf.c: New file.
29788         * lib/unistdio/u16-u16-vsnprintf.c: New file.
29789         * lib/unistdio/u16-u16-vsprintf.c: New file.
29790         * lib/unistdio/u32-asnprintf.c: New file.
29791         * lib/unistdio/u32-asprintf.c: New file.
29792         * lib/unistdio/u32-printf-parse.c: New file.
29793         * lib/unistdio/u32-snprintf.c: New file.
29794         * lib/unistdio/u32-sprintf.c: New file.
29795         * lib/unistdio/u32-vasnprintf.c: New file.
29796         * lib/unistdio/u32-vasprintf.c: New file.
29797         * lib/unistdio/u32-vsnprintf.c: New file.
29798         * lib/unistdio/u32-vsprintf.c: New file.
29799         * lib/unistdio/u32-u32-asnprintf.c: New file.
29800         * lib/unistdio/u32-u32-asprintf.c: New file.
29801         * lib/unistdio/u32-u32-snprintf.c: New file.
29802         * lib/unistdio/u32-u32-sprintf.c: New file.
29803         * lib/unistdio/u32-u32-vasnprintf.c: New file.
29804         * lib/unistdio/u32-u32-vasprintf.c: New file.
29805         * lib/unistdio/u32-u32-vsnprintf.c: New file.
29806         * lib/unistdio/u32-u32-vsprintf.c: New file.
29807         * tests/unistdio/test-ulc-asnprintf1.c: New file.
29808         * tests/unistdio/test-ulc-asnprintf1.h: New file.
29809         * tests/unistdio/test-ulc-printf1.h: New file.
29810         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
29811         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
29812         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
29813         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
29814         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
29815         * tests/unistdio/test-ulc-vasprintf1.c: New file.
29816         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
29817         * tests/unistdio/test-ulc-vsprintf1.c: New file.
29818         * tests/unistdio/test-u8-asnprintf1.c: New file.
29819         * tests/unistdio/test-u8-asnprintf1.h: New file.
29820         * tests/unistdio/test-u8-printf1.h: New file.
29821         * tests/unistdio/test-u8-vasnprintf1.c: New file.
29822         * tests/unistdio/test-u8-vasnprintf2.c: New file.
29823         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
29824         * tests/unistdio/test-u8-vasnprintf3.c: New file.
29825         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
29826         * tests/unistdio/test-u8-vasprintf1.c: New file.
29827         * tests/unistdio/test-u8-vsnprintf1.c: New file.
29828         * tests/unistdio/test-u8-vsprintf1.c: New file.
29829         * tests/unistdio/test-u16-asnprintf1.c: New file.
29830         * tests/unistdio/test-u16-asnprintf1.h: New file.
29831         * tests/unistdio/test-u16-printf1.h: New file.
29832         * tests/unistdio/test-u16-vasnprintf1.c: New file.
29833         * tests/unistdio/test-u16-vasnprintf2.c: New file.
29834         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
29835         * tests/unistdio/test-u16-vasnprintf3.c: New file.
29836         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
29837         * tests/unistdio/test-u16-vasprintf1.c: New file.
29838         * tests/unistdio/test-u16-vsnprintf1.c: New file.
29839         * tests/unistdio/test-u16-vsprintf1.c: New file.
29840         * tests/unistdio/test-u32-asnprintf1.c: New file.
29841         * tests/unistdio/test-u32-asnprintf1.h: New file.
29842         * tests/unistdio/test-u32-printf1.h: New file.
29843         * tests/unistdio/test-u32-vasnprintf1.c: New file.
29844         * tests/unistdio/test-u32-vasnprintf2.c: New file.
29845         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
29846         * tests/unistdio/test-u32-vasnprintf3.c: New file.
29847         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
29848         * tests/unistdio/test-u32-vasprintf1.c: New file.
29849         * tests/unistdio/test-u32-vsnprintf1.c: New file.
29850         * tests/unistdio/test-u32-vsprintf1.c: New file.
29851         * modules/unistdio/base: New file.
29852         * modules/unistdio/u-printf-args: New file.
29853         * modules/unistdio/ulc-asnprintf: New file.
29854         * modules/unistdio/ulc-asprintf: New file.
29855         * modules/unistdio/ulc-fprintf: New file.
29856         * modules/unistdio/ulc-printf-parse: New file.
29857         * modules/unistdio/ulc-snprintf: New file.
29858         * modules/unistdio/ulc-sprintf: New file.
29859         * modules/unistdio/ulc-vasnprintf: New file.
29860         * modules/unistdio/ulc-vasprintf: New file.
29861         * modules/unistdio/ulc-vfprintf: New file.
29862         * modules/unistdio/ulc-vsnprintf: New file.
29863         * modules/unistdio/ulc-vsprintf: New file.
29864         * modules/unistdio/u8-asnprintf: New file.
29865         * modules/unistdio/u8-asprintf: New file.
29866         * modules/unistdio/u8-printf-parse: New file.
29867         * modules/unistdio/u8-snprintf: New file.
29868         * modules/unistdio/u8-sprintf: New file.
29869         * modules/unistdio/u8-vasnprintf: New file.
29870         * modules/unistdio/u8-vasprintf: New file.
29871         * modules/unistdio/u8-vsnprintf: New file.
29872         * modules/unistdio/u8-vsprintf: New file.
29873         * modules/unistdio/u8-u8-asnprintf: New file.
29874         * modules/unistdio/u8-u8-asprintf: New file.
29875         * modules/unistdio/u8-u8-snprintf: New file.
29876         * modules/unistdio/u8-u8-sprintf: New file.
29877         * modules/unistdio/u8-u8-vasnprintf: New file.
29878         * modules/unistdio/u8-u8-vasprintf: New file.
29879         * modules/unistdio/u8-u8-vsnprintf: New file.
29880         * modules/unistdio/u8-u8-vsprintf: New file.
29881         * modules/unistdio/u16-asnprintf: New file.
29882         * modules/unistdio/u16-asprintf: New file.
29883         * modules/unistdio/u16-printf-parse: New file.
29884         * modules/unistdio/u16-snprintf: New file.
29885         * modules/unistdio/u16-sprintf: New file.
29886         * modules/unistdio/u16-vasnprintf: New file.
29887         * modules/unistdio/u16-vasprintf: New file.
29888         * modules/unistdio/u16-vsnprintf: New file.
29889         * modules/unistdio/u16-vsprintf: New file.
29890         * modules/unistdio/u16-u16-asnprintf: New file.
29891         * modules/unistdio/u16-u16-asprintf: New file.
29892         * modules/unistdio/u16-u16-snprintf: New file.
29893         * modules/unistdio/u16-u16-sprintf: New file.
29894         * modules/unistdio/u16-u16-vasnprintf: New file.
29895         * modules/unistdio/u16-u16-vasprintf: New file.
29896         * modules/unistdio/u16-u16-vsnprintf: New file.
29897         * modules/unistdio/u16-u16-vsprintf: New file.
29898         * modules/unistdio/u32-asnprintf: New file.
29899         * modules/unistdio/u32-asprintf: New file.
29900         * modules/unistdio/u32-printf-parse: New file.
29901         * modules/unistdio/u32-snprintf: New file.
29902         * modules/unistdio/u32-sprintf: New file.
29903         * modules/unistdio/u32-vasnprintf: New file.
29904         * modules/unistdio/u32-vasprintf: New file.
29905         * modules/unistdio/u32-vsnprintf: New file.
29906         * modules/unistdio/u32-vsprintf: New file.
29907         * modules/unistdio/u32-u32-asnprintf: New file.
29908         * modules/unistdio/u32-u32-asprintf: New file.
29909         * modules/unistdio/u32-u32-snprintf: New file.
29910         * modules/unistdio/u32-u32-sprintf: New file.
29911         * modules/unistdio/u32-u32-vasnprintf: New file.
29912         * modules/unistdio/u32-u32-vasprintf: New file.
29913         * modules/unistdio/u32-u32-vsnprintf: New file.
29914         * modules/unistdio/u32-u32-vsprintf: New file.
29915         * modules/unistdio/ulc-asnprintf-tests: New file.
29916         * modules/unistdio/ulc-vasnprintf-tests: New file.
29917         * modules/unistdio/ulc-vasprintf-tests: New file.
29918         * modules/unistdio/ulc-vsnprintf-tests: New file.
29919         * modules/unistdio/ulc-vsprintf-tests: New file.
29920         * modules/unistdio/u8-asnprintf-tests: New file.
29921         * modules/unistdio/u8-vasnprintf-tests: New file.
29922         * modules/unistdio/u8-vasprintf-tests: New file.
29923         * modules/unistdio/u8-vsnprintf-tests: New file.
29924         * modules/unistdio/u8-vsprintf-tests: New file.
29925         * modules/unistdio/u16-asnprintf-tests: New file.
29926         * modules/unistdio/u16-vasnprintf-tests: New file.
29927         * modules/unistdio/u16-vasprintf-tests: New file.
29928         * modules/unistdio/u16-vsnprintf-tests: New file.
29929         * modules/unistdio/u16-vsprintf-tests: New file.
29930         * modules/unistdio/u32-asnprintf-tests: New file.
29931         * modules/unistdio/u32-vasnprintf-tests: New file.
29932         * modules/unistdio/u32-vasprintf-tests: New file.
29933         * modules/unistdio/u32-vsnprintf-tests: New file.
29934         * modules/unistdio/u32-vsprintf-tests: New file.
29935         * MODULES.html.sh (Unicode string functions): Add the new modules.
29936
29937 2007-07-01  Bruno Haible  <bruno@clisp.org>
29938
29939         * lib/sprintf.c (sprintf): Limit the available length estimation,
29940         to avoid address wraparound.
29941         * lib/vsprintf.c (vsprintf): Likewise.
29942         * modules/sprintf-posix (Dependencies): Add stdint.
29943         * modules/vsprintf-posix (Dependencies): Likewise.
29944
29945 2007-07-01  Bruno Haible  <bruno@clisp.org>
29946
29947         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
29948         Windows PATH as well. Conservative double-quoting. Comments.
29949
29950 2007-07-01  Bruno Haible  <bruno@clisp.org>
29951             Eric Blake  <ebb9@byu.net>
29952             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29953
29954         * gnulib-tool (self_abspathname): Fix algorithm to cope with
29955         empty components in $PATH, denoting '.'.
29956
29957 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29958
29959         * gnulib-tool: Fix indentation.
29960         (func_create_megatestdir): Likewise.
29961         Report by Bruno Haible.
29962
29963 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29964
29965         Sync from Automake.
29966         * build-aux/gnupload: Fix shell portability issues with for loops.
29967         Report by Karl Berry.
29968
29969 2007-06-29  Simon Josefsson  <simon@josefsson.org>
29970
29971         * build-aux/maint.mk (POURL): Use translationproject.org.
29972
29973 2007-06-27  Simon Josefsson  <simon@josefsson.org>
29974             Bruno Haible  <bruno@clisp.org>
29975
29976         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
29977         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
29978         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
29979         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
29980         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
29981
29982 2007-06-27  Bruno Haible  <bruno@clisp.org>
29983
29984         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
29985         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
29986
29987 2007-06-26  Karl Berry  <karl@gnu.org>
29988
29989         * MODULES.html.sh: remove xreadlink-with-size.
29990
29991 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
29992
29993         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
29994         method that I hope also handles the double-include problem noted
29995         by Bruno Haible in
29996         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
29997
29998 2007-06-23  Bruno Haible  <bruno@clisp.org>
29999
30000         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
30001         Don't let the 'mostlyclean' target fail if the last subdirectory could
30002         not be removed.
30003         Reported by Karl Berry.
30004
30005 2007-06-23  Bruno Haible  <bruno@clisp.org>
30006
30007         * gnulib-tool (echo): Add a speedier workaround for ksh.
30008         * tests/test-echo.sh: Likewise.
30009
30010 2007-06-23  Bruno Haible  <bruno@clisp.org>
30011
30012         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
30013         * tests/test-echo.sh: Likewise.
30014
30015 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30016
30017         * gnulib-tool (IFS): Initialize early, so we don't set it to
30018         empty later.
30019         (self_abspathname): Rewrite algorithm to set it, reindent.
30020         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
30021         (func_create_megatestdir): Merge some sed scripts.
30022
30023 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
30024
30025         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
30026         exposed by Sun Studio 11 cc on Solaris 8.
30027
30028 2007-06-22  Bruno Haible  <bruno@clisp.org>
30029
30030         * gnulib-tool (echo): Ensure the echo primitive does not interpret
30031         backslashes.
30032         * tests/test-echo.sh: New file.
30033
30034 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30035
30036         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
30037         simplify `sed_replace_build_aux' scripts, they are portable but
30038         echoing them with `echo' is not.
30039         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
30040
30041 2007-06-21  Karl Berry  <karl@gnu.org>
30042
30043         * config/srclist.txt: guess we can't handle the licenses via
30044         srclist at the moment.
30045
30046 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
30047
30048         * MODULES.html.sh: Add include_next.
30049         * modules/include_next: New file.
30050
30051 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
30052
30053         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
30054         INCLUDE_NEXT.
30055         (gl_CHECK_NEXT_HEADERS): New macro.
30056         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
30057         the obsolescent gl_ABSOLUTE_HEADER.
30058         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
30059         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
30060         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
30061         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
30062         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
30063         * m4/math_h.m4 (gl_MATH_H): Likewise.
30064         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
30065         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
30066         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
30067         * m4/stdint.m4 (gl_STDINT_H): Likewise.
30068         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
30069         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
30070         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
30071         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
30072         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
30073         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
30074         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
30075         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
30076         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
30077         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
30078         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
30079         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
30080         * m4/inttypes.m4 (gl_INTTYPES_H): Define
30081         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
30082         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
30083         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
30084         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
30085         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
30086         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
30087         * lib/float_.h: Likewise.
30088         * lib/inttypes_.h: Likewise.
30089         * lib/math_.h: Likewise.
30090         * lib/search_.h: Likewise.
30091         * lib/signal_.h: Likewise.
30092         * lib/stdint_.h: Likewise.
30093         * lib/stdio_.h: Likewise.
30094         * lib/stdlib_.h: Likewise.
30095         * lib/string_.h: Likewise.
30096         * lib/sys_stat_.h: Likewise.
30097         * lib/sys_time_.h: Likewise.
30098         * lib/time_.h: Likewise.
30099         * lib/unistd_.h: Likewise.
30100         * lib/wchar_.h: Likewise.
30101         * lib/wctype_.h: Likewise.
30102         * lib/dirent_.h: Likewise.
30103         * lib/iconv_.h: Likewise.
30104         * lib/locale_.h: Likewise.
30105         * lib/netinet_in_.h: Likewise.
30106         * lib/sys_select_.h: Likewise.
30107         * lib/sys_socket_.h: Likewise.
30108         * lib/sysexits_.h: Likewise.
30109         * modules/fcntl (Depends-on): Depend on include_next, not
30110         absolute_header.
30111         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
30112         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
30113         * modules/fchdir: Likewise.
30114         * modules/float: Likewise.
30115         * modules/iconv_open: Likewise.
30116         * modules/inttypes: Likewise.
30117         * modules/locale: Likewise.
30118         * modules/math: Likewise.
30119         * modules/netinet_in: Likewise.
30120         * modules/search: Likewise.
30121         * modules/signal: Likewise.
30122         * modules/stdint: Likewise.
30123         * modules/stdio: Likewise.
30124         * modules/stdlib: Likewise.
30125         * modules/string: Likewise.
30126         * modules/sys_select: Likewise.
30127         * modules/sys_socket: Likewise.
30128         * modules/sys_stat: Likewise.
30129         * modules/sys_time: Likewise.
30130         * modules/sysexits: Likewise.
30131         * modules/time: Likewise.
30132         * modules/unistd: Likewise.
30133         * modules/wchar: Likewise.
30134         * modules/wctype: Likewise.
30135         * modules/sys_stat: Change maintainer to "all".
30136         * modules/unistd: Likewise.
30137
30138 2007-06-20  Karl Berry  <karl@gnu.org>
30139
30140         * config/srclist.txt: track www changes in license files.
30141
30142 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
30143
30144         * build-aux/bootstrap: Remove stray dot.
30145         Make sure build_aux settings are honored when linking
30146         gnulib_extra_files.
30147
30148 2007-06-19  Eric Blake  <ebb9@byu.net>
30149
30150         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
30151         Allow compilation on cygwin.
30152
30153 2007-06-19  Jim Meyering  <jim@meyering.net>
30154
30155         xreadlink-with-size: Remove module.  No longer used.
30156         Ex-callers now use xreadlink or mreadlink-with-size.
30157         * modules/xreadlink-with-size: Remove module.
30158         * lib/xreadlink-with-size.c: Remove file.
30159         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
30160         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
30161         just before the function definition *is* accurate.
30162
30163         Eliminate one way canonicalize_filename_mode could exit.
30164         * lib/canonicalize.c (canonicalize_filename_mode):
30165         Use mreadlink_with_size, not xreadlink_with_size.
30166
30167 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
30168
30169         Detect porting problems to FreeBSD/arm, which has time_t wider than
30170         long int.  Original problem reported for GNU diff by Xin Li in
30171         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
30172         * modules/getdate (Depends-on): Add intprops, verify.
30173         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
30174         is an integer type no wider than long int.
30175
30176 2007-06-18  Jim Meyering  <jim@meyering.net>
30177
30178         New module: mreadlink-with-size.
30179         * MODULES.html.sh: Add mreadlink-with-size.
30180         * modules/mreadlink-with-size: New module
30181         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
30182         not xreadlink-with-size.
30183         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
30184
30185 2007-06-16  Bruno Haible  <bruno@clisp.org>
30186
30187         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
30188         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
30189         Reported by Gary V. Vaughan <gary@gnu.org>.
30190
30191 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
30192
30193         Revamp lchown so that it lives in unistd.h where it belongs.
30194         * lib/lchown.h: Remove.
30195         * lib/dirchownmod.c: Don't include lib/lchown.h.
30196         * lib/fchownat.c: Likewise.
30197         * lib/openat.c: Likewise.
30198         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
30199         does not follow symlinks.
30200         (EOPNOTSUPP): Define if not defined.
30201         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
30202         is defined to 0.
30203         (lchown): New decl.
30204         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
30205         Do not check for lchown decl.
30206         Set REPLACE_LCHOWN.
30207         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
30208         REPLACE_LCHOWN.
30209         * modules/chown: Make it clear it follows symlinks.
30210         * modules/lchown: Make it clear it doesn't follow symlinks.
30211         (Files): Remove lib/lchown.h
30212         (Depends-on): Add unistd.
30213         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
30214         (Include): Include <unistd.h>, not "lchown.h".
30215         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
30216         REPLACE_LCHOWN.
30217
30218 2007-06-15  Jim Meyering  <jim@meyering.net>
30219
30220         Change license (GPL to LGPL) of fsusage and dependents.
30221         * modules/fsusage (License): Change to LGPL.
30222         * modules/full-read (License): Likewise.
30223         * modules/full-write (License): Likewise.
30224         * modules/safe-read (License): Likewise.
30225         * modules/safe-write (License): Likewise.
30226
30227 2007-06-14  Ben Pfaff  <blp@gnu.org>
30228
30229         Missing part of allocsa -> malloca transition.
30230         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
30231         gl_MALLOCA.
30232
30233 2007-06-12  Bruno Haible  <bruno@clisp.org>
30234
30235         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
30236         to ia64, x86_64, i386.
30237         Reported by Eric Blake.
30238
30239 2007-06-12  Bruno Haible  <bruno@clisp.org>
30240
30241         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
30242         cross-compiling to x86_64.
30243
30244 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
30245
30246         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
30247         glitch reported by Ralf Wildenhues in
30248         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
30249
30250         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
30251         Vin Shelton.
30252
30253 2007-06-11  Bruno Haible  <bruno@clisp.org>
30254
30255         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
30256         replacement string.
30257         Reported by Eric Blake.
30258
30259 2007-06-10  Bruno Haible  <bruno@clisp.org>
30260
30261         Prepare vasnprintf code for use with Unicode strings.
30262         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
30263         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
30264         TYPE_U32_STRING.
30265         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
30266         a_u32_string variants.
30267         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
30268         * lib/printf-args.c: Don't include config.h and the specification
30269         header if PRINTF_FETCHARGS is already defined.
30270         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
30271         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
30272         TYPE_U16_STRING, TYPE_U32_STRING.
30273         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
30274         u16_directive, u16_directives, u32_directive, u32_directives): New
30275         types.
30276         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
30277         New declarations.
30278         * lib/printf-parse.c: Don't include config.h and the specification
30279         header if PRINTF_PARSE is already defined. Eliminate the set of
30280         parameters for WIDE_CHAR_VERSION; the user of this file must provide
30281         them now. Include c-ctype.h.
30282         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
30283         directive and CHAR_T_ONLY_ASCII.
30284         * lib/vasnprintf.c: Don't include config.h and the specification header
30285         if VASNPRINTF is already defined.
30286         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
30287         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
30288         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
30289         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
30290         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
30291         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
30292         code accordingly.
30293         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
30294         pad_ourselves also in this case, with the 'c' and 's' directives, and
30295         with a different notion of "width".
30296         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
30297
30298 2007-06-10  Bruno Haible  <bruno@clisp.org>
30299
30300         * modules/unistr/u32-mbsnlen: New file.
30301         * lib/unistr/u32-mbsnlen.c: New file.
30302
30303         * modules/unistr/u16-mbsnlen: New file.
30304         * lib/unistr/u16-mbsnlen.c: New file.
30305
30306         * modules/unistr/u8-mbsnlen: New file.
30307         * lib/unistr/u8-mbsnlen.c: New file.
30308
30309         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
30310         declarations.
30311
30312 2007-06-10  Bruno Haible  <bruno@clisp.org>
30313
30314         * lib/string_.h (mbsnlen): New declaration.
30315         * lib/mbsnlen.c: New file.
30316         * m4/mbsnlen.m4: New file.
30317         * modules/mbsnlen: New file.
30318         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
30319         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
30320         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
30321
30322 2007-06-10  Bruno Haible  <bruno@clisp.org>
30323
30324         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
30325
30326 2007-06-10  Bruno Haible  <bruno@clisp.org>
30327
30328         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
30329         * lib/mbuiter.h: Likewise.
30330
30331 2007-06-10  Bruno Haible  <bruno@clisp.org>
30332
30333         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
30334         declaration.
30335
30336 2007-06-10  Karl Berry  <karl@gnu.org>
30337
30338         * config/srclist.txt: remove gettext entries, Bruno prefers
30339         to update individually.
30340
30341 2007-06-10  Bruno Haible  <bruno@clisp.org>
30342
30343         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
30344         'maxlen'. Ensure only length + width bytes are allocated, not
30345         length + 1 + width.
30346
30347 2007-06-09  Bruno Haible  <bruno@clisp.org>
30348
30349         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
30350         (CHAR_T): Remove macro.
30351         (VASNPRINTF): Update.
30352
30353 2007-06-09  Bruno Haible  <bruno@clisp.org>
30354
30355         * MODULES.html.sh (Unicode string functions): Add the new modules.
30356
30357         * modules/uniconv/u32-conv-to-enc: New file.
30358         * lib/uniconv/u32-conv-to-enc.c: New file.
30359         * modules/uniconv/u32-conv-to-enc-tests: New file.
30360         * tests/uniconv/test-u32-conv-to-enc.c: New file.
30361
30362         * modules/uniconv/u16-conv-to-enc: New file.
30363         * lib/uniconv/u16-conv-to-enc.c: New file.
30364         * lib/uniconv/u-conv-to-enc.h: New file.
30365         * modules/uniconv/u16-conv-to-enc-tests: New file.
30366         * tests/uniconv/test-u16-conv-to-enc.c: New file.
30367
30368         * modules/uniconv/u8-conv-to-enc: New file.
30369         * lib/uniconv/u8-conv-to-enc.c: New file.
30370         * modules/uniconv/u8-conv-to-enc-tests: New file.
30371         * tests/uniconv/test-u8-conv-to-enc.c: New file.
30372
30373         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
30374         u32_conv_to_encoding): New declarations.
30375
30376 2007-06-09  Bruno Haible  <bruno@clisp.org>
30377
30378         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
30379
30380 2007-06-09  Bruno Haible  <bruno@clisp.org>
30381
30382         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
30383         * modules/malloca: Renamed from modules/allocsa, updated.
30384         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
30385         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
30386         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
30387         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
30388         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
30389         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
30390         * modules/xmalloca: Renamed from modules/xallocsa, updated.
30391         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
30392         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
30393         * modules/c-strcasestr (Depends-on): Update.
30394         * lib/c-strcasestr.c: Update.
30395         * modules/c-strstr (Depends-on): Update.
30396         * lib/c-strstr.c: Update.
30397         * modules/canonicalize-lgpl (Depends-on): Update.
30398         * lib/canonicalize-lgpl.c: Update.
30399         * modules/clean-temp (Depends-on): Update.
30400         * lib/clean-temp.c: Update.
30401         * modules/csharpcomp (Depends-on): Update.
30402         * lib/csharpcomp.c: Update.
30403         * modules/csharpexec (Depends-on): Update.
30404         * lib/csharpexec.c: Update.
30405         * modules/javacomp (Depends-on): Update.
30406         * lib/javacomp.c: Update.
30407         * modules/javaexec (Depends-on): Update.
30408         * lib/javaexec.c: Update.
30409         * modules/mbscasestr (Depends-on): Update.
30410         * lib/mbscasestr.c: Update.
30411         * modules/mbsstr (Depends-on): Update.
30412         * lib/mbsstr.c: Update.
30413         * modules/setenv (Depends-on): Update.
30414         * lib/setenv.c: Update.
30415         * modules/strcasestr (Depends-on): Update.
30416         * lib/strcasestr.c: Update.
30417         * modules/striconveha (Depends-on): Update.
30418         * lib/striconveha.c: Update.
30419         * modules/relocatable-prog-wrapper (Files): Update.
30420         * lib/relocwrapper.c: Update.
30421         * build-aux/install-reloc: Update.
30422         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
30423
30424 2007-06-08  Bruno Haible  <bruno@clisp.org>
30425
30426         Port to uClibc.
30427         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
30428         * lib/fpurge.c (fpurge): Likewise.
30429         * lib/freading.c (freading): Likewise.
30430         * lib/fseeko.c (rpl_fseeko): Likewise.
30431         * lib/fseterr.c (fseterr): Likewise.
30432         * lib/fwriting.c (fwriting): Likewise.
30433         * tests/test-fflush.c (main): Avoid a failure on uClibc.
30434
30435 2007-06-08  Bruno Haible  <bruno@clisp.org>
30436
30437         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
30438         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
30439         * modules/gettext (Files): Add m4/intlmacosx.m4.
30440
30441 2007-06-07  Bruno Haible  <bruno@clisp.org>
30442
30443         * modules/localename-tests: New file.
30444         * tests/test-localename.c: New file.
30445
30446         New module 'localename'.
30447         * lib/localename.h: New file.
30448         * lib/localename.c: New file, from GNU gettext.
30449         * m4/localename.m4: New file.
30450         * modules/localename: New file.
30451
30452 2007-06-07  Bruno Haible  <bruno@clisp.org>
30453
30454         Work around the lack of <wchar.h> on some builds of uClibc.
30455         * doc/headers/wchar.texi: Update.
30456         * lib/wchar_.h: Include <wchar.h> only if it exists.
30457         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
30458         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
30459         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
30460         doesn't exist.
30461         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
30462         * modules/mbfile (Depends-on): Add wchar.
30463         * modules/mbiter (Depends-on): Likewise.
30464         * modules/mbuiter (Depends-on): Likewise.
30465         Reported by Simon Josefsson.
30466
30467 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
30468
30469         Work around problem reported by Steven M. Schweda in
30470         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
30471         Tru64 5.1B with the Compaq compiler environment installed declares
30472         an 'isblank' function but does not define it in the C library.
30473         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
30474         * lib/regex_internal.h (isblank): Likewise.
30475         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
30476         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
30477
30478 2007-06-05  Bruno Haible  <bruno@clisp.org>
30479
30480         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
30481         ia64.
30482         * modules/printf-safe: New file.
30483         * modules/fprintf-posix (Depends-on): Add printf-safe.
30484         * modules/printf-posix (Depends-on): Likewise.
30485         * modules/snprintf-posix (Depends-on): Likewise.
30486         * modules/sprintf-posix (Depends-on): Likewise.
30487         * modules/vasnprintf-posix (Depends-on): Likewise.
30488         * modules/vasprintf-posix (Depends-on): Likewise.
30489         * modules/vfprintf-posix (Depends-on): Likewise.
30490         * modules/vprintf-posix (Depends-on): Likewise.
30491         * modules/vsnprintf-posix (Depends-on): Likewise.
30492         * modules/vsprintf-posix (Depends-on): Likewise.
30493         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
30494         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
30495         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
30496         "no" on i386, x86_64, ia64.
30497         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
30498         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
30499         on i386, x86_64, ia64.
30500         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
30501         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
30502         on i386, x86_64, ia64.
30503         * tests/test-vasnprintf-posix.c: Include float.h.
30504         (LDBL80_WORDS): New macro.
30505         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
30506         on i386, x86_64, ia64.
30507         * tests/test-vasprintf-posix.c: Include float.h.
30508         (LDBL80_WORDS): New macro.
30509         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
30510         on i386, x86_64, ia64.
30511         * tests/test-snprintf-posix.c: Include float.h.
30512         * tests/test-sprintf-posix.c: Likewise.
30513         * tests/test-vsnprintf-posix.c: Likewise.
30514         * tests/test-vsprintf-posix.c: Likewise.
30515
30516 2007-06-05  Bruno Haible  <bruno@clisp.org>
30517
30518         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
30519         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
30520         non-IEEE numbers on i386, x86_64, ia64.
30521         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
30522         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
30523         * tests/test-isnanl.h: Include float.h.
30524         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
30525
30526 2007-06-05  Bruno Haible  <bruno@clisp.org>
30527
30528         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
30529         also the %a / %A. Handle the %a / %A code before this extra handling.
30530
30531 2007-06-05  Bruno Haible  <bruno@clisp.org>
30532
30533         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
30534         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
30535
30536 2007-06-05  Bruno Haible  <bruno@clisp.org>
30537
30538         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
30539         typo in variable name.
30540
30541 2007-06-05  Eric Blake  <ebb9@byu.net>
30542
30543         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
30544         Reported by Simon Josefsson.
30545
30546 2007-06-04  Bruno Haible  <bruno@clisp.org>
30547
30548         Avoid test failures on some PowerPC platforms.
30549         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
30550         Define differently for PowerPC.
30551         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
30552         Reported by Gary V. Vaughan <gary@gnu.org>.
30553
30554 2007-06-02  Bruno Haible  <bruno@clisp.org>
30555
30556         Fix test-stdint failure on FreeBSD/ia64.
30557         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
30558         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
30559         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
30560         * doc/headers/stdint.texi: Update.
30561
30562 2007-06-01  Bruno Haible  <bruno@clisp.org>
30563
30564         * tests/test-binary-io.c (main): Pass a third argument to open().
30565         Reported by Gary V. Vaughan <gary@gnu.org>.
30566
30567 2007-06-01  Bruno Haible  <bruno@clisp.org>
30568
30569         * doc/functions/frexpl.texi: Update for mingw.
30570
30571 2007-06-01  Bruno Haible  <bruno@clisp.org>
30572
30573         * tests/test-lseek.c (main): Disable test of errno for invalid third
30574         argument.
30575         * doc/functions/lseek.texi: Update.
30576         Reported by Gary V. Vaughan <gary@gnu.org>.
30577
30578 2007-05-28  Bruno Haible  <bruno@clisp.org>
30579
30580         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
30581
30582 2007-05-31  Eric Blake  <ebb9@byu.net>
30583
30584         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
30585         cross compiling.
30586
30587 2007-05-30  Eric Blake  <ebb9@byu.net>
30588         and Bruno Haible  <bruno@clisp.org>
30589
30590         Work around mingw test failures exposed by m4-1.4.9b.
30591         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
30592         * tests/test-unistd.c: Disable uid_t and git_t tests for the
30593         moment.
30594
30595 2007-05-30  Bruno Haible  <bruno@clisp.org>
30596
30597         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
30598         assuming that they are closed. Needed on HP-UX 11.
30599
30600 2007-05-29  Bruno Haible  <bruno@clisp.org>
30601
30602         Fix a problem with #include_next.
30603         * lib/dirent_.h: Split the double-inclusion guard.
30604         * lib/fcntl_.h: Likewise.
30605         * lib/float_.h: Likewise.
30606         * lib/iconv_.h: Likewise.
30607         * lib/inttypes_.h: Likewise.
30608         * lib/locale_.h: Likewise.
30609         * lib/math_.h: Likewise.
30610         * lib/netinet_in_.h: Likewise.
30611         * lib/search_.h: Likewise.
30612         * lib/signal_.h: Likewise.
30613         * lib/stdint_.h: Likewise.
30614         * lib/stdio_.h: Likewise.
30615         * lib/stdlib_.h: Likewise.
30616         * lib/string_.h: Likewise.
30617         * lib/sys_select_.h: Likewise.
30618         * lib/sys_socket_.h: Likewise.
30619         * lib/sys_stat_.h: Likewise.
30620         * lib/sys_time_.h: Likewise.
30621         * lib/sysexits_.h: Likewise.
30622         * lib/time_.h: Likewise.
30623         * lib/unistd_.h: Likewise.
30624         * lib/wchar_.h: Likewise.
30625         * lib/wctype_.h: Likewise.
30626
30627 2007-05-29  Bruno Haible  <bruno@clisp.org>
30628
30629         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
30630         for the moment.
30631
30632 2007-05-29  Bruno Haible  <bruno@clisp.org>
30633
30634         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
30635         invocation.
30636         Reported by Eric Blake.
30637
30638 2007-05-29  Bruno Haible  <bruno@clisp.org>
30639
30640         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
30641         compiling case.
30642
30643 2007-05-29  Eric Blake  <ebb9@byu.net>
30644             Bruno Haible  <bruno@clisp.org>
30645
30646         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
30647         cross compiles.
30648
30649 2007-05-28  Eric Blake  <ebb9@byu.net>
30650
30651         * modules/closein-tests (test_closein_LDADD): Support test on
30652         cygwin with libtool.
30653
30654 2007-05-28  Bruno Haible  <bruno@clisp.org>
30655
30656         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
30657         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
30658         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
30659         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
30660         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
30661         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
30662         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
30663         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
30664         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
30665
30666 2007-05-28  Eric Blake  <ebb9@byu.net>
30667
30668         Unconditionally include <config.h> in unit tests.
30669         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
30670         * tests/test-allocsa.c, tests/test-arcfour.c,
30671         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
30672         tests/test-array_list.c, tests/test-array_oset.c,
30673         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
30674         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
30675         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
30676         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
30677         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
30678         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
30679         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
30680         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
30681         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
30682         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
30683         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
30684         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
30685         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
30686         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
30687         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
30688         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
30689         test-md5.c, test-memmem.c, test-printf-posix.c,
30690         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
30691         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
30692         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
30693         test-strcasestr.c, test-striconv.c, test-striconveh.c,
30694         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
30695         test-vasnprintf-posix2.c, test-vasnprintf.c,
30696         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
30697         test-vfprintf-posix.c, test-vprintf-posix.c,
30698         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
30699         test-xvasprintf.c: Likewise.
30700
30701 2007-05-28  Bruno Haible  <bruno@clisp.org>
30702
30703         * gnulib-tool (func_import): Remember the --with-tests command-line
30704         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
30705         Reported by Eric Blake.
30706
30707 2007-05-28  Bruno Haible  <bruno@clisp.org>
30708
30709         * modules/ftell-tests: New file.
30710         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
30711         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
30712
30713         * lib/ftell.c: New file.
30714         * modules/ftell: New file.
30715         * m4/ftell.m4: New file.
30716         * doc/functions/ftell.texi: Update.
30717         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
30718         REPLACE_FTELL.
30719         * lib/stdio_.h (rpl_ftell): New declaration.
30720         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
30721         REPLACE_FTELL.
30722
30723 2007-05-28  Eric Blake  <ebb9@byu.net>
30724
30725         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
30726
30727 2007-05-28  Bruno Haible  <bruno@clisp.org>
30728
30729         * modules/fseek-tests: New file.
30730         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
30731         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
30732
30733         * lib/fseek.c: New file.
30734         * modules/fseek: New file.
30735         * m4/fseek.m4: New file.
30736         * doc/functions/fseek.texi: Update.
30737         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
30738         REPLACE_FSEEK.
30739         * lib/stdio_.h (rpl_fseek): New declaration.
30740         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
30741         REPLACE_FSEEK.
30742
30743 2007-05-28  Bruno Haible  <bruno@clisp.org>
30744
30745         * lib/stdio_.h (fflush): More comments.
30746
30747 2007-05-28  Bruno Haible  <bruno@clisp.org>
30748
30749         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
30750         runtime test.
30751
30752 2007-05-28  Eric Blake  <ebb9@byu.net>
30753
30754         Improve lseek module.
30755         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
30756         * lib/unistd_.h (lseek): Scale back link warning message.
30757         * tests/test-lseek.c: Beef up test.
30758         * tests/test-lseek.sh: Exercise more facets of lseek.
30759         Reported by Bruno Haible.
30760
30761 2007-05-28  Bruno Haible  <bruno@clisp.org>
30762
30763         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
30764         to define.
30765
30766 2007-05-27  Bruno Haible  <bruno@clisp.org>
30767
30768         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
30769
30770 2007-05-27  Bruno Haible  <bruno@clisp.org>
30771
30772         * modules/openmp: New file.
30773         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
30774         Noah Misch.
30775
30776 2007-05-26  Bruno Haible  <bruno@clisp.org>
30777
30778         * modules/chdir-long (Depends-on): Add fchdir.
30779         * modules/chdir-safer (Depends-on): Likewise.
30780         * modules/fts (Depends-on): Likewise.
30781         * modules/fts-lgpl (Depends-on): Likewise.
30782         * modules/openat (Depends-on): Likewise.
30783         * modules/savewd (Depends-on): Likewise.
30784
30785 2007-05-24  Eric Blake  <ebb9@byu.net>
30786
30787         Fix lseek on mingw.
30788         * modules/lseek: New module.
30789         * m4/lseek.m4: New file.
30790         * lib/lseek.c: New file.
30791         * modules/lseek-tests: New file.
30792         * tests/test-lseek.c: New file.
30793         * tests/test-lseek.sh: New file.
30794         * MODULES.html.sh: Document lseek module.
30795         * modules/fflush (Depends-on): Add lseek, fseeko.
30796         * modules/fseeko (Depends-on): Likewise.
30797         * modules/ftello (Depends-on): Likewise.
30798         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
30799         broken.
30800         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
30801         broken.
30802         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
30803         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
30804         * lib/ftello.c (rpl_ftello): Likewise.
30805         * tests/test-fseeko.c (main): Test this.
30806         * tests/test-fseeko.sh: Likewise.
30807         * tests/test-ftello.c (main): Likewise.
30808         * tests/test-ftello.sh: Likewise.
30809         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
30810         implies replacing fseek.
30811         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
30812         HAVE_FTELLO.
30813         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
30814         * modules/unistd (Makefile.am): Likewise.
30815         * lib/unistd_.h (lseek): Declare a replacement.
30816         * doc/functions/lseek.texi (lseek): Document this fix.
30817         * doc/functions/fseek.texi (fseek): Likewise.
30818         * doc/functions/ftell.texi (ftell): Likewise.
30819
30820 2007-05-24  Bruno Haible  <bruno@clisp.org>
30821
30822         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
30823         in the printed representation of a NaN.
30824         * tests/test-vasprintf-posix.c (test_function): Likewise.
30825         * tests/test-snprintf-posix.h (test_function): Likewise.
30826         * tests/test-sprintf-posix.h (test_function): Likewise.
30827         Reported by Eric Blake.
30828
30829 2007-05-23  Eric Blake  <ebb9@byu.net>
30830
30831         Fix fseeko/ftello on cygwin 1.5.24.
30832         * doc/functions/fseeko.texi (fseeko): Document the fix.
30833         * doc/functions/ftello.texi (ftello): Document the fix.
30834         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
30835         * doc/functions/stdout.text (stdout): New file.
30836         * doc/functions/stderr.text (stderr): New file.
30837         * doc/gnulib.texi (Function Substitutes): Use new files.
30838         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
30839         prior to 1.7.0.
30840         * tests/test-ftello.c (main): Likewise for ftello.
30841         * tests/test-fseeko.sh: New file.
30842         * tests/test-ftello.sh: New file.
30843         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
30844         with seekable stdin.
30845         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
30846         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
30847         (gl_REPLACE_FSEEKO): New macro.
30848         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
30849         * modules/fseeko (Files): Distribute fseeko.c.
30850         * modules/ftello (Files): Distribute ftello.c.
30851         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
30852         mode.
30853         * lib/ftello.c (rpl_ftello): New file.
30854         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
30855         fseeko, ftello.
30856         (gl_STDIN_LARGE_OFFSET): New macro.
30857         * modules/stdio (Makefile.am): Perform the replacement.
30858         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
30859
30860 2007-05-23  Bruno Haible  <bruno@clisp.org>
30861
30862         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
30863         GNULIB_POSIXCHECK is defined.
30864
30865 2007-05-21  Bruno Haible  <bruno@clisp.org>
30866
30867         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
30868         Check also the output for NaN arguments. When cross-compiling, guess
30869         no on IRIX.
30870         * lib/vasnprintf.c: Update comments.
30871         * tests/test-vasnprintf-posix.c (strisnan): New function.
30872         (test_function): Use it.
30873         * tests/test-vasprintf-posix.c (strisnan): New function.
30874         (test_function): Use it.
30875         * tests/test-snprintf-posix.h (strisnan): New function.
30876         (test_function): Use it.
30877         * tests/test-sprintf-posix.h (strisnan): New function.
30878         (test_function): Use it.
30879         Reported by Eric Blake.
30880
30881 2007-05-20  Bruno Haible  <bruno@clisp.org>
30882
30883         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
30884         numbers that fails on BeOS.
30885         * doc/functions/frexpl.texi: Update.
30886
30887 2007-05-20  Jim Meyering  <jim@meyering.net>
30888
30889         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
30890         forced upon us by glibc-2.6.
30891
30892 2007-05-20  Bruno Haible  <bruno@clisp.org>
30893
30894         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
30895         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
30896         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
30897         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
30898         NEED_PRINTF_INFINITE.
30899         (is_infinitel): New function.
30900         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
30901         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
30902         gl_PREREQ_VASNPRINTF_INFINITE.
30903         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
30904         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
30905         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
30906         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
30907         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
30908         gl_PREREQ_VASNPRINTF_INFINITE.
30909         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
30910         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
30911         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
30912         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
30913         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
30914         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
30915         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
30916         * doc/functions/fprintf.texi: Update.
30917         * doc/functions/printf.texi: Update.
30918         * doc/functions/snprintf.texi: Update.
30919         * doc/functions/sprintf.texi: Update.
30920         * doc/functions/vfprintf.texi: Update.
30921         * doc/functions/vprintf.texi: Update.
30922         * doc/functions/vsnprintf.texi: Update.
30923         * doc/functions/vsprintf.texi: Update.
30924
30925 2007-05-20  Bruno Haible  <bruno@clisp.org>
30926
30927         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
30928         was not found in libc.
30929         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
30930
30931 2007-05-20  Bruno Haible  <bruno@clisp.org>
30932
30933         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
30934         printed as "-nan" instead of "nan".
30935         * tests/test-vasprintf-posix.c (test_function): Likewise.
30936         * tests/test-snprintf-posix.h (test_function): Likewise.
30937         * tests/test-sprintf-posix.h (test_function): Likewise.
30938         Needed for HP-UX 11.
30939
30940 2007-05-20  Jim Meyering  <jim@meyering.net>
30941
30942         Fix buggy test for the fchownat-deref bug.
30943         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
30944         symlink required for the run-test.  Without it, this test would
30945         always declare that fchownat doesn't work, and client code would
30946         unnecessarily use the replacement function with fixed libc.
30947         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
30948         Reported by Greg Schafer.
30949
30950 2007-05-19  Bruno Haible  <bruno@clisp.org>
30951
30952         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
30953         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
30954         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
30955         Needed for IRIX 6.5 and Solaris 2.5.1.
30956
30957 2007-05-19  Bruno Haible  <bruno@clisp.org>
30958
30959         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
30960         (test_function): Skip tests involving -0.0 on platforms where
30961         -0.0 = 0.0.
30962         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
30963         (test_function): Skip tests involving -0.0 on platforms where
30964         -0.0 = 0.0.
30965         * tests/test-snprintf-posix.h (have_minus_zero): New function.
30966         (test_function): Skip tests involving -0.0 on platforms where
30967         -0.0 = 0.0.
30968         * tests/test-sprintf-posix.h (have_minus_zero): New function.
30969         (test_function): Skip tests involving -0.0 on platforms where
30970         -0.0 = 0.0.
30971         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
30972         tests.
30973         * tests/test-printf-posix.h (test_function): Likewise.
30974         * tests/test-printf-posix.output: Remove all -0.0 related results.
30975         Needed for IRIX 6.5.
30976
30977 2007-05-19  Bruno Haible  <bruno@clisp.org>
30978
30979         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
30980         printed as "nan0x7fffffff" instead of "nan".
30981         * tests/test-vasprintf-posix.c (test_function): Likewise.
30982         * tests/test-snprintf-posix.h (test_function): Likewise.
30983         * tests/test-sprintf-posix.h (test_function): Likewise.
30984         * tests/test-fprintf-posix.h (NaN): Remove macro.
30985         (test_function): Remove all NaN related tests.
30986         * tests/test-printf-posix.h (NaN): Remove macro.
30987         (test_function): Remove all NaN related tests.
30988         * tests/test-printf-posix.output: Remove all NaN related results.
30989         Needed for IRIX 6.5.
30990
30991 2007-05-19  Bruno Haible  <bruno@clisp.org>
30992
30993         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
30994         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
30995
30996 2007-05-19  Bruno Haible  <bruno@clisp.org>
30997
30998         * lib/float_.h: New file.
30999         * m4/float_h.m4: New file.
31000         * modules/float: New file.
31001         * modules/isnanl (Dependencies): Add float.
31002         * modules/isnanl-nolibm (Dependencies): Likewise.
31003         * modules/mathl (Dependencies): Likewise.
31004         * modules/printf-frexpl (Dependencies): Likewise.
31005         * modules/signbit (Dependencies): Likewise.
31006         * modules/vasnprintf (Dependencies): Likewise.
31007         * doc/headers/float.texi: Update.
31008
31009 2007-05-19  Jim Meyering  <jim@meyering.net>
31010
31011         * lib/utimens.c (gl_futimens): Rename from futimens,
31012         now that glibc-2.6 declares futimens.
31013         * lib/utimens.h: Likewise.
31014
31015 2007-05-19  Bruno Haible  <bruno@clisp.org>
31016
31017         Avoid test failures on mingw.
31018         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
31019         * tests/test-printf-posix.sh: Likewise.
31020         * tests/test-vfprintf-posix.sh: Likewise.
31021         * tests/test-vprintf-posix.sh: Likewise.
31022
31023 2007-05-19  Bruno Haible  <bruno@clisp.org>
31024
31025         Fix *printf result for NaN, Inf, -0.0 on mingw.
31026         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
31027         * lib/vasnprintf.c: Include math.h and isnan.h.
31028         (is_infinite_or_zero): New function.
31029         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
31030         values in the %f, %F, %e, %E, %g, %G directives.
31031         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
31032         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
31033         gl_PRINTF_INFINITE and test its result. Invoke
31034         gl_PREREQ_VASNPRINTF_INFINITE.
31035         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
31036         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
31037         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
31038         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
31039         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
31040         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
31041         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
31042         * doc/functions/fprintf.texi: Update.
31043         * doc/functions/printf.texi: Update.
31044         * doc/functions/snprintf.texi: Update.
31045         * doc/functions/sprintf.texi: Update.
31046         * doc/functions/vfprintf.texi: Update.
31047         * doc/functions/vprintf.texi: Update.
31048         * doc/functions/vsnprintf.texi: Update.
31049         * doc/functions/vsprintf.texi: Update.
31050
31051 2007-05-19  Bruno Haible  <bruno@clisp.org>
31052
31053         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
31054         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
31055         Instead of multiplying with 10^k, set extra_zeroes to k.
31056         (scale10_round_long_double): Remove function.
31057
31058 2007-05-18  Bruno Haible  <bruno@clisp.org>
31059
31060         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
31061         introduced on 2007-05-06.
31062
31063 2007-05-18  Bruno Haible  <bruno@clisp.org>
31064
31065         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
31066         %g directives.
31067         * tests/test-vasprintf-posix.c (test_function): Likewise.
31068         * tests/test-snprintf-posix.h (test_function): Likewise.
31069         * tests/test-sprintf-posix.h (test_function): Likewise.
31070
31071 2007-05-18  Bruno Haible  <bruno@clisp.org>
31072
31073         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
31074         (strmatch): New function.
31075         (test_function): Test the %f directive on numbers of various exponents.
31076         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
31077         (strmatch): New function.
31078         (test_function): Test the %f directive on numbers of various exponents.
31079         * tests/test-snprintf-posix.h (strmatch): New function.
31080         (test_function): Test the %f directive on numbers of various exponents.
31081         * tests/test-sprintf-posix.h (strmatch): New function.
31082         (test_function): Test the %f directive on numbers of various exponents.
31083         * tests/test-snprintf-posix.c (SIZEOF): New macro.
31084         * tests/test-sprintf-posix.c (SIZEOF): New macro.
31085         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
31086         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
31087
31088 2007-05-18  Bruno Haible  <bruno@clisp.org>
31089
31090         Add support for 'long double' number output.
31091         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
31092         * lib/vasnprintf.c: Include math.h and float+.h.
31093         (mp_limb_t): New type.
31094         (GMP_LIMB_BITS): New macro.
31095         (mp_twolimb_t): New type.
31096         (GMP_TWOLIMB_BITS): New macro.
31097         (mpn_t): New type.
31098         (multiply, divide, convert_to_decimal, decode_long_double,
31099         scale10_round_long_double, scale10_round_decimal_long_double,
31100         floorlog10l): New functions.
31101         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
31102         for the %f, %F, %e, %E, %g, %G directives.
31103         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
31104         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
31105         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
31106         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
31107         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
31108         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
31109         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
31110         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
31111         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
31112         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
31113         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
31114         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
31115         * modules/snprintf-posix (Depends-on): Likewise.
31116         * modules/sprintf-posix (Depends-on): Likewise.
31117         * modules/vasnprintf-posix (Depends-on): Likewise.
31118         * modules/vasprintf-posix (Depends-on): Likewise.
31119         * modules/vfprintf-posix (Depends-on): Likewise.
31120         * modules/vsnprintf-posix (Depends-on): Likewise.
31121         * modules/vsprintf-posix (Depends-on): Likewise.
31122         * modules/vasnprintf (Files): Add lib/float+.h.
31123         * doc/functions/fprintf.texi: Update.
31124         * doc/functions/printf.texi: Update.
31125         * doc/functions/snprintf.texi: Update.
31126         * doc/functions/sprintf.texi: Update.
31127         * doc/functions/vfprintf.texi: Update.
31128         * doc/functions/vprintf.texi: Update.
31129         * doc/functions/vsnprintf.texi: Update.
31130         * doc/functions/vsprintf.texi: Update.
31131
31132 2007-05-18  Bruno Haible  <bruno@clisp.org>
31133
31134         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
31135
31136 2007-05-18  Bruno Haible  <bruno@clisp.org>
31137
31138         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
31139         for printing 64-bit integers. Needed for mingw.
31140
31141 2007-05-18  Bruno Haible  <bruno@clisp.org>
31142
31143         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
31144         gl_FUNC_FREXPL_WORKS.
31145         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
31146
31147 2007-05-18  Bruno Haible  <bruno@clisp.org>
31148
31149         * modules/frexpl-nolibm-tests: New file.
31150
31151         * modules/frexpl-nolibm: New file.
31152         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
31153
31154 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
31155
31156         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
31157         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
31158         GCC 4.2, which otherwise issues a lot of warnings.
31159         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
31160         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
31161         Likewise.
31162         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
31163         * modules/iconv_open (iconv.h): Likewise.
31164         * modules/locale (locale.h): Likewise.
31165         * modules/netinet_in (netinet/in.h): Likewise.
31166         * modules/sys_select (sys_select.h): Likewise.
31167         * modules/sys_socket (sys/socket.h): Likewise.
31168         * modules/sys_stat (sys/stat.h): Likewise.
31169         * modules/sysexits (sysexits.h): Likewise.
31170         * modules/unistd (unistd.h): Likewise.
31171
31172 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31173
31174         * modules/closein-tests (Makefile.am): Distribute
31175         `test-closein.sh'.
31176
31177 2007-05-17  Bruno Haible  <bruno@clisp.org>
31178
31179         * tests/test-printf-posix.output: Renamed from
31180         tests/test-fprintf-posix.out.
31181         * modules/fprintf-posix-tests: Update.
31182         * modules/printf-posix-tests: Update.
31183         * modules/vfprintf-posix-tests: Update.
31184         * modules/vprintf-posix-tests: Update.
31185         * tests/test-fprintf-posix.sh: Update.
31186         * tests/test-printf-posix.sh: Update.
31187         * tests/test-vfprintf-posix.sh: Update.
31188         * tests/test-vprintf-posix.sh: Update.
31189         Reported by Ralf Wildenhues.
31190
31191 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
31192
31193         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
31194         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
31195         GCC 4.2, which otherwise issues a lot of warnings.
31196         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
31197         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
31198         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
31199         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
31200         it should no longer be needed.
31201         * lib/string_.h: Likewise.
31202         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
31203         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
31204         * modules/inttypes (inttypes.h): Likewise.
31205         * modules/math (math.h): Likewise.
31206         * modules/search (search.h): Likewise.
31207         * modules/signal (signal.h): Likewise.
31208         * modules/stdint (stdint.h): Likewise.
31209         * modules/stdio (stdio.h): Likewise.
31210         * modules/stdlib (stdlib.h): Likewise.
31211         * modules/string (string.h): Likewise.
31212         * modules/sys_time (sys/time.h): Likewise.
31213         * modules/time (time.h): Likewise.
31214         * modules/wchar (wchar.h): Likewise.
31215         * modules/wctype (wtype.h): Likewise.
31216
31217 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
31218
31219         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
31220
31221 2007-05-13  Bruno Haible  <bruno@clisp.org>
31222
31223         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
31224         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
31225         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
31226         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
31227         (gl_PREREQ_STRTOK_R): Don't require it here.
31228
31229 2007-05-13  Bruno Haible  <bruno@clisp.org>
31230
31231         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
31232         when used in C++ mode.
31233
31234 2007-05-12  Bruno Haible  <bruno@clisp.org>
31235
31236         * lib/linebuffer.h: Tweak doc.
31237         * lib/linebuffer.c: Likewise.
31238
31239 2007-05-12  James Youngman  <jay@gnu.org>
31240
31241         * lib/linebuffer.c (readlinebuffer_delim): New function,
31242         like readlinebuffer, but use a caller-specified delimiter.
31243         (readlinebuffer): Just call readlinebuffer_delim with '\n'
31244         as the delimiter.
31245         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
31246
31247 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
31248
31249         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
31250         * modules/openat (Files): Remove openat-die.c.
31251         (Depends-on): Add openat-die.
31252         * modules/openat-die: New module.
31253
31254 2007-05-06  Bruno Haible  <bruno@clisp.org>
31255
31256         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
31257         Update with info about Cygwin.
31258         * doc/functions/fprintf.texi: Update.
31259         * doc/functions/printf.texi: Update.
31260         * doc/functions/snprintf.texi: Update.
31261         * doc/functions/sprintf.texi: Update.
31262         * doc/functions/vfprintf.texi: Update.
31263         * doc/functions/vprintf.texi: Update.
31264         * doc/functions/vsnprintf.texi: Update.
31265         * doc/functions/vsprintf.texi: Update.
31266         Reported by Eric Blake.
31267
31268 2007-05-06  Bruno Haible  <bruno@clisp.org>
31269
31270         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
31271         padding ourselves for the floating-point directives.
31272         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
31273         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
31274         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
31275         gl_PRINTF_FLAG_ZERO and test its result. Invoke
31276         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
31277         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
31278         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
31279         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
31280         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
31281         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
31282         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
31283         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
31284         * tests/test-snprintf-posix.h (test_function): Also check the width
31285         and some flags in the %f directive.
31286         * tests/test-sprintf-posix.h (test_function): Likewise.
31287         * tests/test-vasnprintf-posix.c (test_function): Likewise.
31288         * tests/test-vasprintf-posix.c (test_function): Likewise.
31289         * doc/functions/fprintf.texi: Update.
31290         * doc/functions/printf.texi: Update.
31291         * doc/functions/snprintf.texi: Update.
31292         * doc/functions/sprintf.texi: Update.
31293         * doc/functions/vfprintf.texi: Update.
31294         * doc/functions/vprintf.texi: Update.
31295         * doc/functions/vsnprintf.texi: Update.
31296         * doc/functions/vsprintf.texi: Update.
31297
31298 2007-05-06  Bruno Haible  <bruno@clisp.org>
31299
31300         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
31301         pass the ' flag character to sprintf or snprintf.
31302         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
31303         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
31304         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
31305         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
31306         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
31307         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
31308         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
31309         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
31310         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
31311         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
31312         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
31313         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
31314         * tests/test-snprintf-posix.h (test_function): Also check the grouping
31315         flag.
31316         * tests/test-sprintf-posix.h (test_function): Likewise.
31317         * tests/test-vasnprintf-posix.c (test_function): Likewise.
31318         * tests/test-vasprintf-posix.c (test_function): Likewise.
31319         * doc/functions/fprintf.texi: Update.
31320         * doc/functions/printf.texi: Update.
31321         * doc/functions/snprintf.texi: Update.
31322         * doc/functions/sprintf.texi: Update.
31323         * doc/functions/vfprintf.texi: Update.
31324         * doc/functions/vprintf.texi: Update.
31325         * doc/functions/vsnprintf.texi: Update.
31326         * doc/functions/vsprintf.texi: Update.
31327
31328 2007-05-01  Bruno Haible  <bruno@clisp.org>
31329
31330         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
31331
31332 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
31333
31334         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
31335         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
31336
31337 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
31338
31339         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
31340         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
31341         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
31342
31343 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
31344
31345         * lib/argp-help.c (struct hol_entry): New member `ord'.
31346         (HOL_ENTRY_PTRCMP): Use ord for comparison
31347         (hol_sort): Initialize ord.
31348
31349 2007-05-01  Bruno Haible  <bruno@clisp.org>
31350
31351         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
31352         Reported by Eric Blake.
31353         * doc/gnulib.texi (Function Substitutes): Update.
31354
31355 2007-05-01  Bruno Haible  <bruno@clisp.org>
31356
31357         * doc/functions.texi: Remove file, now redundant through
31358         doc/functions/*.texi.
31359
31360 2007-05-01  Bruno Haible  <bruno@clisp.org>
31361
31362         * modules/argp (Depends-on): Add sleep.
31363
31364 2007-05-01  Bruno Haible  <bruno@clisp.org>
31365
31366         * modules/sleep-tests: New file.
31367         * tests/test-sleep.c: New file.
31368
31369         * modules/sleep: New file.
31370         * lib/sleep.c: New file.
31371         * m4/sleep.m4: New file.
31372         * lib/unistd_.h (sleep): New declaration.
31373         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
31374         HAVE_SLEEP.
31375         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
31376         * doc/functions/sleep.texi: Document the sleep module.
31377
31378 2007-05-01  Bruno Haible  <bruno@clisp.org>
31379
31380         * lib/sigprocmask.h: Remove file.
31381         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
31382         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
31383         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
31384         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
31385         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
31386         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
31387         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
31388         HAVE_SIGSET_T as a shell variable.
31389         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
31390         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
31391         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
31392         (Depends-on): Add signal. Remove verify.
31393         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
31394         (Include): Mention <signal.h> instead of sigprocmask.h.
31395         * NEWS: Mention the change.
31396         * lib/fatal-signal.c: Don't include sigprocmask.h.
31397
31398 2007-05-01  Bruno Haible  <bruno@clisp.org>
31399
31400         * modules/signal: New file.
31401         * lib/signal_.h: New file.
31402         * m4/signal_h.m4: New file.
31403
31404 2007-05-01  Bruno Haible  <bruno@clisp.org>
31405
31406         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
31407         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
31408         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
31409         HAVE_WCTYPE_CTMP_BUG into wctype.h.
31410
31411 2007-05-01  Bruno Haible  <bruno@clisp.org>
31412
31413         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
31414         configure time.
31415         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
31416         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
31417         * modules/sys_stat (Makefile.am): Substitute their values into
31418         sys/stat.h.
31419
31420 2007-05-01  Bruno Haible  <bruno@clisp.org>
31421
31422         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
31423         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
31424         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
31425
31426 2007-05-01  Bruno Haible  <bruno@clisp.org>
31427
31428         * doc/header/assert.texi: Undo last change: don't mention the gnulib
31429         'assert' module here.
31430
31431 2007-05-01  Bruno Haible  <bruno@clisp.org>
31432
31433         * doc/functions/*.texi: New files.
31434         * doc/functions/google-ranking.txt: New file.
31435         * doc/gnulib.texi (Function Substitutes): New chapter.
31436         (ctime, inet_ntoa): Remove sections.
31437         * doc/ctime.texi: Remove file.
31438         * doc/inet_ntoa.texi: Remove file.
31439         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
31440         dependencies.
31441         (%.info): New rule, specifying a --reference-limit.
31442
31443 2007-05-01  Bruno Haible  <bruno@clisp.org>
31444
31445         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
31446
31447 2007-05-01  Bruno Haible  <bruno@clisp.org>
31448
31449         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
31450         the portability of 'mkdir' to mingw systems.
31451
31452 2007-05-01  Bruno Haible  <bruno@clisp.org>
31453
31454         * doc/headers/google-ranking.txt: New file.
31455
31456 2007-04-30  Eric Blake  <ebb9@byu.net>
31457
31458         Prefer fseeko to fseek.
31459         * modules/getpass (Depends-on): Add fseeko.
31460         * lib/getpass.c (getpass): Use fseeko, not fseek.
31461
31462 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
31463
31464         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
31465         assumes the sorting is stable, while most qsort implementations
31466         are not.  Use argument addresses to ensure they never compare as
31467         equal.
31468
31469         * tests/test-argp-2.sh (usage-indent test): Fix output
31470         (func_compare): Restore diff options
31471         * tests/test-argp.c: Restore #include "progname.h"
31472
31473 2007-04-29  Bruno Haible  <bruno@clisp.org>
31474
31475         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
31476         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
31477         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
31478         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
31479         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
31480         (configure.ac): Define CHECK_SNPRINTF_POSIX.
31481         (TESTS, check_PROGRAMS): Add test-snprintf.
31482         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
31483         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
31484         (TESTS, check_PROGRAMS): Add test-vsnprintf.
31485         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
31486         assertions that fail on HP-UX, OSF/1, or IRIX.
31487         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
31488
31489 2007-04-29  Bruno Haible  <bruno@clisp.org>
31490
31491         * MODULES.html.sh (posix_functions): Remove 'contents'.
31492
31493 2007-04-29  Karl Berry  <karl@gnu.org>
31494
31495         * config/srclist.txt (gendocs_template_min): new entry.
31496
31497 2007-04-29  Bruno Haible  <bruno@clisp.org>
31498
31499         Work around fpurge bug on BSD systems.
31500         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
31501         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
31502         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
31503         fpurge to rpl_fpurge if the system already has this function.
31504         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
31505         the case where the system already has this function. Correct invariants
31506         on BSD systems.
31507         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
31508         BSD systems.
31509
31510 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
31511
31512         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
31513         proposed by Sven Verdoolaege.
31514
31515         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
31516         options.
31517         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
31518         (usage and help tests): Update
31519
31520 2007-04-29  Bruno Haible  <bruno@clisp.org>
31521
31522         * tests/test-fflush.c (main): Use a file of size 17, not 10.
31523         Print more information in case of failure. Disable a test on BeOS.
31524
31525 2007-04-29  Bruno Haible  <bruno@clisp.org>
31526
31527         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
31528         This helps debugging on systems on which no gdb is available.
31529
31530 2007-04-29  Bruno Haible  <bruno@clisp.org>
31531
31532         * lib/freading.h: Improve comments.
31533         * lib/fwriting.h: Likewise.
31534         * tests/test-freading.c (main): Don't check freading immediately after
31535         repositioning. Needed for glibc.
31536
31537 2007-04-29  Bruno Haible  <bruno@clisp.org>
31538
31539         * lib/freading.c (freading): Trivial simplification.
31540
31541 2007-04-28  Bruno Haible  <bruno@clisp.org>
31542
31543         * tests/test-fwriting.c (main): Also test the interaction between
31544         fflush and fwriting.
31545         * modules/fwriting-tests (Depends-on): Add fflush.
31546
31547         * tests/test-freading.c (main): Also test the interaction between
31548         fflush and freading.
31549         * modules/freading-tests (Depends-on): Add fflush.
31550
31551 2007-04-28  Bruno Haible  <bruno@clisp.org>
31552
31553         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
31554         fseeko and ftello.
31555         Suggested by Eric Blake.
31556
31557 2007-04-28  Jim Meyering  <jim@meyering.net>
31558
31559         Avoid false-negative in gl_STDINT_H's C99 conformance test.
31560         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
31561         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
31562
31563 2007-04-27  Eric Blake  <ebb9@byu.net>
31564
31565         * doc/headers/assert.texi (assert.h): Document assert module use.
31566
31567 2007-04-27  Bruno Haible  <bruno@clisp.org>
31568
31569         * doc/headers/*.texi: New files.
31570         * doc/gnulib.texi (Header File Substitutes): New chapter.
31571         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
31572         dependencies.
31573         (standards.info ,standards.html, standards.dvi): Update dependencies.
31574         (mostlyclean, clean): New targets.
31575
31576 2007-04-27  Bruno Haible  <bruno@clisp.org>
31577
31578         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
31579         * modules/sysexits (Files, Makefile.am): Update.
31580
31581         * lib/sys_socket_.h: Renamed from lib/socket_.h.
31582         * modules/sys_socket (Files, Makefile.am): Update.
31583
31584         * lib/sys_stat_.h: Renamed from lib/stat_.h.
31585         * modules/sys_stat (Files, Makefile.am): Update.
31586
31587 2007-04-27  Eric Blake  <ebb9@byu.net>
31588
31589         * lib/freading.h: Improve comments.
31590         * lib/fwriting.h: Likewise.
31591         * lib/fflush.c: Likewise.
31592
31593         Fix closein for mingw.
31594         * modules/closein-tests: Add tests for closein.
31595         * tests/test-closein.c: New file.
31596         * tests/test-closein.sh: Likewise.
31597         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
31598         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
31599
31600 2007-04-27  Bruno Haible  <bruno@clisp.org>
31601
31602         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
31603         version is < 6.
31604         * lib/math_.h [__DECC]: Likewise.
31605         * lib/stdio_.h [__DECC]: Likewise.
31606         * lib/stdlib_.h [__DECC]: Likewise.
31607         * lib/string_.h [__DECC]: Likewise.
31608         * lib/time_.h [__DECC]: Likewise.
31609         * lib/wchar_.h [__DECC]: Likewise.
31610         * lib/wctype_.h [__DECC]: Likewise.
31611
31612 2007-04-27  Bruno Haible  <bruno@clisp.org>
31613
31614         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
31615
31616 2007-04-27  Bruno Haible  <bruno@clisp.org>
31617
31618         * lib/fflush.c: Add comments.
31619         * modules/fpurge-tests (Depends-on): Add fflush.
31620         * modules/freadable-tests (Depends-on): Likewise.
31621         * modules/fwritable-tests (Depends-on): Likewise.
31622
31623 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
31624
31625         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
31626         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
31627         Report by Bruno Haible <bruno@clisp.org>.
31628
31629 2007-04-26  Eric Blake  <ebb9@byu.net>
31630
31631         Fix fflush on mingw.
31632         * modules/fflush (Depends-on): Add freading.
31633         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
31634         but unread data.
31635
31636 2007-04-26  Eric Blake  <ebb9@byu.net>
31637         and Bruno Haible  <bruno@clisp.org>
31638
31639         Implement freading and fwriting.
31640         * lib/freading.c: New file.
31641         * lib/freading.h: Likewise.
31642         * m4/freading.m4: Likewise.
31643         * modules/freading: Likewise.
31644         * modules/freading-tests: Likewise.
31645         * tests/test-freading.c: Likewise.
31646         * lib/fwriting.c: New file.
31647         * lib/fwriting.h: Likewise.
31648         * m4/fwriting.m4: Likewise.
31649         * modules/fwriting: Likewise.
31650         * modules/fwriting-tests: Likewise.
31651         * tests/test-fwriting.c: Likewise.
31652         * MODULES.html.sh (File stream based Input/Output): Mention them.
31653
31654 2007-04-26  Bruno Haible  <bruno@clisp.org>
31655
31656         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
31657         'long' when we assume it.
31658         Suggested by Eric Blake.
31659
31660 2007-04-26  Bruno Haible  <bruno@clisp.org>
31661
31662         Ensure fseeko, ftello are declared on glibc systems.
31663         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
31664         * modules/fseeko (configure.ac-early): Likewise.
31665         * modules/ftello (configure.ac-early): Likewise.
31666         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
31667         AC_FUNC_FSEEKO for this.
31668         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
31669         (gl_CHECK_FSEEKO): Remove macro.
31670
31671 2007-04-26  Bruno Haible  <bruno@clisp.org>
31672
31673         * tests/test-fflush.c (main): Also check the ftell result after
31674         fflush and fseek/fseeko.
31675         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
31676         file descriptor position cache in the stream.
31677         * lib/fseeko.c (rpl_fseeko): Likewise.
31678
31679 2007-04-26  Bruno Haible  <bruno@clisp.org>
31680
31681         * modules/fflush-tests (Depends-on): Add fseeko.
31682
31683 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
31684             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31685
31686         * lib/argz_.h: ensure error_t definition is obtained in same
31687         mechanism system argz.h would have.
31688         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
31689         argz facilities are known bad.  Err on the side of caution if
31690         cross-compiling.
31691
31692 2007-04-25  Eric Blake  <ebb9@byu.net>
31693
31694         * lib/fpurge.c (includes): Use stdlib.h for free.
31695         * tests/test-fflush.c (main): Also test fflush-fseeko.
31696
31697 2007-04-25  Bruno Haible  <bruno@clisp.org>
31698
31699         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
31700         * lib/fseeko.c: New file.
31701         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
31702         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
31703         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
31704         gl_FUNC_FSEEKO.
31705         (gl_FUNC_FSEEKO): Invoke it.
31706         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
31707         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
31708         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
31709
31710 2007-04-25  Bruno Haible  <bruno@clisp.org>
31711
31712         * modules/fflush (Depends-on): Add ftello.
31713
31714 2007-04-25  Bruno Haible  <bruno@clisp.org>
31715
31716         * modules/ftello-tests: New file.
31717         * tests/test-ftello.c: New file.
31718
31719         * modules/ftello: New file.
31720         * m4/ftello.m4: New file.
31721         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
31722         HAVE_FTELLO.
31723         * lib/stdio_.h (ftello): New declaration.
31724         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
31725         HAVE_FTELLO.
31726
31727 2007-04-25  Bruno Haible  <bruno@clisp.org>
31728
31729         * modules/fseeko-tests: New file.
31730         * tests/test-fseeko.c: New file.
31731
31732         * modules/fseeko: New file.
31733         * m4/fseeko.m4: New file.
31734         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
31735         HAVE_FSEEKO.
31736         * lib/stdio_.h (fseeko): New declaration.
31737         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
31738         HAVE_FSEEKO.
31739
31740 2007-04-25  Bruno Haible  <bruno@clisp.org>
31741
31742         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
31743
31744 2007-04-25  Bruno Haible  <bruno@clisp.org>
31745
31746         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
31747         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
31748         * tests/test-unistd.c: Likewise.
31749         * tests/test-fcntl.c: Likewise.
31750
31751 2007-04-23  Eric Blake  <ebb9@byu.net>
31752
31753         * lib/fflush.c: Fix missing include.
31754         Reported by Bruno Haible.
31755
31756 2007-04-23  Bruno Haible  <bruno@clisp.org>
31757
31758         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
31759         Reported by Eric Blake.
31760
31761 2007-04-23  Bruno Haible  <bruno@clisp.org>
31762
31763         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
31764
31765 2007-04-23  Bruno Haible  <bruno@clisp.org>
31766
31767         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
31768
31769 2007-04-23  Bruno Haible  <bruno@clisp.org>
31770
31771         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
31772         Needed on HP-UX 11.
31773
31774 2007-04-16  Eric Blake  <ebb9@byu.net>
31775
31776         Make fflush rely on fpurge.
31777         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
31778         open coding all variants.
31779         * modules/fflush (Depends-on): Add fpurge and unistd.
31780         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
31781         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
31782
31783         Fix --with-tests compilation on cygwin.
31784         * modules/argmatch-tests (Makefile.am): List gnulib library first
31785         in LDADD.
31786         * modules/argp-tests (Makefile.am): Likewise.
31787         * modules/array-list-tests (Makefile.am): Likewise.
31788         * modules/array-oset-tests (Makefile.am): Likewise.
31789         * modules/avltree-list-tests (Makefile.am): Likewise.
31790         * modules/avltree-oset-tests (Makefile.am): Likewise.
31791         * modules/avltreehash-list-tests (Makefile.am): Likewise.
31792         * modules/carray-list-tests (Makefile.am): Likewise.
31793         * modules/dirname-tests (Makefile.am): Likewise.
31794         * modules/frexp-tests (Makefile.am): Likewise.
31795         * modules/isnanl-tests (Makefile.am): Likewise.
31796         * modules/linked-list-tests (Makefile.am): Likewise.
31797         * modules/linkedhash-list-tests (Makefile.am): Likewise.
31798         * modules/lock-tests (Makefile.am): Likewise.
31799         * modules/rbtree-list-tests (Makefile.am): Likewise.
31800         * modules/rbtree-oset-tests (Makefile.am): Likewise.
31801         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
31802         * modules/tls-tests (Makefile.am): Likewise.
31803         * modules/tsearch-tests (Makefile.am): Likewise.
31804         * modules/xvasprintf-tests (Makefile.am): Likewise.
31805
31806         Fix fpurge for cygwin.
31807         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
31808         value.
31809         * modules/fpurge-tests (Depends-on): Clean up trash.
31810
31811 2007-04-16  Simon Josefsson  <simon@josefsson.org>
31812
31813         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
31814
31815         * m4/autobuild.m4: Re-indent.
31816
31817 2007-04-13  Bruno Haible  <bruno@clisp.org>
31818
31819         * modules/fpurge-tests: New file.
31820         * tests/test-fpurge.c: New file.
31821
31822         * modules/fpurge: New file.
31823         * lib/fpurge.h: New file.
31824         * lib/fpurge.c: New file.
31825         * m4/fpurge.m4: New file.
31826
31827 2007-04-13  Bruno Haible  <bruno@clisp.org>
31828
31829         * modules/fbufmode-tests: New file.
31830         * tests/test-fbufmode.c: New file.
31831
31832         * modules/fbufmode: New file.
31833         * lib/fbufmode.h: New file.
31834         * lib/fbufmode.c: New file.
31835         * m4/fbufmode.m4: New file.
31836
31837 2007-04-13  Bruno Haible  <bruno@clisp.org>
31838
31839         * modules/fwritable-tests: New file.
31840         * tests/test-fwritable.c: New file.
31841
31842         * modules/fwritable: New file.
31843         * lib/fwritable.h: New file.
31844         * lib/fwritable.c: New file.
31845         * m4/fwritable.m4: New file.
31846
31847 2007-04-13  Bruno Haible  <bruno@clisp.org>
31848
31849         * modules/freadable-tests: New file.
31850         * tests/test-freadable.c: New file.
31851
31852         * modules/freadable: New file.
31853         * lib/freadable.h: New file.
31854         * lib/freadable.c: New file.
31855         * m4/freadable.m4: New file.
31856
31857 2007-04-13  Bruno Haible  <bruno@clisp.org>
31858
31859         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
31860         MOSTLYCLEANFILES.
31861
31862 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
31863
31864         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
31865         gzip bootstrap.conf to avoid dragging in i18n machinery.
31866         (gnulib_tool_option): Use it.
31867
31868 2007-04-13  Bruno Haible  <bruno@clisp.org>
31869
31870         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
31871         %F directives.
31872         * tests/test-vasprintf-posix.c (test_function): Likewise.
31873         * tests/test-snprintf-posix.h (test_function): Likewise.
31874         * tests/test-sprintf-posix.h (test_function): Likewise.
31875         * tests/test-fprintf-posix.h (test_function): Likewise.
31876         * tests/test-printf-posix.h (test_function): Likewise.
31877         * tests/test-fprintf-posix.out: Likewise.
31878
31879 2007-04-13  Bruno Haible  <bruno@clisp.org>
31880
31881         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
31882         * modules/tls-tests (configure.ac): Likewise.
31883         Reported by Arto C. Nirkko <anirkko@insel.ch>.
31884
31885 2007-04-13  Bruno Haible  <bruno@clisp.org>
31886
31887         * lib/tls.c (glthread_tls_get): Fix return type.
31888         Patch by Arto C. Nirkko <anirkko@insel.ch>.
31889
31890 2007-04-12  Eric Blake  <ebb9@byu.net>
31891
31892         * modules/gettime (Depends-on): Remove gettime.
31893         Reported by Dmitry V. Levin.
31894
31895 2007-04-12  Bruno Haible  <bruno@clisp.org>
31896
31897         * modules/fflush (Include): Mention <stdio.h>.
31898         * modules/strtoimax (Include): Mention <inttypes.h>.
31899         * modules/strtoumax (Include): Likewise.
31900
31901 2007-04-12  Eric Blake  <ebb9@byu.net>
31902
31903         * .cvsignore: New file.
31904         * .gitignore: Likewise.
31905
31906 2007-04-12  Bruno Haible  <bruno@clisp.org>
31907
31908         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
31909         not before, since $(LDADD) often contains libgnu.a.
31910         * modules/striconv-tests (test_striconv_LDADD): Likewise.
31911         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
31912         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
31913         Needed on Cygwin.
31914
31915 2007-04-12  Eric Blake  <ebb9@byu.net>
31916
31917         Work around glibc's failure to flush stdin on fclose.
31918         * lib/closein.c (close_stdin): Flush stdin before closing.
31919
31920         Work around glibc's failure to reset seekable stdin on exit.
31921         * modules/closein: New module.
31922         * lib/closein.c: New file.
31923         * lib/closein.h: Likewise.
31924         * m4/closein.m4: Likewise.
31925         * MODULES.html.sh (File stream based Input/Output): Document it.
31926
31927 2007-04-12  Simon Josefsson  <simon@josefsson.org>
31928
31929         * gnulib-tool: Rename generated 'autobuild' script to
31930         'do-autobuild' in --create-megatestdir output.
31931
31932         * doc/gnulib.texi (Build robot for gnulib): Fix.
31933
31934 2007-04-12  Simon Josefsson  <simon@josefsson.org>
31935
31936         * modules/sysexits (Depends-on): Add absolute-header.
31937
31938 2007-04-12  Eric Blake  <ebb9@byu.net>
31939
31940         No need to preserve errno on success.
31941         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
31942         Reported by Bruno Haible.
31943
31944 2007-04-12  Simon Josefsson  <simon@josefsson.org>
31945
31946         * MODULES.html.sh (Support for maintaining and releasing
31947         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
31948
31949 2007-04-12  Simon Josefsson  <simon@josefsson.org>
31950
31951         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
31952
31953 2007-04-12  Simon Josefsson  <simon@josefsson.org>
31954
31955         * modules/autobuild: New module.
31956
31957         * m4/autobuild.m4: New file.
31958
31959 2007-04-11  Bruno Haible  <bruno@clisp.org>
31960
31961         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
31962         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
31963         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
31964         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
31965         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
31966         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
31967         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
31968         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
31969         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
31970         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
31971         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
31972         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
31973         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
31974         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
31975         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
31976         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
31977         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
31978         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
31979         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
31980         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
31981         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
31982         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
31983         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
31984         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
31985         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
31986         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
31987         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
31988         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
31989         Reported by Eric Blake.
31990
31991 2007-04-11  Bruno Haible  <bruno@clisp.org>
31992
31993         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
31994
31995 2007-04-10  Bruno Haible  <bruno@clisp.org>
31996
31997         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
31998         for NaN and Infinity. Needed on FreeBSD 6.1.
31999         * tests/test-vasnprintf-posix.c (test_function): Undo last change
32000         regarding results for "%010a" of Infinity and NaN.
32001         * tests/test-vasprintf-posix.c (test_function): Likewise.
32002         * tests/test-snprintf-posix.h (test_function): Likewise.
32003         * tests/test-sprintf-posix.h (test_function): Likewise.
32004         * tests/test-fprintf-posix.h (test_function): Likewise.
32005         * tests/test-printf-posix.h (test_function): Likewise.
32006         * tests/test-fprintf-posix.out: Likewise.
32007
32008 2007-04-10  Bruno Haible  <bruno@clisp.org>
32009
32010         * modules/locale-tests: New file.
32011         * tests/test-locale.c: New file.
32012
32013         * modules/locale: New file.
32014         * lib/locale_.h: New file.
32015         * m4/locale_h.m4: New file.
32016
32017 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
32018             Bruno Haible  <bruno@clisp.org>
32019
32020         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
32021         be determined, test for availability of the copysignf, copysign,
32022         copysignl functions.
32023         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
32024         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
32025         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
32026
32027 2007-04-09  Eric Blake  <ebb9@byu.net>
32028
32029         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
32030         * modules/stdio (Makefile.am): Support fflush.
32031         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
32032         * modules/fflush: New file.
32033         * lib/fflush.c: Likewise.
32034         * m4/fflush.m4: Likewise.
32035         * modules/fflush-tests: New test.
32036         * tests/test-fflush.c: Likewise.
32037         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
32038
32039 2007-04-06  Bruno Haible  <bruno@clisp.org>
32040
32041         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
32042         (VASNPRINTF): Use signbit for faster determination whether to print a
32043         minus sign.
32044         * modules/vasnprintf (Files): Remove lib/float+.h.
32045         * modules/fprintf-posix (Depends-on): Add signbit.
32046         * modules/snprintf-posix (Depends-on): Likewise.
32047         * modules/sprintf-posix (Depends-on): Likewise.
32048         * modules/vasnprintf-posix (Depends-on): Likewise.
32049         * modules/vasprintf-posix (Depends-on): Likewise.
32050         * modules/vfprintf-posix (Depends-on): Likewise.
32051         * modules/vsnprintf-posix (Depends-on): Likewise.
32052         * modules/vsprintf-posix (Depends-on): Likewise.
32053
32054 2007-04-06  Bruno Haible  <bruno@clisp.org>
32055
32056         * tests/test-frexp.c (main): Test also the sign bit of zero results.
32057         * tests/test-frexpl.c (main): Likewise.
32058         * tests/test-ldexpl.c (main): Likewise.
32059         * modules/frexp-tests (Depends-on): Add signbit.
32060         * modules/frexpl-tests (Depdends-on): Likewise.
32061         * modules/ldexpl-tests (Depdends-on): Likewise.
32062
32063 2007-04-06  Bruno Haible  <bruno@clisp.org>
32064
32065         * modules/signbit-tests: New file.
32066         * tests/test-signbit.c: New file.
32067
32068         * modules/signbit: New file.
32069         * lib/signbitf.c: New file.
32070         * lib/signbitd.c: New file.
32071         * lib/signbitl.c: New file.
32072         * m4/signbit.m4: New file.
32073         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
32074         (signbit): New macro.
32075         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
32076         REPLACE_SIGNBIT.
32077         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
32078         REPLACE_FREXPL into math.h.
32079
32080 2007-04-06  Bruno Haible  <bruno@clisp.org>
32081
32082         * modules/isnanf-nolibm-tests: New file.
32083         * tests/test-isnanf.c: New file.
32084
32085         * modules/isnanf-nolibm: New file.
32086         * lib/isnanf.h: New file.
32087         * lib/isnanf.c: New file.
32088         * lib/isnan.c: Consider the USE_FLOAT macro.
32089         * m4/isnanf.m4: New file.
32090
32091 2007-04-06  Bruno Haible  <bruno@clisp.org>
32092
32093         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
32094         (Link): New section.
32095
32096         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
32097
32098 2007-04-06  Bruno Haible  <bruno@clisp.org>
32099
32100         Assume the 'long double' type.
32101         * m4/longdouble.m4: Remove file.
32102         * config/srclist.txt: Don't mention longdouble.m4.
32103         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
32104         * lib/float+.h: Likewise.
32105         * lib/frexp.c: Likewise.
32106         * lib/printf-args.h: Likewise.
32107         * lib/printf-args.c: Likewise.
32108         * lib/printf-frexp.c: Likewise.
32109         * lib/printf-parse.c: Likewise.
32110         * lib/vasnprintf.c: Likewise.
32111         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
32112         * m4/intl.m4: Likewise.
32113         * m4/isnanl.m4: Likewise.
32114         * m4/printf.m4: Likewise.
32115         * m4/printf-frexpl.m4: Likewise.
32116         * m4/vasnprintf.m4: Likewise.
32117         * modules/allocsa (Files): Remove m4/longdouble.m4.
32118         * modules/gettext (Files): Likewise.
32119         * modules/relocatable-prog-wrapper (Files): Likewise.
32120         * modules/vasnprintf (Files): Likewise.
32121         * modules/isnanl (Files): Likewise.
32122         (Include): Simplify.
32123         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
32124         (Include): Simplify.
32125         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
32126         (Include): Simplify.
32127         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
32128         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
32129         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
32130         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
32131         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
32132         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
32133         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
32134         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
32135         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
32136         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
32137         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
32138         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
32139         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
32140         * tests/test-isnanl.c: Likewise.
32141         * tests/test-snprintf-posix.h: Likewise.
32142         * tests/test-sprintf-posix.h: Likewise.
32143         * tests/test-vasnprintf-posix.c: Likewise.
32144         * tests/test-vasnprintf-posix2.c: Likewise.
32145         * tests/test-vasprintf-posix.c: Likewise.
32146
32147 2007-04-06  Bruno Haible  <bruno@clisp.org>
32148
32149         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
32150         * lib/math_.h [__DECC]: Include the overridden include file through
32151         #include_next, outside the double-inclusion guard.
32152         * lib/stdio_.h [__DECC]: Likewise.
32153         * lib/stdlib_.h [__DECC]: Likewise.
32154         * lib/string_.h [__DECC]: Likewise.
32155         * lib/time_.h [__DECC]: Likewise.
32156         * lib/wchar_.h [__DECC]: Likewise.
32157         * lib/wctype_.h [__DECC]: Likewise.
32158         * lib/inttypes_.h [__DECC]: Likewise.
32159         Reported by Albert Chin <china@thewrittenword.com> in
32160         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
32161
32162 2007-04-04  Eric Blake  <ebb9@byu.net>
32163
32164         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
32165         1.5.x.
32166
32167 2007-04-04  Bruno Haible  <bruno@clisp.org>
32168
32169         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
32170         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
32171
32172 2007-04-04  Bruno Haible  <bruno@clisp.org>
32173
32174         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
32175         results for "%010a" of Infinity and NaN.
32176         * tests/test-vasprintf-posix.c (test_function): Likewise.
32177         * tests/test-snprintf-posix.h (test_function): Likewise.
32178         * tests/test-sprintf-posix.h (test_function): Likewise.
32179         * tests/test-fprintf-posix.h (test_function): Remove these tests.
32180         * tests/test-printf-posix.h (test_function): Likewise.
32181         * tests/test-fprintf-posix.out: Update.
32182         Needed for FreeBSD 6.1.
32183
32184 2007-04-04  Bruno Haible  <bruno@clisp.org>
32185
32186         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
32187         directly used by the gnulib modules nor by gnulib-tool.
32188
32189 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
32190
32191         * DEPENDENCIES: Give overall description of version dependency
32192         desirability.  Use more-typical names for apps.
32193         Add shell, coreutils, diffutils, grep, tar, gzip.
32194
32195 2007-04-04  Simon Josefsson  <simon@josefsson.org>
32196
32197         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
32198
32199 2007-04-04  Karl Berry  <karl@gnu.org>
32200
32201         * MODULES.html.sh (func_module): missing '.
32202
32203 2007-04-03  Bruno Haible  <bruno@clisp.org>
32204
32205         * modules/argmatch-tests (Makefile.am): New variable
32206         test_argmatch_LDADD.
32207         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
32208         * modules/array-list-tests (Makefile.am): New variable
32209         test_array_list_LDADD.
32210         * modules/array-oset-tests (Makefile.am): New variable
32211         test_array_oset_LDADD.
32212         * modules/avltree-list-tests (Makefile.am): New variable
32213         test_avltree_list_LDADD.
32214         * modules/avltree-oset-tests (Makefile.am): New variable
32215         test_avltree_oset_LDADD.
32216         * modules/avltreehash-list-tests (Makefile.am): New variable
32217         test_avltreehash_list_LDADD.
32218         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
32219         test_canonicalize_lgpl_LDADD.
32220         * modules/carray-list-tests (Makefile.am): New variable
32221         test_carray_list_LDADD.
32222         * modules/dirname-tests (Makefile.am): New variable
32223         test_dirname_LDADD.
32224         * modules/linked-list-tests (Makefile.am): New variable
32225         test_linked_list_LDADD.
32226         * modules/linkedhash-list-tests (Makefile.am): New variable
32227         test_linkedhash_list_LDADD.
32228         * modules/rbtree-list-tests (Makefile.am): New variable
32229         test_rbtree_list_LDADD.
32230         * modules/rbtree-oset-tests (Makefile.am): New variable
32231         test_rbtree_oset_LDADD.
32232         * modules/rbtreehash-list-tests (Makefile.am): New variable
32233         test_rbtreehash_list_LDADD.
32234         * modules/xvasprintf-tests (Makefile.am): New variable
32235         test_xvasprintf_LDADD.
32236         Reported by Eric Blake.
32237
32238 2007-04-03  Eric Blake  <ebb9@byu.net>
32239
32240         * DEPENDENCIES: Weaken m4 requirements.
32241
32242 2007-04-03  Bruno Haible  <bruno@clisp.org>
32243
32244         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
32245         * modules/isnanl-tests (configure.ac): Likewise.
32246
32247 2007-04-03  Ben Pfaff  <blp@gnu.org>
32248
32249         * modules/iconv_open: Add $(srcdir)/ to source directory
32250         references in Makefile fragments that call gperf, to fix VPATH
32251         builds.
32252
32253 2007-04-03  Bruno Haible  <bruno@clisp.org>
32254
32255         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
32256         * lib/ldexpl.c: Undo last change.
32257
32258 2007-04-03  Bruno Haible  <bruno@clisp.org>
32259
32260         * modules/printf-frexpl (Depends-on): Undo last change.
32261         (Files): Add m4/ldexpl.m4.
32262
32263 2007-04-03  Bruno Haible  <bruno@clisp.org>
32264
32265         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
32266         * modules/isnanl (Link): New section.
32267
32268         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
32269         * modules/frexp (Link): New section.
32270
32271         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
32272         * modules/frexpl (Link): New section.
32273
32274         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
32275         * modules/ldexpl (Link): New section.
32276
32277 2007-04-03  Bruno Haible  <bruno@clisp.org>
32278
32279         * modules/TEMPLATE-EXTENDED: New file.
32280         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
32281
32282 2007-04-03  Bruno Haible  <bruno@clisp.org>
32283
32284         * DEPENDENCIES: New file.
32285         Suggested by Simon Josefsson.
32286
32287 2007-04-03  Bruno Haible  <bruno@clisp.org>
32288
32289         * doc/gnulib.texi: Escape @.
32290
32291 2007-04-03  James Youngman  <jay@gnu.org>
32292         and Paul Eggert  <eggert@cs.ucla.edu>
32293
32294         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
32295         birthtime on all systems that have birthtime, not just those which
32296         use st_birthtimensec rather than st_birthtim.  Putting zero in
32297         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
32298         that the birth time is not available for files on an NFS mount.
32299
32300 2007-04-03  Simon Josefsson  <simon@josefsson.org>
32301
32302         * modules/memxor: Move back from crypto/, suggested by Bruno.
32303         * modules/crypto/hmac-sha1: Fix memxor dependency.
32304
32305         * modules/crypto/gc: Moved from ../.
32306
32307 2007-04-02  Eric Blake  <ebb9@byu.net>
32308
32309         * lib/ldexpl.c (includes): Avoid libm.
32310
32311         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
32312
32313 2007-04-02  Bruno Haible  <bruno@clisp.org>
32314
32315         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
32316         on IRIX.
32317
32318 2007-04-02  Bruno Haible  <bruno@clisp.org>
32319
32320         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
32321         x86 or x86_64 platforms running MacOS X.
32322         Reported by Ryan Schmidt <@ryandesign.com>.
32323
32324 2007-04-02  Bruno Haible  <bruno@clisp.org>
32325
32326         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
32327         i386.
32328
32329 2007-04-01  Simon Josefsson  <simon@josefsson.org>
32330
32331         * modules/crypto/arcfour: Moved from ../.
32332         * modules/crypto/arcfour-tests: Moved from ../.
32333         * modules/crypto/arctwo: Moved from ../.
32334         * modules/crypto/arctwo-tests: Moved from ../.
32335         * modules/crypto/des: Moved from ../.
32336         * modules/crypto/des-tests: Moved from ../.
32337         * modules/crypto/gc-arcfour: Moved from ../.
32338         * modules/crypto/gc-arcfour-tests: Moved from ../.
32339         * modules/crypto/gc-arctwo: Moved from ../.
32340         * modules/crypto/gc-arctwo-tests: Moved from ../.
32341         * modules/crypto/gc-des: Moved from ../.
32342         * modules/crypto/gc-des-tests: Moved from ../.
32343         * modules/crypto/gc-hmac-md5: Moved from ../.
32344         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
32345         * modules/crypto/gc-hmac-sha1: Moved from ../.
32346         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
32347         * modules/crypto/gc-md2: Moved from ../.
32348         * modules/crypto/gc-md2-tests: Moved from ../.
32349         * modules/crypto/gc-md4: Moved from ../.
32350         * modules/crypto/gc-md4-tests: Moved from ../.
32351         * modules/crypto/gc-md5: Moved from ../.
32352         * modules/crypto/gc-md5-tests: Moved from ../.
32353         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
32354         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
32355         * modules/crypto/gc-random: Moved from ../.
32356         * modules/crypto/gc-rijndael: Moved from ../.
32357         * modules/crypto/gc-rijndael-tests: Moved from ../.
32358         * modules/crypto/gc-sha1: Moved from ../.
32359         * modules/crypto/gc-sha1-tests: Moved from ../.
32360         * modules/crypto/gc-tests: Moved from ../.
32361         * modules/crypto/hmac-md5: Moved from ../.
32362         * modules/crypto/hmac-md5-tests: Moved from ../.
32363         * modules/crypto/hmac-sha1: Moved from ../.
32364         * modules/crypto/hmac-sha1-tests: Moved from ../.
32365         * modules/crypto/md2: Moved from ../.
32366         * modules/crypto/md2-tests: Moved from ../.
32367         * modules/crypto/md4: Moved from ../.
32368         * modules/crypto/md4-tests: Moved from ../.
32369         * modules/crypto/md5: Moved from ../.
32370         * modules/crypto/md5-tests: Moved from ../.
32371         * modules/crypto/memxor: Moved from ../.
32372         * modules/crypto/rijndael: Moved from ../.
32373         * modules/crypto/rijndael-tests: Moved from ../.
32374         * modules/crypto/sha1: Moved from ../.
32375
32376 2007-03-30  James Youngman  <jay@gnu.org>
32377
32378         * tests/test-stat-time.c (prepare_test): use chmod() rather than
32379         rename() to change the ctime of a file (because ctime is unaffected
32380         by rename on jfs2 on AIX 5.1).
32381         (main): Start by doing cleanup, in case a previous run failed leaving
32382         test files behind.
32383
32384 2007-03-31  Bruno Haible  <bruno@clisp.org>
32385
32386         Support old proprietary implementations of iconv.
32387         * modules/iconv_open: New file.
32388         * lib/iconv_.h: New file.
32389         * m4/iconv_h.m4: New file.
32390         * lib/iconv_open.c: New file.
32391         * lib/iconv_open-aix.gperf: New file.
32392         * lib/iconv_open-hpux.gperf: New file.
32393         * lib/iconv_open-irix.gperf: New file.
32394         * lib/iconv_open-osf.gperf: New file.
32395         * m4/iconv_open.m4: New file.
32396         * modules/linebreak (Depends-on): Add iconv_open.
32397         * modules/striconv (Depends-on): Likewise.
32398         * modules/striconveh (Depends-on): Likewise.
32399         * modules/unicodeio (Depends-on): Likewise.
32400         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
32401         (iconv_t)(-1).
32402         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
32403         conversion if cd is (iconv_t)(-1).
32404         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
32405         is not possible.
32406
32407 2007-03-31  Bruno Haible  <bruno@clisp.org>
32408
32409         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
32410         work on Solaris either. Protect also second use of "autodetect_jp".
32411
32412 2007-03-31  Bruno Haible  <bruno@clisp.org>
32413
32414         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
32415         the function is not present.
32416
32417 2007-03-31  Bruno Haible  <bruno@clisp.org>
32418
32419         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
32420         the function is not present.
32421
32422 2007-03-31  Bruno Haible  <bruno@clisp.org>
32423
32424         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
32425         a bug in HP-UX iconv_open().
32426
32427 2007-03-31  Bruno Haible  <bruno@clisp.org>
32428
32429         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
32430         (Mathematics <math.h>): New section, add fpieee.
32431         (Input/output <stdio.h>): Add fseterr.
32432         (Mathematics <math.h>): New section, add printf-frexp.
32433         (Container data structures): Add sublist.
32434         (Core language properties): Add fpucw, inline.
32435         (Functions for greatest-width integer types <inttypes.h>): Add
32436         imaxabs, imaxdiv, inttypes.
32437         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
32438         isnanl-nolibm, ldexp.
32439         (Mathematics <math.h>): New section, add printf-frexpl.
32440         (Support for systems lacking POSIX:2001): Add fprintf-posix,
32441         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
32442         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
32443         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
32444         (Unicode string functions): Add unistr/u*-mbtoucr.
32445         (Java): Add javacomp-script, javaexec-script.
32446         (C#): Add csharpcomp-script, csharpexec-script.
32447         (Support for building libraries and executables): Add havelib,
32448         relocatable-*.
32449         (Support for maintaining and releasing projects): Renamed from
32450         'Support for maintaining and release projects'. Add announce-gen.
32451
32452 2007-03-31  Bruno Haible  <bruno@clisp.org>
32453
32454         * README: Talk primarily about git.
32455         (git and CVS): Renamed from CVS.
32456         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
32457         gnulib is available through git.
32458         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
32459
32460 2007-03-30  Bruno Haible  <bruno@clisp.org>
32461
32462         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
32463         * lib/poll_.h: Likewise.
32464         * lib/stat_.h: Likewise.
32465         * lib/sys_time_.h: Likewise.
32466         * lib/sysexit_.h: Likewise.
32467         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
32468         * lib/stdbool_.h: Likewise.
32469         * lib/byteswap_.h: Add double-inclusion guard.
32470
32471 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
32472
32473         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
32474
32475 2007-03-30  Karl Berry  <karl@gnu.org>
32476
32477         * config/srclist-update: double space after USA in the license
32478         substitution, since that's how it's usually (?) written.
32479
32480 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
32481
32482         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
32483         reported by Bruno Haible.
32484
32485 2007-03-29  Bruno Haible  <bruno@clisp.org>
32486
32487         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
32488         a bug in AIX iconv().
32489
32490 2007-03-29  Bruno Haible  <bruno@clisp.org>
32491
32492         * modules/ldexpl-tests: New file.
32493         * tests/test-ldexpl.c: New file.
32494
32495 2007-03-29  Bruno Haible  <bruno@clisp.org>
32496
32497         * lib/ldexpl.c: Include fpucw.h.
32498         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
32499         multiplication.
32500         * modules/ldexpl (Depends-on): Add fpucw.
32501
32502 2007-03-29  Bruno Haible  <bruno@clisp.org>
32503
32504         * modules/ldexpl: New file.
32505         * m4/ldexpl.m4: New file.
32506         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
32507         set.
32508         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
32509         REPLACE_LDEXPL.
32510         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
32511         REPLACE_LDEXPL.
32512         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
32513         gl_FUNC_LDEXPL_WORKS.
32514         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
32515         * modules/mathl (Files): Remove lib/ldexpl.c.
32516         (Depends-on): Add ldexpl.
32517
32518 2007-03-29  Bruno Haible  <bruno@clisp.org>
32519
32520         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
32521
32522 2007-03-29  Bruno Haible  <bruno@clisp.org>
32523
32524         * tests/test-striconveh.c (main): Don't assume that a direct conversion
32525         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
32526         and possibly also HP-UX.
32527         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
32528         work on AIX, IRIX, HP-UX, OSF/1.
32529         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
32530         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
32531         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
32532         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
32533         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
32534         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
32535
32536 2007-03-29  Bruno Haible  <bruno@clisp.org>
32537
32538         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
32539
32540 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
32541
32542         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
32543         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
32544
32545 2007-03-29  Eric Blake  <ebb9@byu.net>
32546
32547         * lib/acl-internal.h: Remove redundant include.
32548         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
32549         Cygwin when a file is locked.
32550
32551 2007-03-29  Bruno Haible  <bruno@clisp.org>
32552
32553         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
32554         file.
32555         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
32556
32557 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
32558
32559         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
32560         try to remove a parent directory if the child couldn't be removed
32561         (except for the first rmdir, which could fail because the child
32562         doesn't exist).  Problem reported by Jeff Blaine in
32563         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
32564
32565 2007-03-28  Bruno Haible  <bruno@clisp.org>
32566
32567         * lib/striconveh.c (utf8conv_carefully): New function.
32568         (mem_cd_iconveh_internal): Invoke it.
32569
32570 2007-03-28  Bruno Haible  <bruno@clisp.org>
32571
32572         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
32573         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
32574         input.
32575         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
32576         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
32577         unistr/u8-uctomb.
32578
32579 2007-03-28  Bruno Haible  <bruno@clisp.org>
32580
32581         * modules/unistr/u8-mbtoucr: New file.
32582         * lib/unistr/u8-mbtoucr.c: New file.
32583         * modules/unistr/u16-mbtoucr: New file.
32584         * lib/unistr/u16-mbtoucr.c: New file.
32585         * modules/unistr/u16-mbtoucr: New file.
32586         * lib/unistr/u16-mbtoucr.c: New file.
32587         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
32588
32589 2007-03-27  Simon Josefsson  <simon@josefsson.org>
32590             Bruno Haible  <bruno@clisp.org>
32591
32592         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
32593         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
32594         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
32595
32596         * m4/stdio_h.m4: Add stubs for vasprintf too.
32597
32598         * modules/stdio: Support vasprintf in sed command.
32599
32600         * modules/vasprintf: Depend on stdio for prototypes.  Remove
32601         vasprintf.h.  Add stdio module indicator.
32602
32603         * lib/stdio_.h: Declare asprintf and vasprintf, based on
32604         vasprintf.h.
32605
32606         * lib/vasprintf.h: File removed.
32607
32608         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
32609         * lib/vasprintf.c: Ditto.
32610         * lib/xvasprintf.c: Ditto.
32611         * tests/test-vasprintf-posix.c: Ditto.
32612         * tests/test-vasprintf.c: Ditto.
32613
32614 2007-03-27  Bruno Haible  <bruno@clisp.org>
32615
32616         Make vasnprintf multithread-safe.
32617         * lib/vasnprintf.c (decimal_point_char): New function.
32618         (VASNPRINTF): Use it.
32619         Suggested by Simon Josefsson.
32620
32621 2007-03-27  Eric Blake  <ebb9@byu.net>
32622
32623         Support sub-second birthtime on cygwin.
32624         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
32625         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
32626         (get_stat_birthtime): Also work with st_birthtim.
32627
32628 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
32629
32630         * lib/stat-time.h (USE_BIRTHTIME): Remove.
32631         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
32632         (get_stat_birthtime_ns): Do not try to use "spare" fields.
32633         (get_stat_birthtime_ns): Simplify compile-time tests.
32634         (get_stat_birthtime): Change the API to look like
32635         get_stat_mtime etc., except return a negative tv_nsec on error.
32636         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
32637         Don't check for "spare" fields.
32638         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
32639         or for struct stat.st_birthtime, as these tests aren't used.
32640         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
32641
32642 2007-03-27  Bruno Haible  <bruno@clisp.org>
32643
32644         * lib/stat-time.h: Include <sys/stat.h>.
32645
32646 2007-03-27  James Youngman  <jay@gnu.org>
32647
32648         * lib/stat-time.h (get_stat_birthtime): New function for
32649           retrieving st_birthtime as provided by UFS2 (hence *BSD).
32650         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
32651           and its variants.
32652         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
32653         * modules/stat-time-test: New file.
32654         * tests/test-stat-time.c: New test, devised by Bruno Haible.
32655
32656 2007-03-26  Bruno Haible  <bruno@clisp.org>
32657
32658         Better support of signalling NaNs.
32659         * lib/atanl.c: Include isnanl.h.
32660         (atanl): Perform test for NaN at the beginning of the function and
32661         through a call to isnanl.
32662         * lib/cosl.c: Include isnanl.h.
32663         (cosl): Perform test for NaN at the beginning of the function and
32664         through a call to isnanl.
32665         * lib/ldexpl.c: Include isnanl.h.
32666         (ldexpl): Perform test for NaN through a call to isnanl.
32667         * lib/logl.c: Include isnanl.h.
32668         (logl): Perform test for NaN at the beginning of the function and
32669         through a call to isnanl.
32670         * lib/sinl.c: Include isnanl.h.
32671         (sinl): Perform test for NaN at the beginning of the function and
32672         through a call to isnanl.
32673         * lib/sqrtl.c: Include isnanl.h.
32674         (sqrtl): Perform test for NaN at the beginning of the function and
32675         through a call to isnanl.
32676         * lib/tanl.c: Include isnanl.h.
32677         (tanl): Perform test for NaN at the beginning of the function and
32678         through a call to isnanl.
32679         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
32680         * modules/mathl (Depends-on): Add isnanl.
32681
32682 2007-03-26  Eric Blake  <ebb9@byu.net>
32683
32684         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
32685         regression in logic sense of previous patch.
32686
32687 2007-03-26  Bruno Haible  <bruno@clisp.org>
32688
32689         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
32690         unportable shell command "if ! ...".
32691         Reported by Ralf Wildenhues.
32692
32693 2007-03-25  Bruno Haible  <bruno@clisp.org>
32694
32695         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
32696         <sysexits.h> file, and only add EX_CONFIG.
32697         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
32698         absolute file name and whether it is sufficient. Substitute also
32699         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
32700         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
32701         ABSOLUTE_SYSEXITS_H into sysexits.h.
32702
32703 2007-03-25  Bruno Haible  <bruno@clisp.org>
32704
32705         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
32706         hints is NULL.
32707
32708 2007-03-25  Bruno Haible  <bruno@clisp.org>
32709
32710         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
32711         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
32712
32713 2007-03-25  Bruno Haible  <bruno@clisp.org>
32714
32715         * lib/vasnprintf.c: Include langinfo.h.
32716         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
32717         multithread-safe.
32718         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
32719         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
32720         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
32721         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
32722         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
32723         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
32724         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
32725         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
32726         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
32727         Reported by Simon Josefsson.
32728
32729 2007-03-25  Bruno Haible  <bruno@clisp.org>
32730
32731         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
32732         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
32733         * modules/vasnprintf (Depends-on): Add stdint.
32734
32735 2007-03-25  Bruno Haible  <bruno@clisp.org>
32736
32737         * modules/fpieee: New file.
32738         * m4/fpieee.m4: New file.
32739         * modules/isnan-nolibm (Depends-on): Add fpieee.
32740         * modules/isnanl-nolibm (Depends-on): Add fpieee.
32741         * modules/isnanl (Depends-on): Add fpieee.
32742
32743 2007-03-25  Bruno Haible  <bruno@clisp.org>
32744
32745         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
32746
32747 2007-03-25  Bruno Haible  <bruno@clisp.org>
32748
32749         Avoid test failures on IRIX 6.5.
32750         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
32751         (main): Use it.
32752         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
32753         macros.
32754         (main): Use them.
32755
32756 2007-03-25  Bruno Haible  <bruno@clisp.org>
32757
32758         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
32759         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
32760         exists but doesn't work.
32761         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
32762         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
32763         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
32764         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
32765
32766 2007-03-25  Bruno Haible  <bruno@clisp.org>
32767
32768         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
32769         returns inf. Needed on IRIX 6.5.
32770
32771 2007-03-25  Bruno Haible  <bruno@clisp.org>
32772
32773         * tests/test-frexpl.c: Include isnanl-nolibm.h.
32774         (main): Use isnanl instead of x != x idiom.
32775         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
32776
32777         * tests/test-frexp.c: Include isnan.h.
32778         (main): Use isnan instead of x != x idiom.
32779         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
32780
32781 2007-03-25  Bruno Haible  <bruno@clisp.org>
32782
32783         * tests/test-frexp.c (NaN): New function/macro.
32784         (main): Use it instead of 0.0 / 0.0.
32785         * tests/test-isnan.c (NaN): New function/macro.
32786         (main): Use it instead of 0.0 / 0.0.
32787         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
32788         (test_function): Use it instead of 0.0 / 0.0.
32789         * tests/test-vasprintf-posix.c (NaN): New function/macro.
32790         (test_function): Use it instead of 0.0 / 0.0.
32791         * tests/test-snprintf-posix.h (NaN): New function/macro.
32792         (test_function): Use it instead of 0.0 / 0.0.
32793         * tests/test-sprintf-posix.h (NaN): New function/macro.
32794         (test_function): Use it instead of 0.0 / 0.0.
32795         * tests/test-fprintf-posix.h (NaN): New function/macro.
32796         (test_function): Use it instead of 0.0 / 0.0.
32797         * tests/test-printf-posix.h (NaN): New function/macro.
32798         (test_function): Use it instead of 0.0 / 0.0.
32799
32800         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
32801
32802 2007-03-25  Bruno Haible  <bruno@clisp.org>
32803
32804         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
32805
32806 2007-03-25  Bruno Haible  <bruno@clisp.org>
32807
32808         * lib/regexec.c (merge_state_with_log): Make static.
32809
32810 2007-03-25  Bruno Haible  <bruno@clisp.org>
32811
32812         * lib/trigl.c (kernel_rem_pio2): Make static.
32813
32814 2007-03-25  Bruno Haible  <bruno@clisp.org>
32815
32816         * lib/sincosl.c (sincosl_table): Make static.
32817
32818 2007-03-25  Bruno Haible  <bruno@clisp.org>
32819
32820         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
32821         if the compiler does not support C99.
32822
32823 2007-03-25  Bruno Haible  <bruno@clisp.org>
32824
32825         * modules/time (Makefile.am): Ensure all rule action lines start with a
32826         tab.
32827
32828 2007-03-24  Bruno Haible  <bruno@clisp.org>
32829
32830         * modules/tsearch-tests: New file.
32831         * tests/test-tsearch.sh: New file.
32832         * tests/test-tsearch.c: New file, mostly copied from glibc.
32833
32834         * modules/search-tests: New file.
32835         * tests/test-search.c: New file.
32836
32837         * modules/search: New file.
32838         * lib/search_.h: New file, incorporating lib/tsearch.h.
32839         * m4/search_h.m4: New file.
32840         * lib/tsearch.h: Remove file.
32841         * lib/tsearch.c: Include search.h instead of tsearch.h.
32842         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
32843         HAVE_TSEARCH.
32844         * modules/tsearch (Files): Remove lib/tsearch.h.
32845         (Depends-on): Add search.
32846         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
32847         (Include): Change tsearch.h into search.h.
32848
32849 2007-03-24  Bruno Haible  <bruno@clisp.org>
32850
32851         * modules/fpucw: New file.
32852         * lib/fpucw.h: New file.
32853         * lib/frexp.c: Include fpucw.h.
32854         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
32855         (FUNC): Use them.
32856         * lib/printf-frexp.c: Include fpucw.h.
32857         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
32858         (FUNC): Use them.
32859         * lib/vasnprintf.c: Include fpucw.h.
32860         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
32861         'long double' calculations.
32862         * tests/test-frexpl.c: Include fpucw.h.
32863         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
32864         * tests/test-printf-frexpl.c: Include fpucw.h.
32865         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
32866         * modules/frexpl (Depends-on): Add fpucw.
32867         * modules/printf-frexpl (Depends-on): Likewise.
32868         * modules/fprintf-posix (Depends-on): Likewise.
32869         * modules/snprintf-posix (Depends-on): Likewise.
32870         * modules/sprintf-posix (Depends-on): Likewise.
32871         * modules/vasnprintf-posix (Depends-on): Likewise.
32872         * modules/vasprintf-posix (Depends-on): Likewise.
32873         * modules/vfprintf-posix (Depends-on): Likewise.
32874         * modules/vsnprintf-posix (Depends-on): Likewise.
32875         * modules/vsprintf-posix (Depends-on): Likewise.
32876         * modules/frexpl-tests (Depends-on): Likewise.
32877         * modules/printf-frexpl-tests (Depends-on): Likewise.
32878
32879 2007-03-24  Bruno Haible  <bruno@clisp.org>
32880
32881         * lib/float+.h: New file.
32882         * lib/isnan.c: Include float+.h.
32883         (SIZE): New macro.
32884         (FUNC): Compare only SIZE bytes of the value.
32885         * lib/vasnprintf.c: Include float+.h.
32886         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
32887         SIZEOF_LDBL or SIZEOF_DBL bytes.
32888         * modules/isnan-nolibm (Files): Add lib/float+.h.
32889         * modules/isnanl-nolibm (Files): Add lib/float+.h.
32890         * modules/isnanl (Files): Add lib/float+.h.
32891         * modules/vasnprintf (Files): Add lib/float+.h.
32892
32893 2007-03-24  Bruno Haible  <bruno@clisp.org>
32894
32895         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
32896         include isnanl-nolibm.h.
32897
32898 2007-03-24  Bruno Haible  <bruno@clisp.org>
32899
32900         * tests/test-read-file.c (main): Don't produce spurious output for
32901         expected situations. Make the test fail if it encountered unexpected
32902         results.
32903
32904 2007-03-24  Bruno Haible  <bruno@clisp.org>
32905
32906         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
32907         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
32908
32909 2007-03-24  Bruno Haible  <bruno@clisp.org>
32910
32911         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
32912
32913 2007-03-24  Bruno Haible  <bruno@clisp.org>
32914
32915         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
32916         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
32917
32918         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
32919         * modules/utf8-ucs4: Turn into a symbolic link to module
32920         unistr/u8-mbtouc.
32921
32922         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
32923         utf8-ucs4-unsafe.
32924         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
32925         unistr/u8-mbtouc-unsafe.
32926
32927         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
32928         * modules/utf16-ucs4: Turn into a symbolic link to module
32929         unistr/u16-mbtouc.
32930
32931         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
32932         utf16-ucs4-unsafe.
32933         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
32934         unistr/u16-mbtouc-unsafe.
32935
32936         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
32937         * modules/ucs4-utf8: Turn into a symbolic link to module
32938         unistr/u8-ubtomb.
32939
32940         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
32941         * modules/ucs4-utf16: Turn into a symbolic link to module
32942         unistr/u16-ubtomb.
32943
32944 2007-03-24  Bruno Haible  <bruno@clisp.org>
32945
32946         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
32947         Enable the function only if HAVE_INLINE.
32948         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
32949         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
32950         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
32951         Enable the function only if HAVE_INLINE.
32952         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
32953         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
32954         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
32955         Enable the function only if HAVE_INLINE.
32956         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
32957         Enable the function only if HAVE_INLINE.
32958         * modules/utf8-ucs4: Update.
32959         * modules/utf8-ucs4-unsafe: Update.
32960         * modules/utf16-ucs4: Update.
32961         * modules/utf16-ucs4-unsafe: Update.
32962         * modules/ucs4-utf8: Update.
32963         * modules/ucs4-utf16: Update.
32964
32965 2007-03-24  Bruno Haible  <bruno@clisp.org>
32966
32967         * lib/utf8-ucs4.h: Remove file.
32968         * lib/utf8-ucs4-unsafe.h: Remove file.
32969         * lib/utf16-ucs4.h: Remove file.
32970         * lib/utf16-ucs4-unsafe.h: Remove file.
32971         * lib/ucs4-utf8.h: Remove file.
32972         * lib/ucs4-utf16.h: Remove file.
32973         * lib/unistr.h: Include their previous contents.
32974         * m4/utf-ucs4.m4: Remove file.
32975         * m4/ucs4-utf.m4: Remove file.
32976         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
32977         (Depends-on): Add unistr/base.
32978         (configure.ac): Remove gl_UTF_UCS4.
32979         (Makefile.am): Update.
32980         (Include): Change to unistr.h.
32981         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
32982         (Depends-on): Add unistr/base.
32983         (configure.ac): Remove gl_UTF_UCS4.
32984         (Makefile.am): Update.
32985         (Include): Change to unistr.h.
32986         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
32987         (Depends-on): Add unistr/base.
32988         (configure.ac): Remove gl_UTF_UCS4.
32989         (Makefile.am): Update.
32990         (Include): Change to unistr.h.
32991         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
32992         (Depends-on): Add unistr/base.
32993         (configure.ac): Remove gl_UTF_UCS4.
32994         (Makefile.am): Update.
32995         (Include): Change to unistr.h.
32996         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
32997         (Depends-on): Add unistr/base.
32998         (configure.ac): Remove gl_UCS4_UTF.
32999         (Makefile.am): Update.
33000         (Include): Change to unistr.h.
33001         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
33002         (Depends-on): Add unistr/base.
33003         (configure.ac): Remove gl_UCS4_UTF.
33004         (Makefile.am): Update.
33005         (Include): Change to unistr.h.
33006         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
33007         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
33008         utf8-ucs4-unsafe.h.
33009         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
33010         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
33011         utf16-ucs4-unsafe.h.
33012         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
33013         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
33014         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
33015         * lib/unistr/u8-strchr.c: Likewise.
33016         * lib/unistr/u8-strrchr.c: Likewise.
33017         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
33018         * lib/unistr/u16-strchr.c: Likewise.
33019         * lib/unistr/u16-strrchr.c: Likewise.
33020         * lib/striconveh.c: Update.
33021         * lib/linebreak.c: Update.
33022
33023 2007-03-24  Bruno Haible  <bruno@clisp.org>
33024
33025         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
33026         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
33027
33028 2007-03-22  Bruno Haible  <bruno@clisp.org>
33029
33030         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
33031
33032 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
33033
33034         * MODULES.html.sh (File system functions): New module write-any-file.
33035         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
33036         * m4/write-any-file.m4: New files.
33037
33038 2007-03-23  Eric Blake  <ebb9@byu.net>
33039
33040         * gnulib-tool: Rearrange space-tab sequences, since some editors
33041         like to eat them.
33042
33043 2007-03-23  Eric Blake  <ebb9@byu.net>
33044
33045         * lib/version-etc.c (version_etc_va): Update license wording to
33046         be more concise.  Recommended by Richard Stallman.
33047
33048 2007-03-22  Bruno Haible  <bruno@clisp.org>
33049
33050         * lib/poll.c (MSG_PEEK): New fallback definition.
33051
33052 2007-03-22  Bruno Haible  <bruno@clisp.org>
33053
33054         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
33055         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
33056         (main): Update.
33057         Fixes a compilation error on BeOS.
33058
33059 2007-03-22  Bruno Haible  <bruno@clisp.org>
33060
33061         * modules/frexpl-tests: New file.
33062         * tests/test-frexpl.c: New file.
33063
33064         * modules/frexpl: New file.
33065         * m4/frexpl.m4: New file.
33066         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
33067         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
33068         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
33069         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
33070         (Depends-on): Add frexpl. Remove isnanl-nolibm.
33071         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
33072
33073 2007-03-22  Bruno Haible  <bruno@clisp.org>
33074
33075         * lib/frexpl.c: Share code with lib/frexp.c.
33076         * modules/mathl (Files): Add lib/frexp.c.
33077         (Depends-on): Add isnanl-nolibm.
33078
33079 2007-03-22  Bruno Haible  <bruno@clisp.org>
33080
33081         * modules/printf-frexp (Files): Add m4/frexp.m4.
33082         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
33083         only if the found frexp function actually works.
33084
33085 2007-03-22  Bruno Haible  <bruno@clisp.org>
33086
33087         * lib/frexp.c: Remove older implementation that uses divisions.
33088
33089 2007-03-21  Bruno Haible  <bruno@clisp.org>
33090
33091         * modules/frexp-tests: New file.
33092         * tests/test-frexp.c: New file.
33093
33094         * modules/frexp: New file.
33095         * lib/frexp.c: New file.
33096         * m4/frexp.m4: New file.
33097         * lib/math_.h (frexp): New declaration.
33098         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
33099         REPLACE_FREXP.
33100         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
33101
33102 2007-03-21  Bruno Haible  <bruno@clisp.org>
33103
33104         * modules/isnanl-tests: New file.
33105         * tests/test-isnanl.c: New file.
33106
33107         * modules/isnanl: New file.
33108         * lib/isnanl.h: New file.
33109         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
33110         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
33111         gl_FUNC_ISNANL_WORKS.
33112         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
33113         New macros.
33114
33115 2007-03-21  Bruno Haible  <bruno@clisp.org>
33116
33117         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
33118         lib/isnanl.h.
33119         (Include): Update.
33120         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
33121         * lib/vasnprintf.c: Update.
33122         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
33123         tests/test-isnanl.h, remove tests/test-isnanl.c.
33124         (Makefile.am): Update.
33125         * tests/test-isnanl-nolibm.c: New file.
33126         * tests/test-isnanl.h: New file.
33127         * tests/test-isnanl.c: Remove file.
33128
33129 2007-03-21  Jim Meyering  <jim@meyering.net>
33130
33131         When trying to open ".", treat ESTALE like EACCES.
33132         * lib/savewd.c (savewd_save): Resort to forking not just upon
33133         failure with EACCES, but also when errno is ESTALE.
33134
33135 2007-03-20  Bruno Haible  <bruno@clisp.org>
33136
33137         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
33138         Needed on AIX 5.1. Reported by Matthew Woehlke.
33139
33140 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
33141
33142         Suggestions by Bruno Haible:
33143         * lib/acl-internal.h: Include "gettext.h" rather than rolling
33144         our own.
33145         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
33146         * modules/acl (Depends-on): Add gettext.
33147
33148 2007-03-19  Bruno Haible  <bruno@clisp.org>
33149
33150         * modules/iconvme: Remove file.
33151         * lib/iconvme.h: Remove file.
33152         * lib/iconvme.c: Remove file.
33153         * m4/iconvme.m4: Remove file.
33154
33155 2007-03-19  Bruno Haible  <bruno@clisp.org>
33156
33157         * doc/relocatable-maint.texi: Break long shell script line.
33158         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
33159
33160 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
33161
33162         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
33163         handle file_has_acl.
33164         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
33165         * lib/acl.c: Move header inclusions and related macro defns into
33166         lib/acl-internal.h.
33167         (S_ISLNK): Remove defn, since that's now done for us.
33168         (file_has_acl): Move to lib/file-has-acl.c.
33169         Call acl_trivial if available.  This is the crucial part of the fix.
33170         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
33171         shared within the library.  Rewrite a bit, partly to make it compatible
33172         with the GNU coding style.
33173         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
33174         Remove unnecessary double-quotes.
33175         Don't test for acl_to_text; the build will catch that.
33176         Replace acl_entries if it doesn't exist and it is needed.
33177         Check for -lsec and acl_trivial (as used on Solaris 10).
33178         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
33179         lib/file-has-acl.c.
33180         (Depends-on): Add sys_stat, for S_ISLNK.
33181
33182 2007-03-19  Ben Pfaff  <blp@gnu.org>
33183
33184         * doc/gnulib.texi: Fix typos.
33185         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
33186
33187 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
33188
33189         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
33190         If size is zero here, buf must be zero.
33191
33192 2007-03-19  Simon Josefsson  <simon@josefsson.org>
33193
33194         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
33195         <bruno@clisp.org>.
33196
33197 2007-03-18  Bruno Haible  <bruno@clisp.org>
33198
33199         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
33200         Suggested by Eric Blake.
33201
33202 2007-03-18  Ben Pfaff  <blp@gnu.org>
33203
33204         * doc/relocatable.texi: Recommend using as prefix a directory
33205         that does not exist and will never be created.  Based on
33206         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
33207         and others.
33208
33209 2007-03-17  Bruno Haible  <bruno@clisp.org>
33210
33211         * lib/fchownat.c: Include lchown.h.
33212
33213 2007-03-17  Bruno Haible  <bruno@clisp.org>
33214
33215         Fix endless loop when the given allocated size was > INT_MAX.
33216         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
33217         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
33218         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
33219         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
33220         * lib/sprintf.c (sprintf): Likewise.
33221
33222 2007-03-17  Bruno Haible  <bruno@clisp.org>
33223
33224         * tests/test-argp-2.sh (func_compare): Output a context diff.
33225
33226 2007-03-17  Bruno Haible  <bruno@clisp.org>
33227
33228         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
33229         locale's decimal-point character.
33230
33231 2007-03-17  Bruno Haible  <bruno@clisp.org>
33232
33233         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
33234         before comparing it. Needed because on some platforms (e.g. x86) a
33235         'long double' occupies less bytes than sizeof (long double).
33236
33237 2007-03-17  Bruno Haible  <bruno@clisp.org>
33238
33239         * tests/test-crc.c (main): Make printf statements 64-bit clean.
33240         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
33241         * tests/test-getaddrinfo.c (simple): Likewise.
33242         * tests/test-read-file.c (main): Likewise.
33243
33244 2007-03-17  Bruno Haible  <bruno@clisp.org>
33245
33246         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
33247
33248 2007-03-17  Bruno Haible  <bruno@clisp.org>
33249
33250         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
33251         unused variable.
33252
33253 2007-03-17  Bruno Haible  <bruno@clisp.org>
33254
33255         * tests/test-c-strcasecmp.c: Include c-strcase.h.
33256         * tests/test-c-strncasecmp.c: Likewise.
33257
33258 2007-03-17  Bruno Haible  <bruno@clisp.org>
33259
33260         * modules/stdlib (Depends-on): Add unistd.
33261         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
33262         Needed for MacOS X 10.3.
33263
33264 2007-03-17  Bruno Haible  <bruno@clisp.org>
33265
33266         * lib/unistr/u-strdup.h: Include <stdlib.h>.
33267
33268 2007-03-17  Bruno Haible  <bruno@clisp.org>
33269
33270         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
33271
33272 2007-03-17  Bruno Haible  <bruno@clisp.org>
33273
33274         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
33275         to reflect files copied from gnulib (with or without modifications).
33276         Suggested by Jim Meyering.
33277
33278 2007-03-17  Eric Blake  <ebb9@byu.net>
33279
33280         * NEWS: Document stdlib change from 2007-02-18.
33281
33282 2007-03-17  Jim Meyering  <jim@meyering.net>
33283
33284         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
33285         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
33286         someone uses a name containing shell meta-characters.
33287         Reported by Alfred M. Szmidt.
33288
33289         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
33290
33291 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
33292
33293         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
33294         and copy gettext configuration files only if configure.ac contains
33295         a use of AM_GNU_GETTEXT_VERSION.
33296
33297 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
33298
33299         * build-aux/bootstrap (gnulib_name): New variable.
33300         (gnulib_tool_options): Use it.
33301
33302 2007-03-13  Simon Josefsson  <simon@josefsson.org>
33303
33304         * tests/test-des.c: Use new namespace.
33305
33306 2007-03-15  Bruno Haible  <bruno@clisp.org>
33307
33308         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
33309         Reported by James Youngman <jay@gnu.org>.
33310
33311 2007-03-15  Bruno Haible  <bruno@clisp.org>
33312
33313         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
33314         declared prototype. Needed with cc on OSF/1 5.1.
33315
33316 2007-03-15  Bruno Haible  <bruno@clisp.org>
33317
33318         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
33319         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
33320         (struct gl_list_implementation): Add dispose_fn argument to the
33321         'create_empty', 'create' methods.
33322         (struct gl_list_impl_base): Add field 'dispose_fn'.
33323         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
33324         argument.
33325         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
33326         dispose_fn argument.
33327         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
33328         dispose_fn on the dropped values.
33329         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
33330         dispose_fn argument.
33331         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
33332         dropped values.
33333         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
33334         (gl_tree_remove_node): Call dispose_fn on the dropped value.
33335         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
33336         (gl_tree_remove_node): Call dispose_fn on the dropped value.
33337         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
33338         argument.
33339         (gl_tree_list_free): Call dispose_fn on the dropped values.
33340         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
33341         the dropped values.
33342         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
33343         Add dispose_fn argument.
33344         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
33345         Call dispose_fn on the dropped values.
33346         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
33347         Add dispose_fn argument.
33348         (gl_sublist_create): Initialize the 'dispose_fn' field.
33349         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
33350         * tests/test-array_list.c (main): Update.
33351         * tests/test-carray_list.c (main): Update.
33352         * tests/test-avltree_list.c (main): Update.
33353         * tests/test-rbtree_list.c (main): Update.
33354         * tests/test-avltreehash_list.c (main): Update.
33355         * tests/test-rbtreehash_list.c (main): Update.
33356         * tests/test-linked_list.c (main): Update.
33357         * tests/test-linkedhash_list.c (main): Update.
33358         * tests/test-array_oset.c (main): Update.
33359
33360 2007-03-15  Bruno Haible  <bruno@clisp.org>
33361
33362         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
33363         (gl_oset_create_empty): Add dispose_fn argument.
33364         (struct gl_oset_implementation): Add dispose_fn argument to
33365         'create_empty' method.
33366         (struct gl_oset_impl_base): Add dispose_fn field.
33367         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
33368         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
33369         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
33370         values.
33371         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
33372         (gl_tree_oset_free): Call dispose_fn on the dropped values.
33373         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
33374         dropped value.
33375         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
33376         dropped value.
33377         * tests/test-array_oset.c (main): Update.
33378         * tests/test-avltree_oset.c (main): Update.
33379         * tests/test-rbtree_oset.c (main): Update.
33380         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
33381
33382 2007-03-13  Bruno Haible  <bruno@clisp.org>
33383
33384         * tests/test-stdbool.c (i): Update after last patch.
33385
33386 2007-03-12  Bruno Haible  <bruno@clisp.org>
33387
33388         * lib/quotearg.c: Include <wctype.h> early, before the definition of
33389         the iswprint macro. Needed on Solaris 2.5.1.
33390
33391 2007-03-12  Bruno Haible  <bruno@clisp.org>
33392
33393         * tests/test-printf-frexp.c (main): Declare x as volatile.
33394
33395 2007-03-12  Simon Josefsson  <simon@josefsson.org>
33396
33397         * doc/gnulib.texi (Build robot for gnulib): New section.
33398
33399 2007-03-12  Jim Meyering  <jim@meyering.net>
33400
33401         * build-aux/bootstrap: New file.
33402         * build-aux/bootstrap.conf: New file, from coreutils.
33403
33404 2007-03-11  Bruno Haible  <bruno@clisp.org>
33405
33406         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
33407
33408 2007-03-12  Simon Josefsson  <simon@josefsson.org>
33409
33410         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
33411         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
33412         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
33413
33414 2007-03-11  Bruno Haible  <bruno@clisp.org>
33415
33416         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
33417         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
33418
33419 2007-03-11  Bruno Haible  <bruno@clisp.org>
33420
33421         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
33422         formula. Needed for SunPRO C 5.0.
33423
33424 2007-03-11  Bruno Haible  <bruno@clisp.org>
33425
33426         * modules/long-options (Depends-on): Add getopt.
33427
33428 2007-03-11  Bruno Haible  <bruno@clisp.org>
33429
33430         * modules/modechange (Depends-on): Add stdbool.
33431
33432 2007-03-11  Bruno Haible  <bruno@clisp.org>
33433
33434         * modules/i-ring (Depends-on): Add stdbool.
33435
33436 2007-03-11  Bruno Haible  <bruno@clisp.org>
33437
33438         * modules/gc-des (Depends-on): Add stdbool.
33439
33440 2007-03-11  Bruno Haible  <bruno@clisp.org>
33441
33442         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
33443
33444 2007-03-11  Bruno Haible  <bruno@clisp.org>
33445
33446         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
33447
33448 2007-03-11  Bruno Haible  <bruno@clisp.org>
33449
33450         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
33451
33452 2007-03-11  Bruno Haible  <bruno@clisp.org>
33453
33454         * lib/vasnprintf.c (sprintf): Undefine.
33455
33456 2007-03-11  Bruno Haible  <bruno@clisp.org>
33457
33458         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
33459         initializers in SunPRO C and Compaq C compilers.
33460
33461 2007-03-11  Bruno Haible  <bruno@clisp.org>
33462
33463         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
33464         decrementing code ANSI C compliant.
33465
33466 2007-03-11  Bruno Haible  <bruno@clisp.org>
33467
33468         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
33469         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
33470
33471 2007-03-11  Bruno Haible  <bruno@clisp.org>
33472
33473         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
33474         <stdbool.h> substitute doesn't pass.
33475
33476 2007-03-11  Bruno Haible  <bruno@clisp.org>
33477
33478         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
33479
33480 2007-03-11  Bruno Haible  <bruno@clisp.org>
33481
33482         * gnulib-tool (func_create_megatestdir): Create also an autobuild
33483         script, for submission to autobuild.josefsson.org.
33484
33485 2007-03-10  Bruno Haible  <bruno@clisp.org>
33486
33487         * modules/canonicalize-lgpl-tests: New file.
33488         * tests/test-canonicalize-lgpl.sh: New file.
33489         * tests/test-canonicalize-lgpl.c: New file.
33490
33491         * modules/c-strcase-tests: New file.
33492         * tests/test-c-strcase.sh: New file.
33493         * tests/test-c-strcasecmp.c: New file.
33494         * tests/test-c-strncasecmp.c: New file.
33495
33496         * modules/atexit-tests: New file.
33497         * tests/test-atexit.sh: New file.
33498         * tests/test-atexit.c: New file.
33499
33500 2007-03-10  Bruno Haible  <bruno@clisp.org>
33501
33502         * tests/test-binary-io.sh: Use temporary filenames that are not so
33503         likely to clash with those of other tests (in a parallel make).
33504         * tests/test-binary-io.c: Likewise.
33505
33506 2007-03-10  Bruno Haible  <bruno@clisp.org>
33507
33508         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
33509         fallback; use #error instead.
33510         Suggested by Simon Josefsson.
33511
33512 2007-03-10  Bruno Haible  <bruno@clisp.org>
33513
33514         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
33515         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
33516         first and the last.
33517
33518 2007-03-10  Bruno Haible  <bruno@clisp.org>
33519
33520         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
33521
33522 2007-03-10  Bruno Haible  <bruno@clisp.org>
33523
33524         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
33525         "make distcheck".
33526         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
33527         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
33528         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
33529
33530 2007-03-10  Bruno Haible  <bruno@clisp.org>
33531
33532         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
33533         variable.
33534         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
33535         variable.
33536
33537 2007-03-09  Eric Blake  <ebb9@byu.net>
33538         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
33539
33540         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
33541         types are not being provided by gnulib.
33542         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
33543         types are supported.
33544
33545 2007-03-10  Bruno Haible  <bruno@clisp.org>
33546
33547         * lib/stdio_.h (__attribute__): New macro.
33548         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
33549         vsprintf): Specify __attribute__ __format__ for GCC.
33550         Suggested by Eric Blake.
33551
33552 2007-03-09  Bruno Haible  <bruno@clisp.org>
33553
33554         * modules/printf-posix-tests: New file.
33555         * tests/test-printf-posix.sh: New file.
33556         * tests/test-printf-posix.c: New file.
33557
33558         * modules/printf-posix: New file.
33559         * lib/printf.c: New file.
33560         * m4/printf-posix-rpl.m4: New file.
33561         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
33562         REPLACE_PRINTF.
33563         * lib/stdio_.h (printf): New declaration.
33564         (format, __format__, ____printf____, ____scanf____, ____strftime____,
33565         ____strfmon____): New macros.
33566         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
33567         REPLACE_PRINTF.
33568
33569 2007-03-09  Bruno Haible  <bruno@clisp.org>
33570
33571         * tests/test-vasnprintf-posix2.sh: New file.
33572         * tests/test-vasnprintf-posix2.c: New file.
33573         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
33574         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
33575         (Makefile.am): Activate test-vasnprintf-posix2.sh.
33576
33577         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
33578         a locale dependent decimal point, rather than always '.'.
33579
33580 2007-03-09  Eric Blake  <ebb9@byu.net>
33581
33582         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
33583         spite of platforms like Tandem/NSK that define it to -1.
33584
33585 2007-03-08  Bruno Haible  <bruno@clisp.org>
33586
33587         * modules/vprintf-posix-tests: New file.
33588         * tests/test-vprintf-posix.sh: New file.
33589         * tests/test-vprintf-posix.c: New file.
33590         * tests/test-printf-posix.h: New file.
33591
33592         * modules/vprintf-posix: New file.
33593         * lib/vprintf.c: New file.
33594         * m4/vprintf-posix.m4: New file.
33595         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
33596         REPLACE_VPRINTF.
33597         * lib/stdio_.h (vprintf): New declaration.
33598         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
33599         REPLACE_VPRINTF.
33600
33601 2007-03-08  Bruno Haible  <bruno@clisp.org>
33602
33603         * modules/fprintf-posix-tests: New file.
33604         * tests/test-fprintf-posix.sh: New file.
33605         * tests/test-fprintf-posix.c: New file.
33606
33607         * modules/fprintf-posix: New file.
33608         * lib/fprintf.c: New file.
33609         * m4/fprintf-posix.m4: New file.
33610         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
33611         REPLACE_FPRINTF.
33612         * lib/stdio_.h (fprintf): New declaration.
33613         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
33614         REPLACE_FPRINTF.
33615
33616 2007-03-08  Bruno Haible  <bruno@clisp.org>
33617
33618         * modules/vfprintf-posix-tests: New file.
33619         * tests/test-vfprintf-posix.sh: New file.
33620         * tests/test-vfprintf-posix.c: New file.
33621         * tests/test-fprintf-posix.h: New file.
33622         * tests/test-fprintf-posix.out: New file.
33623
33624         * modules/vfprintf-posix: New file.
33625         * lib/vfprintf.c: New file.
33626         * m4/vfprintf-posix.m4: New file.
33627         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
33628         REPLACE_VFPRINTF.
33629         * lib/stdio_.h (vfprintf): New declaration.
33630         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
33631         REPLACE_VFPRINTF.
33632
33633 2007-03-08  Bruno Haible  <bruno@clisp.org>
33634
33635         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
33636
33637 2007-03-08  Bruno Haible  <bruno@clisp.org>
33638
33639         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
33640         instead of 'expr' invocations.
33641         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
33642         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
33643         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
33644         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
33645         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
33646         Suggested by Paul Eggert.
33647
33648 2007-03-08  Bruno Haible  <bruno@clisp.org>
33649
33650         * modules/fseterr-tests: New file.
33651         * tests/test-fseterr.c: New file.
33652
33653         * modules/fseterr: New file.
33654         * lib/fseterr.h: New file.
33655         * lib/fseterr.c: New file.
33656
33657 2007-03-08  Bruno Haible  <bruno@clisp.org>
33658
33659         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
33660         * lib/getopt_.h: Likewise.
33661         * lib/mbswidth.h: Likewise.
33662         * lib/setenv.h: Likewise.
33663         * lib/vasnprintf.h: Likewise.
33664         * lib/vasprintf.h: Likewise.
33665         * lib/verror.h: Likewise.
33666         * lib/xsetenv.h: Likewise.
33667         * lib/xvasprintf.h: Likewise.
33668
33669 2007-03-08  Jim Meyering  <jim@meyering.net>
33670
33671         * users.txt: Add parted.
33672
33673         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
33674
33675 2007-03-07  Bruno Haible  <bruno@clisp.org>
33676
33677         * m4/printf.m4: Make the shell script snippets copy&pastable.
33678
33679 2007-03-02  Bruno Haible  <bruno@clisp.org>
33680
33681         * lib/netinet_in_.h: New file.
33682         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
33683         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
33684         * modules/netinet_in (Files): Add lib/netinet_in_.h.
33685         (Depends-on): Add absolute-header.
33686         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
33687         into netinet/in.h.
33688
33689 2007-03-03  Bruno Haible  <bruno@clisp.org>
33690
33691         * lib/sys_select_.h: New file.
33692         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
33693         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
33694         * modules/sys_select (Files): Add lib/sys_select_.h.
33695         (Depends-on): Add absolute-header.
33696         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
33697         into sys/select.h.
33698
33699 2007-03-02  Bruno Haible  <bruno@clisp.org>
33700
33701         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
33702         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
33703         values.
33704         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
33705         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
33706         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
33707         * modules/sys_socket (Depends-on): Add absolute-header.
33708         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
33709         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
33710         (Include): Remove requirement of inclusion of <sys/types.h>.
33711
33712 2007-03-02  Bruno Haible  <bruno@clisp.org>
33713
33714         * lib/byteswap_.h (bswap_32): Fix formula.
33715
33716 2007-03-06  Bruno Haible  <bruno@clisp.org>
33717
33718         * modules/sprintf-posix-tests: New file.
33719         * tests/test-sprintf-posix.c: New file.
33720
33721         * modules/sprintf-posix: New file.
33722         * lib/sprintf.c: New file.
33723         * m4/sprintf-posix.m4: New file.
33724         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
33725         REPLACE_SPRINTF.
33726         * lib/stdio_.h (sprintf): New declaration.
33727         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
33728         REPLACE_SPRINTF.
33729
33730 2007-03-06  Bruno Haible  <bruno@clisp.org>
33731
33732         * modules/vsprintf-posix-tests: New file.
33733         * tests/test-vsprintf-posix.c: New file.
33734         * tests/test-sprintf-posix.h: New file.
33735
33736         * modules/vsprintf-posix: New file.
33737         * lib/vsprintf.c: New file.
33738         * m4/vsprintf-posix.m4: New file.
33739         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
33740         REPLACE_VSPRINTF.
33741         * lib/stdio_.h (vsprintf): New declaration.
33742         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
33743         REPLACE_VSPRINTF.
33744
33745 2007-03-06  Bruno Haible  <bruno@clisp.org>
33746
33747         * modules/vsnprintf (Depend-on): Remove minmax.
33748
33749 2007-03-06  Bruno Haible  <bruno@clisp.org>
33750
33751         * modules/snprintf-posix-tests: New file.
33752         * tests/test-snprintf-posix.c: New file.
33753
33754         * modules/snprintf-posix: New file.
33755         * m4/snprintf-posix.m4: New file.
33756         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
33757         gl_FUNC_SNPRINTF.
33758         (gl_FUNC_SNPRINTF): Invoke it.
33759         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
33760         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
33761         is set.
33762         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
33763
33764 2007-03-06  Bruno Haible  <bruno@clisp.org>
33765
33766         * modules/vsnprintf-posix-tests: New file.
33767         * tests/test-vsnprintf-posix.c: New file.
33768         * tests/test-snprintf-posix.h: New file.
33769
33770         * modules/vsnprintf-posix: New file.
33771         * m4/vsnprintf-posix.m4: New file.
33772         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
33773         gl_FUNC_VSNPRINTF.
33774         (gl_FUNC_VSNPRINTF): Invoke it.
33775         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
33776         * lib/stdio_.h (vsnprintf): Define as a replacement if
33777         REPLACE_VSNPRINTF is set.
33778         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
33779
33780 2007-03-06  Bruno Haible  <bruno@clisp.org>
33781
33782         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
33783         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
33784
33785 2007-03-06  Bruno Haible  <bruno@clisp.org>
33786
33787         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
33788         (asinl): Declare also if HAVE_DECL_ASINL is set.
33789         (atanl): Declare also if HAVE_DECL_ATANL is set.
33790         (ceill): Declare also if HAVE_DECL_CEILL is set.
33791         (cosl): Declare also if HAVE_DECL_COSL is set.
33792         (expl): Declare also if HAVE_DECL_EXPL is set.
33793         (floorl): Declare also if HAVE_DECL_FLOORL is set.
33794         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
33795         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
33796         (logl): Declare also if HAVE_DECL_LOGL is set.
33797         (sinl): Declare also if HAVE_DECL_SINL is set.
33798         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
33799         (tanl): Declare also if HAVE_DECL_TANL is set.
33800         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
33801         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
33802         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
33803         declaration of frexpl, ldexpl.
33804         * modules/printf-frexpl (Depends-on): Add math.
33805         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
33806
33807 2007-03-05  Bruno Haible  <bruno@clisp.org>
33808
33809         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
33810         frexpl and ldexpl are declared.
33811         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
33812
33813 2007-03-05  Bruno Haible  <bruno@clisp.org>
33814
33815         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
33816         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
33817
33818 2007-03-05  Bruno Haible  <bruno@clisp.org>
33819
33820         * lib/stdio_.h: Include <stddef.h>.
33821
33822 2007-03-05  Bruno Haible  <bruno@clisp.org>
33823
33824         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
33825
33826 2007-03-05  Bruno Haible  <bruno@clisp.org>
33827
33828         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
33829         NetBSD 4, from Ralf Wildenhues.
33830
33831 2007-03-04  Bruno Haible  <bruno@clisp.org>
33832
33833         * lib/vasprintf.h: Update #if logic for the case when the functions
33834         exist but are overridden.
33835
33836 2007-03-04  Bruno Haible  <bruno@clisp.org>
33837
33838         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
33839         implementations: glibc-2.4 and MacOS X 10.3.
33840         * tests/test-vasnprintf-posix.c (test_function): Test also the case
33841         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
33842         * tests/test-vasprintf-posix.c (test_function): Likewise.
33843
33844 2007-03-04  Bruno Haible  <bruno@clisp.org>
33845
33846         * modules/vasprintf-posix-tests: New file.
33847         * tests/test-vasprintf-posix.c: New file.
33848
33849         * modules/vasprintf-posix: New file.
33850         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
33851         defined.
33852         * m4/vasprintf-posix.m4: New file.
33853         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
33854         gl_FUNC_VASPRINTF.
33855         (gl_FUNC_VASPRINTF): Invoke it.
33856         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
33857         here.
33858         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
33859
33860 2007-03-04  Bruno Haible  <bruno@clisp.org>
33861
33862         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
33863         REPLACE_GETTIMEOFDAY.
33864         * modules/sys_time (Makefile.am): Likewise.
33865         * m4/sys_time_h.m4: Likewise.
33866         * m4/gettimeofday.m4: Likewise.
33867
33868 2007-03-04  Bruno Haible  <bruno@clisp.org>
33869
33870         * modules/vasnprintf-posix-tests: New file.
33871         * tests/test-vasnprintf-posix.c: New file.
33872
33873         * modules/vasnprintf-posix: New file.
33874         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
33875         printf-frexpl.h.
33876         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
33877         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
33878         REPLACE_VASNPRINTF is defined.
33879         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
33880         gl_FUNC_VASNPRINTF.
33881         (gl_FUNC_VASNPRINTF): Invoke it.
33882         * m4/vasnprintf-posix.m4: New file.
33883         * m4/printf.m4: New file.
33884
33885 2007-03-04  Bruno Haible  <bruno@clisp.org>
33886
33887         Compile progreloc.c only if --enable-relocatable is specified.
33888         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
33889         if --enable-relocatable was specified.
33890         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
33891         lib_SOURCES.
33892
33893 2007-03-04  Jim Meyering  <jim@meyering.net>
33894
33895         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
33896         Use it consistently, rather than enumerating errno constants.
33897
33898 2007-03-04  Bruno Haible  <bruno@clisp.org>
33899
33900         * modules/xvasprintf-tests: New file.
33901         * tests/test-xvasprintf.c: New file.
33902
33903         * modules/vasprintf-tests: New file.
33904         * tests/test-vasprintf.c: New file.
33905
33906         * modules/vasnprintf-tests: New file.
33907         * tests/test-vasnprintf.c: New file.
33908
33909         * modules/vsnprintf-tests: New file.
33910         * tests/test-vsnprintf.c: New file.
33911
33912         * modules/snprintf-tests: New file.
33913         * tests/test-snprintf.c: New file.
33914
33915 2007-03-04  Bruno Haible  <bruno@clisp.org>
33916
33917         Compile relocatable.c only if --enable-relocatable is specified.
33918         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
33919         gl_RELOCATABLE_LIBRARY.
33920         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
33921         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
33922         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
33923         gl_RELOCATABLE_LIBRARY.
33924         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
33925         (Makefile.am): Remove lib_SOURCES.
33926         * modules/relocatable-lib-lgpl (configure.ac): Invoke
33927         gl_RELOCATABLE_LIBRARY.
33928         (Makefile.am): Remove lib_SOURCES.
33929         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
33930         always.
33931         * modules/relocatable-prog-wrapper (configure.ac): Invoke
33932         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
33933
33934 2007-03-04  Bruno Haible  <bruno@clisp.org>
33935
33936         * modules/argmatch-tests: New file.
33937         * tests/test-argmatch.c: New file.
33938
33939         * tests/test-allocsa.c (main): Halve the number of loop runs.
33940
33941         * modules/alloca-opt-tests: New file.
33942         * tests/test-alloca-opt.c: New file.
33943
33944 2007-03-04  Jim Meyering  <jim@meyering.net>
33945
33946         Work around difference between Linux ACLs and Solaris 10 ZFS.
33947         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
33948         for EINVAL.
33949
33950 2007-03-03  Bruno Haible  <bruno@clisp.org>
33951
33952         * modules/relocatable-prog (Depends-on): Add back progreloc's
33953         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
33954
33955 2007-03-03  Bruno Haible  <bruno@clisp.org>
33956
33957         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
33958         * modules/relocatable-lib: New file.
33959
33960 2007-03-03  Bruno Haible  <bruno@clisp.org>
33961
33962         * modules/relocatable-prog: Renamed from modules/relocatable.
33963         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
33964
33965 2007-03-03  Bruno Haible  <bruno@clisp.org>
33966
33967         * modules/relocatable-script (Files): Add doc/relocatable.texi,
33968         m4/relocatable-lib.m4.
33969         (Depends-on): Remove 'relocatable'.
33970         (configure.ac): Add gl_RELOCATABLE_NOP.
33971
33972 2007-03-03  Bruno Haible  <bruno@clisp.org>
33973
33974         * modules/relocatable-prog-wrapper: New file.
33975         * modules/relocatable (Depends-on): Add it. Remove all other
33976         dependencies except progname.
33977         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
33978
33979         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
33980         (gl_FUNC_STRERROR): Nop.
33981         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
33982
33983         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
33984         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
33985
33986         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
33987         (gl_FUNC_READLINK): Update.
33988
33989         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
33990
33991 2007-03-03  Bruno Haible  <bruno@clisp.org>
33992
33993         * lib/xreadlink.c: Include <unistd.h> unconditionally.
33994         * modules/xreadlink (Depends-on): Add unistd.
33995         * modules/xreadlink-with-size (Depends-on): Likewise.
33996
33997 2007-03-03  Bruno Haible  <bruno@clisp.org>
33998
33999         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
34000         extracted from gt_FUNC_SETENV.
34001         (gt_FUNC_SETENV): Remove macro.
34002         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
34003         remove gt_FUNC_SETENV.
34004
34005 2007-03-03  Bruno Haible  <bruno@clisp.org>
34006
34007         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
34008         ENABLE_RELOCATABLE here.
34009         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
34010
34011 2007-03-03  Bruno Haible  <bruno@clisp.org>
34012
34013         * modules/rbtreehash-list-tests (Depends-on): Add progname.
34014         * tests/test-rbtreehash_list.c: Include progname.h.
34015         (main): Call set_program_name.
34016
34017         * modules/rbtree-oset-tests (Depends-on): Add progname.
34018         * tests/test-rbtree_oset.c: Include progname.h.
34019         (main): Call set_program_name.
34020
34021         * modules/rbtree-list-tests (Depends-on): Add progname.
34022         * tests/test-rbtree_list.c: Include progname.h.
34023         (main): Call set_program_name.
34024
34025         * modules/linked-list-tests (Depends-on): Add progname.
34026         * tests/test-linked_list.c: Include progname.h.
34027         (main): Call set_program_name.
34028
34029 2007-03-03  Bruno Haible  <bruno@clisp.org>
34030
34031         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
34032         All uses of __restrict changed to _Restrict_.
34033         * lib/glob_.h (__restrict): Remove macro.
34034
34035 2007-03-02  Bruno Haible  <bruno@clisp.org>
34036
34037         * modules/gettext (configure.ac): Require gettext infrastructure
34038         from version 0.16.1.
34039
34040 2007-03-02  Bruno Haible  <bruno@clisp.org>
34041
34042         * modules/linkedhash-list-tests (Depends-on): Add progname.
34043         * tests/test-linkedhash_list.c: Include progname.h.
34044         (main): Call set_program_name.
34045
34046         * modules/carray-list-tests (Depends-on): Add progname.
34047         * tests/test-carray_list.c: Include progname.h.
34048         (main): Call set_program_name.
34049
34050         * modules/avltreehash-list-tests (Depends-on): Add progname.
34051         * tests/test-avltreehash_list.c: Include progname.h.
34052         (main): Call set_program_name.
34053
34054         * modules/avltree-oset-tests (Depends-on): Add progname.
34055         * tests/test-avltree_oset.c: Include progname.h.
34056         (main): Call set_program_name.
34057
34058         * modules/avltree-list-tests (Depends-on): Add progname.
34059         * tests/test-avltree_list.c: Include progname.h.
34060         (main): Call set_program_name.
34061
34062         * modules/array-oset-tests (Depends-on): Add progname.
34063         * tests/test-array_oset.c: Include progname.h.
34064         (main): Call set_program_name.
34065
34066         * modules/array-list-tests (Depends-on): Add progname.
34067         * tests/test-array_list.c: Include progname.h.
34068         (main): Call set_program_name.
34069
34070         * modules/argp-tests (Depends-on): Add progname.
34071         * tests/test-argp.c: Include argp.h first. Include progname.h.
34072         (main): Call set_program_name.
34073
34074 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
34075
34076         * doc/gnulib-tool.texi (Initial import): Reword description of
34077         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
34078         limited effect even if defined after the first system include.
34079
34080 2007-03-01  Bruno Haible  <bruno@clisp.org>
34081
34082         * build-aux/config.libpath: Update to libtool-1.5.22.
34083         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
34084
34085 2007-03-01  Bruno Haible  <bruno@clisp.org>
34086
34087         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
34088         foo_CFLAGS.
34089         Reported by Ralf Wildenhues.
34090
34091 2007-03-01  Bruno Haible  <bruno@clisp.org>
34092
34093         * build-aux/install-reloc: Remove object files left over by some
34094         compilers.
34095         Reported by Ralf Wildenhues.
34096
34097 2007-03-01  Bruno Haible  <bruno@clisp.org>
34098
34099         * build-aux/install-reloc: Break long lines.
34100
34101 2007-03-01  Bruno Haible  <bruno@clisp.org>
34102
34103         * doc/relocatable.texi: Document that it may not work on OpenBSD.
34104         Reported by Ralf Wildenhues.
34105
34106 2007-03-01  Bruno Haible  <bruno@clisp.org>
34107
34108         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
34109         include ordering constraints.
34110
34111 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
34112
34113         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
34114         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
34115         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
34116         as another example.
34117         * lib/time_.h: Fix misspelling.
34118         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
34119         Require gl_HEADER_TIME_H_DEFAULTS.
34120         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
34121         * m4/time_r.m4 (gl_TIME_R): Likewise.
34122         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
34123
34124 2007-03-01  Bruno Haible  <bruno@clisp.org>
34125
34126         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
34127         * m4/utimens.m4 (gl_UTIMENS): Likewise.
34128
34129 2007-03-01  Jim Meyering  <jim@meyering.net>
34130
34131         * modules/xreadlink (Maintainer): Add my name.
34132         * modules/xreadlink-with-size (Depends-on): Alphabetize.
34133
34134 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
34135             Bruno Haible  <bruno@clisp.org>
34136
34137         * build-aux/install-reloc: Compile also c-ctype.c.
34138         * build-aux/relocatable.sh.in: New file.
34139         * doc/relocatable.texi: New file.
34140         * doc/relocatable-maint.texi: New file.
34141         * doc/gnulib.texi: Include relocatable-maint.texi.
34142         * lib/progreloc.c: Include unistd.h unconditionally.
34143         * lib/relocwrapper.c: Include unistd.h unconditionally.
34144         Include c-ctype.h.
34145         (add_dotbin): Use c_tolower.
34146         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
34147         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
34148         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
34149         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
34150         to m4/relocatable-lib.m4.
34151         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
34152         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
34153         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
34154         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
34155         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
34156         * modules/relocatable: New file.
34157         * modules/relocatable-lib: New file.
34158         * modules/relocatable-script: New file.
34159
34160 2007-02-28  Bruno Haible  <bruno@clisp.org>
34161
34162         Import --enable-relocatable infrastructure.
34163         * build-aux/config.libpath: New file, from GNU gettext.
34164         * build-aux/install-reloc: New file, from GNU gettext.
34165         * build-aux/reloc-ldflags: New file, from GNU gettext.
34166         * lib/relocatable.h: New file, from GNU gettext.
34167         * lib/relocatable.c: New file, from GNU gettext.
34168         * lib/relocwrapper.c: New file, from GNU gettext.
34169         * m4/relocatable.m4: New file, from GNU gettext.
34170
34171 2007-02-28  Bruno Haible  <bruno@clisp.org>
34172
34173         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
34174
34175         * modules/xreadlink: New file, from GNU gettext with modifications.
34176         * lib/xreadlink.c: New file, from GNU gettext.
34177         * lib/xreadlink.h: Add comments.
34178         (xreadlink): New declaration.
34179
34180         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
34181         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
34182         lib/xreadlink-with-size.c.
34183         (configure.ac): Remove gl_XREADLINK invocation.
34184         (Makefile.am): Augment lib_SOURCES.
34185         * m4/xreadlink.m4: Remove file.
34186         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
34187         (xreadlink_with_size): Renamed from xreadink.
34188         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
34189         * modules/canonicalize (Depends-on): Replace xreadlink with
34190         xreadlink-with-size.
34191         * lib/canonicalize.c (canonicalize_filename_mode): Update.
34192
34193 2007-02-25  Jim Meyering  <jim@meyering.net>
34194
34195         * build-aux/announce-gen: When complaining about excess arguments,
34196         list them.
34197
34198 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
34199
34200         * README: Document signed integer overflow situation more
34201         accurately.
34202
34203 2007-02-25  Bruno Haible  <bruno@clisp.org>
34204
34205         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
34206         'a' or 'A' conversion.
34207
34208 2007-02-25  Bruno Haible  <bruno@clisp.org>
34209
34210         * modules/filename: Renamed from modules/pathname.
34211         (Files): Replace lib/pathname.h with lib/filename.h. Replace
34212         lib/concatpath.c with lib/concat-filename.c.
34213         (Makefile.am): Update.
34214         (Include): Replace pathname.h with filename.h.
34215         * lib/filename.h: Renamed from lib/pathname.h.
34216         (concatenated_filename): Renamed from concatenated_pathname.
34217         * lib/concat-filename.c: Renamed from lib/concatpath.c.
34218         (concatenated_filename): Renamed from concatenated_pathname.
34219         * lib/findprog.c: Include filename.h instead of pathname.h.
34220         (find_in_path): Update.
34221         * lib/javacomp.c: Include filename.h instead of pathname.h.
34222         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
34223         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
34224         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
34225         is_oldgcj_14_13_usable, is_javac_usable): Update.
34226         * lib/javaexec.c: Include filename.h instead of pathname.h.
34227         (execute_java_class): Update.
34228         * modules/findprog: Update.
34229         * modules/javacomp: Update.
34230         * modules/javaexec: Update.
34231         * MODULES.html.sh (File system functions): Add 'filename', remove
34232         'pathname'.
34233
34234 2007-02-25  Bruno Haible  <bruno@clisp.org>
34235
34236         * modules/printf-frexpl-tests: New file.
34237         * tests/test-printf-frexpl.c: New file.
34238
34239         * modules/printf-frexpl: New file.
34240         * lib/printf-frexpl.h: New file.
34241         * lib/printf-frexpl.c: New file.
34242         * m4/printf-frexpl.m4: New file.
34243
34244 2007-02-25  Bruno Haible  <bruno@clisp.org>
34245
34246         * modules/printf-frexp-tests: New file.
34247         * tests/test-printf-frexp.c: New file.
34248
34249         * modules/printf-frexp: New file.
34250         * lib/printf-frexp.h: New file.
34251         * lib/printf-frexp.c: New file.
34252         * m4/printf-frexp.m4: New file.
34253
34254 2007-02-25  Bruno Haible  <bruno@clisp.org>
34255
34256         Assume automake >= 1.10 for the tests.
34257         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
34258         * modules/arctwo-tests: Likewise.
34259         * modules/argp-tests: Likewise.
34260         * modules/avltree-list-tests: Likewise.
34261         * modules/avltree-oset-tests: Likewise.
34262         * modules/avltreehash-list-tests: Likewise.
34263         * modules/carray-list-tests: Likewise.
34264         * modules/crc-tests: Likewise.
34265         * modules/des-tests: Likewise.
34266         * modules/gc-arcfour-tests: Likewise.
34267         * modules/gc-arctwo-tests: Likewise.
34268         * modules/gc-des-tests: Likewise.
34269         * modules/gc-hmac-md5-tests: Likewise.
34270         * modules/gc-hmac-sha1-tests: Likewise.
34271         * modules/gc-md2-tests: Likewise.
34272         * modules/gc-md4-tests: Likewise.
34273         * modules/gc-md5-tests: Likewise.
34274         * modules/gc-pbkdf2-sha1-tests: Likewise.
34275         * modules/gc-rijndael-tests: Likewise.
34276         * modules/gc-sha1-tests: Likewise.
34277         * modules/gc-tests: Likewise.
34278         * modules/getaddrinfo-tests: Likewise.
34279         * modules/hmac-md5-tests: Likewise.
34280         * modules/hmac-sha1-tests: Likewise.
34281         * modules/linked-list-tests: Likewise.
34282         * modules/linkedhash-list-tests: Likewise.
34283         * modules/lock-tests: Likewise.
34284         * modules/md2-tests: Likewise.
34285         * modules/md4-tests: Likewise.
34286         * modules/md5-tests: Likewise.
34287         * modules/rbtree-list-tests: Likewise.
34288         * modules/rbtree-oset-tests: Likewise.
34289         * modules/rbtreehash-list-tests: Likewise.
34290         * modules/read-file-tests: Likewise.
34291         * modules/rijndael-tests: Likewise.
34292         * modules/stdint-tests: Likewise.
34293         * modules/tls-tests: Likewise.
34294
34295 2007-02-24  Bruno Haible  <bruno@clisp.org>
34296
34297         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
34298         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
34299         function; instead check whether isnan with a double argument links.
34300         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
34301         function; instead check whether isnan with a 'long double' argument
34302         links.
34303         Reported by Eric Blake <ebb9@byu.net>.
34304
34305 2007-02-24  Bruno Haible  <bruno@clisp.org>
34306
34307         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
34308         defined.
34309         * lib/isnanl.c: Remove all code. Just include isnan.c.
34310         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
34311
34312 2007-02-25  Jim Meyering  <jim@meyering.net>
34313
34314         Avoid conflicting types for 'unsetenv' on FreeBSD.
34315         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
34316         conflicting with FreeBSD's (5.0 and 6.1) function declaration
34317         in stdlib.h.
34318
34319 2007-02-24  Bruno Haible  <bruno@clisp.org>
34320
34321         * modules/isnanl-nolibm-tests: New file.
34322         * tests/test-isnanl.c: New file.
34323
34324         * modules/isnanl-nolibm: New file.
34325         * lib/isnanl.h: New file.
34326         * lib/isnanl.c: New file.
34327         * m4/isnanl.m4: New file.
34328
34329 2007-02-24  Bruno Haible  <bruno@clisp.org>
34330
34331         * modules/isnan-nolibm-tests: New file.
34332         * tests/test-isnan.c: New file.
34333
34334         * modules/isnan-nolibm: New file.
34335         * lib/isnan.h: New file.
34336         * lib/isnan.c: New file.
34337         * m4/isnan.m4: New file.
34338
34339 2007-02-24  Bruno Haible  <bruno@clisp.org>
34340
34341         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
34342         assume that an exponent fits in 20 bits.
34343
34344 2007-02-24  Jim Meyering  <jim@meyering.net>
34345
34346         * m4/regex.m4: Update the description of the configure-time option,
34347         --without-included-regex, to state accurately what the defaults are,
34348         and perhaps to give people an idea why using this option is risky.
34349
34350 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
34351
34352         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
34353         loops on small arguments.  This attempts to avoid the problem
34354         Bruno Haible reported for AIX 4.3.2 in
34355         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
34356
34357 2007-02-23  Bruno Haible  <bruno@clisp.org>
34358
34359         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
34360         Needed for help2man.
34361
34362 2007-02-23  Karl Berry  <karl@gnu.org>
34363
34364         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
34365         exists, foo.h should be cvs-ignored, not committed.
34366
34367 2007-02-23  Eric Blake  <ebb9@byu.net>
34368
34369         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
34370         * lib/stat-time.h (includes): Likewise.
34371         * lib/utimecmp.c (includes): Likewise.
34372         * lib/utimens.h (includes): Likewise.
34373         * lib/getdate.y (includes): Also include "timespec.h" for use
34374         internal to the module.
34375         * modules/utimens (Depends-on): Revert yesterday's patch.
34376         * modules/nanosleep (Depends-on): Add missing dependency.
34377
34378 2007-02-22  Bruno Haible  <bruno@clisp.org>
34379
34380         * lib/glob.c: Don't include getlogin_r.h.
34381
34382 2007-02-22  Jim Meyering  <jim@meyering.net>
34383
34384         * modules/utimens (Depends-on): Add timespec, required for
34385         utimens.h's inclusion of timespec.h.
34386
34387 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
34388
34389         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
34390         long unreadable paths in GNU/Linux.  Problem reported by Andreas
34391         Schwab in
34392         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
34393         I'll try to think of a better way to fix the Solaris problem.
34394
34395         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
34396         like glibc; on Solaris 10, it fails with errno == EINVAL.
34397         POSIX says the behavior is unspecified if the first argument is NULL,
34398         so play it safe and never pass NULL to the system getcwd.
34399
34400 2007-02-21  Jim Meyering  <jim@meyering.net>
34401
34402         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
34403         of gettimeofday.  It would conflict with the one now always
34404         provided via sys_time_.h.  Reported by Matthew Woehlke, as
34405         an IRIX 6.5 build failure.
34406
34407 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
34408
34409         Minor fixups to port to Solaris 10 with Sun C 5.8.
34410         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
34411         * modules/getcwd (Depends-on): Add dirfd.
34412         * lib/putenv.c (putenv): #undef it.
34413         (rpl_putenv): New decl.
34414         (malloc, free): Include <stdlib.h> rather than prototyping separately.
34415
34416 2007-02-20  Bruno Haible  <bruno@clisp.org>
34417
34418         * modules/stdio-tests: New file.
34419         * tests/test-stdio.c: New file.
34420
34421         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
34422         (Depends-on): Add stdio.
34423         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
34424         (Include): Use <stdio.h> instead of vsnprintf.h.
34425         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
34426         HAVE_DECL_VSNPRINTF.
34427         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
34428
34429         * modules/snprintf (Files): Remove lib/snprintf.h.
34430         (Depends-on): Add stdio.
34431         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
34432         (Include): Use <stdio.h> instead of snprintf.h.
34433         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
34434         HAVE_DECL_SNPRINTF.
34435         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
34436         * lib/getaddrinfo.c: Likewise.
34437
34438         * modules/stdio: New file.
34439         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
34440         * lib/snprintf.h: Remove file.
34441         * lib/vsnprintf.h: Remove file.
34442         * lib/.cppi-disable: Remove snprintf.h.
34443         * m4/stdio_h.m4: New file.
34444         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
34445
34446 2007-02-20  Jim Meyering  <jim@meyering.net>
34447
34448         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
34449         used by e.g., mingw.  From Bruno Haible.
34450
34451 2007-02-19  Bruno Haible  <bruno@clisp.org>
34452
34453         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
34454         warnings.
34455         Reported by Ben Pfaff <blp@cs.stanford.edu>.
34456
34457 2007-02-19  Bruno Haible  <bruno@clisp.org>
34458
34459         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
34460         from mingw users.
34461
34462 2007-02-19  Bruno Haible  <bruno@clisp.org>
34463
34464         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
34465         warnings.
34466         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
34467
34468 2007-02-19  Jim Meyering  <jim@meyering.net>
34469
34470         Don't use FD after a successful "fdopendir (fd)".
34471         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
34472         Reset it by calling dirfd on the just-obtained DIR*.
34473
34474         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
34475         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
34476
34477 2007-02-18  Bruno Haible  <bruno@clisp.org>
34478
34479         * lib/readlink.c: Include <unistd.h>.
34480         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
34481         HAVE_READLINK.
34482         * modules/readlink (Depends-on): Add unistd.
34483         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34484         (Include): Add <unistd.h>.
34485
34486         * lib/getlogin_r.h: Remove file.
34487         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
34488         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
34489         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
34490         HAVE_DECL_GETLOGIN_R.
34491         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
34492         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34493         (Include): Use <unistd.h> instead of getlogin_r.h.
34494
34495         * lib/getcwd.h: Remove file.
34496         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
34497         * lib/xgetcwd.c: Likewise.
34498         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
34499         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
34500         * modules/getcwd (Files): Remove lib/getcwd.h.
34501         (Depends-on): Add unistd.
34502         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34503         (Include): Use <unistd.h> instad of getcwd.h.
34504
34505         * lib/ftruncate.c: Include <unistd.h> first.
34506         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
34507         Set HAVE_FTRUNCATE.
34508         * modules/ftruncate (Depends-on): Add unistd.
34509         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34510
34511         * lib/fchdir.c: Include <unistd.h> first.
34512         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
34513         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
34514         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
34515         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34516         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
34517
34518         * lib/dup2.c: Include <unistd.h> first.
34519         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
34520         HAVE_DUP2.
34521         * modules/dup2 (Depends-on): Add unistd.
34522         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34523
34524         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
34525         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
34526         REPLACE_CHOWN. Don't define chown as a macro here.
34527         * modules/chown (Depends-on): Add unistd.
34528         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34529
34530         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
34531         Add definition for GL_LINK_WARNING.
34532         (chown, dup2): New declarations.
34533         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
34534         link warning.
34535         (ftruncate): New declaration.
34536         (getcwd): New declaration, taken from old getcwd.h.
34537         (getlogin_r): New declaration, taken from old getlogin_r.h.
34538         (readlink): New declaration.
34539         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
34540         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
34541         (gl_PREREQ_UNISTD): Remove macro.
34542         (gl_UNISTD_MODULE_INDICATOR): New macro.
34543         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
34544         many new variables. Don't set UNISTD_H.
34545         * modules/unistd (Description): Change.
34546         (Depends-on): Add link-warning.
34547         (configure.ac): Update.
34548         (Makefile.am): Create unistd.h always. Substitute many new variables
34549         into it.
34550
34551 2007-02-18  Bruno Haible  <bruno@clisp.org>
34552
34553         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
34554         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
34555         HAVE_GETSUBOPT.
34556         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
34557         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
34558         * lib/getsubopt.h: Remove file.
34559         * modules/getsubopt (Files): Remove lib/getsubopt.h.
34560         (Depends-on): Add stdlib.
34561         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
34562         (Includes): Use <stdlib.h> instead of getsubopt.h.
34563         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
34564         Set HAVE_GETSUBOPT.
34565         * lib/getsubopt.c: Don't include getsubopt.h.
34566
34567 2007-02-18  Bruno Haible  <bruno@clisp.org>
34568
34569         * modules/fchdir (Depends-on): Add dup2.
34570
34571 2007-02-18  Bruno Haible  <bruno@clisp.org>
34572
34573         * lib/stdlib_.h: Handle glibc's special invocation convention
34574         specially.
34575
34576 2007-02-18  Bruno Haible  <bruno@clisp.org>
34577
34578         * modules/stdlib-tests: New file.
34579         * tests/test-stdlib.c: New file.
34580
34581         * modules/mkstemp (Files): Remove lib/mkstemp.h.
34582         (Depends-on): Add stdlib.
34583         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
34584         (Includes): Use <stdlib.h> instead of mkstemp.h.
34585         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
34586         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
34587         * lib/mkstemp.c: Don't include mkstemp.h.
34588         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
34589         * lib/stdlib--.h: Don't include mkstemp.h.
34590
34591         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
34592         (Depends-on): Add stdlib.
34593         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
34594         (Includes): Use <stdlib.h> instead of mkdtemp.h.
34595         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
34596         HAVE_MKDTEMP.
34597         * lib/mkdtemp.c: Don't include mkdtemp.h.
34598         * lib/clean-temp.c: Don't include mkdtemp.h.
34599
34600         * modules/exit (Files): Remove lib/exit.h.
34601         (Depends-on): Add stdlib.
34602         (Makefile.am): Remove lib_SOURCES.
34603         (Include): Use <stdlib.h> instead of exit.h.
34604         * lib/argmatch.c: Don't include exit.h.
34605         * lib/execute.c: Likewise.
34606         * lib/pagealign_alloc.c: Likewise.
34607         * lib/pipe.c: Likewise.
34608         * lib/wait-process.c: Likewise.
34609         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
34610         * lib/exitfail.c: Likewise.
34611         * lib/savewd.c: Likewise.
34612         * lib/xsetenv.c: Likewise.
34613
34614         * modules/stdlib: New file.
34615         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
34616         and extra comments about mkstemp().
34617         * lib/exit.h: Remove file.
34618         * lib/mkdtemp.h: Remove file.
34619         * lib/mkstemp.h: Remove file.
34620         * m4/stdlib_h.m4: New file.
34621         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
34622
34623 2007-02-18  Bruno Haible  <bruno@clisp.org>
34624
34625         * modules/math-tests: New file.
34626         * tests/test-math.c: New file.
34627
34628         * modules/math: New file.
34629         * modules/mathl (Files): Remove lib/mathl.h.
34630         (Depends-on): Add math.
34631         (Makefile.am): Don't mention mathl.h.
34632         (Include): Use <math.h> instead of mathl.h.
34633         * lib/math_.h: New file.
34634         * lib/mathl.h: Remove file.
34635         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
34636         mathl.h.
34637         * lib/asinl.c: Likewise.
34638         * lib/atanl.c: Likewise.
34639         * lib/ceill.c: Likewise.
34640         * lib/cosl.c: Likewise.
34641         * lib/expl.c: Likewise.
34642         * lib/floorl.c: Likewise.
34643         * lib/frexpl.c: Likewise.
34644         * lib/ldexpl.c: Likewise.
34645         * lib/logl.c: Likewise.
34646         * lib/sincosl.c: Likewise.
34647         * lib/sinl.c: Likewise.
34648         * lib/sqrtl.c: Likewise.
34649         * lib/tanl.c: Likewise.
34650         * lib/trigl.c: Likewise.
34651         * m4/math_h.m4: New file.
34652         * MODULES.html.sh (Mathematics): Add math.
34653
34654 2007-02-17  Bruno Haible  <bruno@clisp.org>
34655
34656         * modules/wctype-tests: New file.
34657         * tests/test-wctype.c: New file.
34658
34659         * modules/wchar-tests: New file.
34660         * tests/test-wchar.c: New file.
34661
34662         * modules/unistd-tests: New file.
34663         * tests/test-unistd.c: New file.
34664
34665         * modules/time-tests: New file.
34666         * tests/test-time.c: New file.
34667
34668         * modules/sysexits-tests: New file.
34669         * tests/test-sysexits.c: New file.
34670
34671         * modules/sys_time-tests: New file.
34672         * tests/test-sys_time.c: New file.
34673
34674         * modules/sys_stat-tests: New file.
34675         * tests/test-sys_stat.c: New file.
34676
34677         * modules/sys_socket-tests: New file.
34678         * tests/test-sys_socket.c: New file.
34679
34680         * modules/sys_select-tests: New file.
34681         * tests/test-sys_select.c: New file.
34682
34683         * modules/string-tests: New file.
34684         * tests/test-string.c: New file.
34685
34686         * modules/stdbool-tests: New file.
34687         * tests/test-stdbool.c: New file.
34688
34689         * modules/netinet_in-tests: New file.
34690         * tests/test-netinet_in.c: New file.
34691
34692         * modules/inttypes-tests: New file.
34693         * tests/test-inttypes.c: New file.
34694
34695         * modules/fcntl-tests: New file.
34696         * tests/test-fcntl.c: New file.
34697
34698         * modules/byteswap-tests: New file.
34699         * tests/test-byteswap.c: New file.
34700
34701         * modules/arpa_inet-tests: New file.
34702         * tests/test-arpa_inet.c: New file.
34703
34704 2007-02-17  Bruno Haible  <bruno@clisp.org>
34705
34706         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
34707         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
34708         if the corresponding module is not enabled. Emit link warnings if
34709         the function is used nevertheless.
34710         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
34711         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
34712         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
34713         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
34714         * modules/inttypes (Depends-on): Add link-warning.
34715         (Makefile.am): Copy the contents of build-aux/link-warning.h into
34716         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
34717         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
34718         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
34719         * modules/imaxdiv (configure.ac): Likewise.
34720         * modules/strtoimax (configure.ac): Likewise.
34721         * modules/strtoumax (configure.ac): Likewise.
34722
34723 2007-02-17  Bruno Haible  <bruno@clisp.org>
34724
34725         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
34726         gl_STRING_MODULE_INDICATOR_DEFAULTS.
34727         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
34728         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
34729
34730 2007-02-17  Bruno Haible  <bruno@clisp.org>
34731
34732         * modules/link-warning: New file.
34733         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
34734         * lib/string_.h (GL_LINK_WARNING): Remove definition.
34735         * modules/string (Depends-on): Add link-warning.
34736         (Makefile.am): Copy the contents of build-aux/link-warning.h into
34737         string.h.
34738         * MODULES.html.sh (Support for building libraries and executables): Add
34739         link-warning.
34740
34741 2007-02-17  Bruno Haible  <bruno@clisp.org>
34742
34743         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
34744         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
34745         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
34746         long lines.
34747
34748 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
34749             Bruno Haible  <bruno@clisp.org>
34750
34751         * modules/tmpfile: New file.
34752         * lib/tmpfile.c: New file.
34753         * m4/tmpfile.m4: New file.
34754         * MODULES.html.sh (func_all_modules): New section "Input/output".
34755
34756 2007-02-15  Bruno Haible  <bruno@clisp.org>
34757
34758         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
34759         (supports_delete_on_close): New function.
34760         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
34761
34762 2007-02-14  Bruno Haible  <bruno@clisp.org>
34763
34764         * modules/mbspcasecmp-tests: New file.
34765         * tests/test-mbspcasecmp.sh: New file.
34766         * tests/test-mbspcasecmp.c: New file.
34767
34768         New module mbspcasecmp.
34769         * modules/mbspcasecmp: New file.
34770         * lib/mbspcasecmp.c: New file.
34771         * lib/string_.h (strncasecmp): Change warning message.
34772         (mbspcasecmp): New declaration.
34773         * m4/mbspcasecmp.m4: New file.
34774         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
34775         GNULIB_MBSPCASECMP.
34776         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
34777         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
34778
34779 2007-02-14  Bruno Haible  <bruno@clisp.org>
34780
34781         * modules/mbsncasecmp-tests: New file.
34782         * tests/test-mbsncasecmp.sh: New file.
34783         * tests/test-mbsncasecmp.c: New file.
34784
34785         New module mbsncasecmp.
34786         * modules/mbsncasecmp: New file.
34787         * lib/mbsncasecmp.c: New file.
34788         * lib/string_.h (mbsncasecmp): New declaration.
34789         * m4/mbsncasecmp.m4: New file.
34790         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
34791         GNULIB_MBSNCASECMP.
34792         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
34793         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
34794
34795 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
34796
34797         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
34798         Verify that it doesn't overlap with our flags.
34799         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
34800         do not have the desired effect in multibyte locales; instead, use
34801         mbscasecmp.
34802         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
34803         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
34804         we don't require GNU fnmatch ourselves (if our users require it, they
34805         should do so explicitly).
34806
34807         Fix regex code so it doesn't rely on strcasecmp.
34808         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
34809         Otherwise, include gnulib's langinfo.h.
34810         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
34811         undesirable behavior in non-C locales.  Instead, rely on localecharset.
34812         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
34813         * modules/regex (FILES): Remove m4/codeset.m4.
34814         (Depends-on): Add localcharset.  Remove strcase.
34815
34816 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34817
34818         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
34819         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
34820
34821 2007-02-13  Bruno Haible  <bruno@clisp.org>
34822
34823         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
34824         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34825
34826 2007-02-12  Bruno Haible  <bruno@clisp.org>
34827
34828         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
34829         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
34830         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
34831         time warning rather than a link error.
34832
34833 2007-02-12  Bruno Haible  <bruno@clisp.org>
34834
34835         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
34836         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
34837         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34838
34839 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
34840
34841         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
34842         args, not 2.
34843
34844 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
34845
34846         New module 'time', so that apps can include <time.h> as per
34847         POSIX and GNU instead of separate include files like time_r.h
34848         and timegm.h.  This implementation tries out a simpler approach
34849         for replacing decls in standard include files (as compared to
34850         the string module), somewhat as an experiment.
34851
34852         * config/srclist.txt: Comment out mktime.c for now.
34853         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
34854         since it doesn't apply any more.  Use generic wording instead.
34855         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
34856         'time'.
34857         * lib/time_.h, m4/time_h.m4, modules/time: New files.
34858         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
34859         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
34860         Don't include <sys/types.h>; no longer needed since we assume C89.
34861         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
34862         * lib/strftime.c: Likewise.
34863         * lib/time_r.c: Likewise.
34864         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
34865         * lib/nanosleep.c: Include <time.h> first, to check interface.
34866         * lib/strptime.c: Likewise.
34867         * lib/time_r.c: Likewise.
34868         * lib/timegm.c: Likewise.
34869         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
34870         needed.
34871         * lib/timegm.c: Don't include timegm.h; no longer needed.
34872         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
34873         time.h now handles any problems in that area.
34874         (struct timespec, nanosleep): Remove; time.h now arranges for these.
34875         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
34876         that time.h defines struct timespec.
34877         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
34878         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
34879         handles that.
34880         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
34881         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
34882         needed.  Set REPLACE_LOCALTIME.
34883         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
34884         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
34885         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
34886         nanosleep; time_h.m4 now does that.  Don't require
34887         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
34888         module handles this now.
34889         * modules/getdate (Depends-on): Remove timespec.  Add time.
34890         * modules/nanosleep (Depends-on): Likewise.
34891         * modules/stat-time (Depends-on): Likewise.
34892         * modules/nanosleep (Include): Include time.h, not timespec.h.
34893         * modules/strptime (Files): Remove lib/strptime.h.
34894         (Depends-on): Add extensions, time.
34895         (Include): Include time.h, not strptime.h.
34896         * modules/time_r (Files): Remove lib/time_r.h.
34897         (Depends-on): Add time.
34898         (Include): Include time.h, not time_r.h.
34899         * modules/timegm: Likewise.
34900         * modules/timespec (Description): Now does timespec-related decls
34901         of our own, instead of struct timespec itself.
34902         (Depends-on): Add time; remove extensions.
34903         (Maintainer): Add self.
34904         * modules/utimecmp (Depends-on): Add time; remove timespec.
34905         * modules/utimens (Depends-on): Likewise.
34906         * modules/xnanosleep (Depends-on): Likewise.
34907
34908 2007-02-11  Bruno Haible  <bruno@clisp.org>
34909
34910         * lib/c-strstr.c: Include allocsa.h.
34911         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
34912         * lib/c-strcasestr.c: Include allocsa.h.
34913         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
34914         * lib/strcasestr.c: Include allocsa.h.
34915         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
34916         * lib/mbsstr.c: Include allocsa.h.
34917         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
34918         allocsa/freesa instead of malloc/free.
34919         * lib/mbscasestr.c: Include allocsa.h.
34920         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
34921         allocsa/freesa instead of malloc/free.
34922         * modules/c-strstr (Depends-on): Add allocsa.
34923         * modules/c-strcasestr (Depends-on): Likewise.
34924         * modules/strcasestr (Depends-on): Likewise.
34925         * modules/mbsstr (Depends-on): Likewise.
34926         * modules/mbscasestr (Depends-on): Likewise.
34927
34928 2007-02-11  Bruno Haible  <bruno@clisp.org>
34929
34930         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
34931
34932         * modules/mbsspn-tests: New file.
34933         * tests/test-mbsspn.sh: New file.
34934         * tests/test-mbsspn.c: New file.
34935
34936 2007-02-11  Bruno Haible  <bruno@clisp.org>
34937
34938         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
34939
34940         * modules/mbspbrk-tests: New file.
34941         * tests/test-mbspbrk.sh: New file.
34942         * tests/test-mbspbrk.c: New file.
34943
34944 2007-02-11  Bruno Haible  <bruno@clisp.org>
34945
34946         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
34947         unneeded cast.
34948
34949         * modules/mbscspn-tests: New file.
34950         * tests/test-mbscspn.sh: New file.
34951         * tests/test-mbscspn.c: New file.
34952
34953 2007-02-11  Bruno Haible  <bruno@clisp.org>
34954
34955         * modules/mbscasecmp-tests: New file.
34956         * tests/test-mbscasecmp.sh: New file.
34957         * tests/test-mbscasecmp.c: New file.
34958
34959 2007-02-11  Bruno Haible  <bruno@clisp.org>
34960
34961         Ensure O(n) worst-case complexity of mbscasestr.
34962         * lib/mbscasestr.c: Include stdbool.h.
34963         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
34964         functions.
34965         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
34966         the bookkeeping indicates that it's worth it.
34967         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
34968
34969         * modules/mbscasestr-tests: New file.
34970         * tests/test-mbscasestr1.c: New file.
34971         * tests/test-mbscasestr2.sh: New file.
34972         * tests/test-mbscasestr2.c: New file.
34973         * tests/test-mbscasestr3.sh: New file.
34974         * tests/test-mbscasestr3.c: New file.
34975         * tests/test-mbscasestr4.sh: New file.
34976         * tests/test-mbscasestr4.c: New file.
34977         * m4/locale-tr.m4: New file.
34978
34979 2007-02-11  Bruno Haible  <bruno@clisp.org>
34980
34981         Ensure O(n) worst-case complexity of mbsstr.
34982         * lib/mbsstr.c: Include stdbool.h.
34983         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
34984         functions.
34985         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
34986         bookkeeping indicates that it's worth it.
34987         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
34988
34989         * modules/mbsstr-tests: New file.
34990         * tests/test-mbsstr1.c: New file.
34991         * tests/test-mbsstr2.sh: New file.
34992         * tests/test-mbsstr2.c: New file.
34993         * tests/test-mbsstr3.sh: New file.
34994         * tests/test-mbsstr3.c: New file.
34995         * m4/locale-fr.m4: New file.
34996
34997 2007-02-11  Bruno Haible  <bruno@clisp.org>
34998
34999         * lib/mbsrchr.c (mbsrchr): Fix bug.
35000
35001         * modules/mbsrchr-tests: New file.
35002         * tests/test-mbsrchr.sh: New file.
35003         * tests/test-mbsrchr.c: New file.
35004
35005 2007-02-11  Bruno Haible  <bruno@clisp.org>
35006
35007         * lib/mbschr.c (mbschr): Fix bug.
35008
35009         * modules/mbschr-tests: New file.
35010         * tests/test-mbschr.sh: New file.
35011         * tests/test-mbschr.c: New file.
35012         * m4/locale-zh.m4: New file.
35013
35014 2007-02-11  Bruno Haible  <bruno@clisp.org>
35015
35016         Support for copying multibyte string iterators.
35017         * lib/mbiter.h: Include <string.h>.
35018         (mbiter_multi_copy): New function.
35019         (mbi_copy): New macro.
35020         * lib/mbuiter.h: Include <string.h>.
35021         (mbuiter_multi_copy): New function.
35022         (mbui_copy): New macro.
35023
35024 2007-02-11  Bruno Haible  <bruno@clisp.org>
35025
35026         New module mbslen.
35027         * modules/mbslen: New file.
35028         * lib/mbslen.c: New file.
35029         * lib/string_.h (mbslen): New declaration.
35030         * m4/mbslen.m4: New file.
35031         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
35032         GNULIB_MBSLEN.
35033         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
35034         * MODULES.html.sh (Internationalization functions): Add mbslen.
35035
35036 2007-02-11  Bruno Haible  <bruno@clisp.org>
35037
35038         Ensure O(n) worst-case complexity of strcasestr substitute.
35039         * lib/strcasestr.c: Include stdbool.h.
35040         (knuth_morris_pratt): New function.
35041         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
35042         bookkeeping indicates that it's worth it.
35043         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
35044
35045         * modules/strcasestr-tests: New file.
35046         * tests/test-strcasestr.c: New file.
35047
35048 2007-02-11  Bruno Haible  <bruno@clisp.org>
35049
35050         Ensure O(n) worst-case complexity of c_strcasestr.
35051         * lib/c-strcasestr.c: Include stdbool.h, string.h.
35052         (knuth_morris_pratt): New function.
35053         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
35054         the bookkeeping indicates that it's worth it.
35055         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
35056
35057         * modules/c-strcasestr-tests: New file.
35058         * tests/test-c-strcasestr.c: New file.
35059
35060 2007-02-11  Bruno Haible  <bruno@clisp.org>
35061
35062         Ensure O(n) worst-case complexity of c_strstr.
35063         * lib/c-strstr.c: Include stdbool.h, string.h.
35064         (knuth_morris_pratt): New function.
35065         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
35066         bookkeeping indicates that it's worth it.
35067         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
35068
35069         * lib/c-strstr.c: Complete rewrite for maintainability.
35070
35071         * modules/c-strstr-tests: New file.
35072         * tests/test-c-strstr.c: New file.
35073
35074 2007-02-11  Bruno Haible  <bruno@clisp.org>
35075
35076         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
35077         5.2.1 and earlier, whereby \055 was treated just like the range
35078         delimiter '-'.
35079         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
35080
35081 2007-02-08  Bruno Haible  <bruno@clisp.org>
35082
35083         * modules/regex (Depends-on): Add stdbool.
35084         Reported by Dalibor Topic <robilad@kaffe.org>.
35085
35086 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
35087
35088         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
35089         Prefer returning from main to exiting from it.
35090         Remove unnecessary parens after sizeof.
35091
35092 2007-02-05  Bruno Haible  <bruno@clisp.org>
35093
35094         New module mbssep.
35095         * modules/mbssep: New file.
35096         * lib/mbssep.c: New file.
35097         * lib/string_.h (strsep): Add a conditional link warning.
35098         (mbssep): New declaration.
35099         * m4/mbssep.m4: New file.
35100         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
35101         GNULIB_MBSSEP.
35102         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
35103         * MODULES.html.sh (Internationalization functions): Add mbssep.
35104
35105 2007-02-05  Bruno Haible  <bruno@clisp.org>
35106
35107         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
35108         Optimize search in case of 1 delimiter.
35109
35110 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
35111
35112         * lib/acl.h: Include sys/types.h before sys/acl.h.
35113
35114 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
35115
35116         Merge upstream fix for glibc bugzilla #3957:
35117
35118         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
35119
35120         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
35121         bit for RE_HAT_LISTS_NOT_NEWLINE.
35122         (build_charclass_op): Remove bogus comment.
35123
35124 2007-02-05  Simon Josefsson  <simon@josefsson.org>
35125
35126         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
35127
35128 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
35129
35130         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
35131         * lib/memmem.c [!defined _LIBC]: Include config.h.
35132
35133 2007-02-04  Bruno Haible  <bruno@clisp.org>
35134
35135         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
35136         warning message.
35137
35138 2007-02-04  Bruno Haible  <bruno@clisp.org>
35139
35140         New module mbstok_r.
35141         * modules/mbstok_r: New file.
35142         * lib/mbstok_r.c: New file.
35143         * lib/string_.h (strtok_r): Change argument names to match the
35144         comments. Add a conditional link warning.
35145         (mbstok_r): New declaration.
35146         * m4/mbstok_r.m4: New file.
35147         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
35148         GNULIB_MBSTOK_R.
35149         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
35150         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
35151
35152 2007-02-04  Bruno Haible  <bruno@clisp.org>
35153
35154         New module mbsspn.
35155         * modules/mbsspn: New file.
35156         * lib/mbsspn.c: New file.
35157         * lib/string_.h (strspn): Add a conditional link warning.
35158         (mbsspn): New declaration.
35159         * m4/mbsspn.m4: New file.
35160         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
35161         GNULIB_MBSSPN.
35162         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
35163         * MODULES.html.sh (Internationalization functions): Add mbsspn.
35164
35165 2007-02-04  Bruno Haible  <bruno@clisp.org>
35166
35167         New module mbspbrk.
35168         * modules/mbspbrk: New file.
35169         * lib/mbspbrk.c: New file.
35170         * lib/string_.h (strpbrk): Add a conditional link warning.
35171         (mbspbrk): New declaration.
35172         * m4/mbspbrk.m4: New file.
35173         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
35174         GNULIB_MBSPBRK.
35175         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
35176         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
35177
35178 2007-02-04  Bruno Haible  <bruno@clisp.org>
35179
35180         New module mbscspn.
35181         * modules/mbscspn: New file.
35182         * lib/mbscspn.c: New file.
35183         * lib/string_.h (strcspn): Add a conditional link warning.
35184         (mbscspn): New declaration.
35185         * m4/mbscspn.m4: New file.
35186         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
35187         GNULIB_MBSCSPN.
35188         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
35189         * MODULES.html.sh (Internationalization functions): Add mbscspn.
35190
35191 2007-02-04  Bruno Haible  <bruno@clisp.org>
35192
35193         New module mbscasestr, reduced goal of strcasestr.
35194         * modules/mbscasestr: New file.
35195         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
35196         (mbscasestr): Renamed from strcasestr.
35197         * lib/strcasestr.c: Don't include mbuiter.h.
35198         (strcasestr): Remove support for multibyte locales.
35199         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
35200         Change the conditional link warning.
35201         (mbscasestr): New declaration.
35202         * m4/mbscasestr.m4: New file.
35203         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
35204         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
35205         REPLACE_STRCASESTR.
35206         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
35207         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
35208         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
35209         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
35210         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
35211         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
35212         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
35213         (Depends-on): Remove mbuiter.
35214         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
35215
35216 2007-02-04  Bruno Haible  <bruno@clisp.org>
35217
35218         Simplify handling of strncasecmp.
35219         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
35220         the conditional link warning.
35221         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
35222         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
35223         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
35224         * modules/strcase (configure.ac): Don't invoke
35225         gl_STRING_MODULE_INDICATOR.
35226         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
35227
35228 2007-02-04  Bruno Haible  <bruno@clisp.org>
35229
35230         New module mbscasecmp, reduced goal of strcasecmp.
35231         * modules/mbscasecmp: New file.
35232         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
35233         (mbscasecmp): Renamed from strcasecmp.
35234         * lib/strcasecmp.c: Don't include mbuiter.h.
35235         (strcasecmp): Remove support for multibyte locales.
35236         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
35237         Change the conditional link warning.
35238         (mbscasecmp): New declaration.
35239         * m4/mbscasecmp.m4: New file.
35240         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
35241         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
35242         REPLACE_STRCASECMP.
35243         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
35244         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
35245         GNULIB_MBSCASECMP.
35246         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
35247         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
35248         * modules/strcase (Files): Remove m4/mbrtowc.m4.
35249         (Depends-on): Remove mbuiter.
35250         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
35251
35252 2007-02-04  Bruno Haible  <bruno@clisp.org>
35253
35254         New module mbsstr. Remove module strstr.
35255         * modules/mbsstr: New file.
35256         * modules/strstr: Remove file.
35257         * lib/mbsstr.c: Renamed from lib/strstr.c.
35258         (mbsstr): Renamed from strstr.
35259         * lib/string_.h (strstr): Remove declaration. Change the conditional
35260         link warning.
35261         (mbsstr): New declaration.
35262         * m4/mbsstr.m4: New file.
35263         * m4/strstr.m4: Remove file.
35264         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
35265         REPLACE_STRSTR.
35266         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
35267         Don't initialize GNULIB_STRSTR.
35268         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
35269         substitute GNULIB_STRSTR and REPLACE_STRSTR.
35270         * MODULES.html.sh (Internationalization functions): Add mbsstr.
35271         (Support for systems lacking ANSI C 89): Remove strstr.
35272
35273 2007-02-04  Bruno Haible  <bruno@clisp.org>
35274
35275         New module mbsrchr.
35276         * modules/mbsrchr: New file.
35277         * lib/mbsrchr.c: New file.
35278         * lib/string_.h (strrchr): Add a conditional link warning.
35279         (mbsrchr): New declaration.
35280         * m4/mbsrchr.m4: New file.
35281         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
35282         GNULIB_MBSRCHR.
35283         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
35284         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
35285
35286 2007-02-04  Bruno Haible  <bruno@clisp.org>
35287
35288         New module mbschr.
35289         * modules/mbschr: New file.
35290         * lib/mbschr.c: New file.
35291         * lib/string_.h (strchr): Add a conditional link warning.
35292         (mbschr): New declaration.
35293         * m4/mbschr.m4: New file.
35294         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
35295         GNULIB_MBSCHR.
35296         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
35297         * MODULES.html.sh (Internationalization functions): Add mbschr.
35298
35299 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
35300
35301         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
35302
35303         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
35304
35305 2007-02-04  Bruno Haible  <bruno@clisp.org>
35306
35307         New module description section 'configure.ac-early'.
35308         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
35309         (func_get_autoconf_early_snippet): New function.
35310         (func_import, func_create_testdir): Use it. Remove special cases for
35311         modules 'extensions' and 'lock'.
35312         * modules/extensions (configure.ac-early): Require
35313         gl_USE_SYSTEM_EXTENSIONS.
35314         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
35315
35316 2007-02-04  Bruno Haible  <bruno@clisp.org>
35317
35318         Make use of gcj-4.3's -fsource and -ftarget option.
35319         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
35320         and if so try the options -fsource and -ftarget.
35321         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
35322         source_version, ftarget_option, target_version arguments.
35323         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
35324         (is_envjavac_oldgcj_14_14_usable): Renamed from
35325         is_envjavac_gcj_14_14_usable.
35326         (is_envjavac_oldgcj_14_13_usable): Renamed from
35327         is_envjavac_gcj_14_13_usable.
35328         (is_gcj_present): Update.
35329         (is_gcj_43, is_gcj43_usable): New functions.
35330         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
35331         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
35332         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
35333         try the options -fsource and -ftarget.
35334
35335 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
35336
35337         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
35338         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
35339         larger value.
35340
35341 2007-02-03  Jim Meyering  <jim@meyering.net>
35342
35343         Give tools a better chance to allocate space for very large buffers.
35344         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
35345
35346         Make pwd and readlink work also when run with an unreadable parent dir
35347         on systems with openat support.
35348         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
35349         provided getcwd function, even when we have openat support.
35350         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
35351
35352 2007-02-02  Bruno Haible  <bruno@clisp.org>
35353
35354         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
35355         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
35356         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
35357         portability problems if one of these functions is only used on specific
35358         platforms.
35359         Reported by Paul Eggert.
35360
35361 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
35362
35363         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
35364         is causing more trouble than it's curing.
35365         * lib/regex_internal.h (__mempcpy): Remove.
35366         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
35367         (and make the code a tad smaller to boot).
35368         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
35369
35370 2007-02-02  Jim Meyering  <jim@meyering.net>
35371
35372         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
35373         section, not in the Makefile.am: one.
35374
35375 2007-02-02  Eric Blake  <ebb9@byu.net>
35376
35377         * lib/strchrnul.c: Always include config.h first.
35378
35379         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
35380         gnulib strstr is not necessary here.
35381
35382 2007-02-02  Simon Josefsson  <simon@josefsson.org>
35383
35384         * m4/socklen.m4: Fix typo.
35385
35386 2007-02-02  Eric Blake  <ebb9@byu.net>
35387
35388         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
35389         * modules/netinet_in (Makefile.am): Likewise.
35390
35391 2007-02-01  Bruno Haible  <bruno@clisp.org>
35392
35393         * lib/string_.h (GL_LINK_WARNING): New macro.
35394         (strcasecmp, strstr, strcasestr): If provided by the system,
35395         conditionally define as a macro that leads to a warning instead of to
35396         an error.
35397         (strncasecmp): Conditionally define as a macro that leads to a warning.
35398
35399 2007-02-01  Karl Berry  <karl@gnu.org>
35400
35401         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
35402
35403 2007-02-01  Bruno Haible  <bruno@clisp.org>
35404
35405         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
35406         renamings.
35407
35408 2007-02-01  Eric Blake  <ebb9@byu.net>
35409
35410         * modules/regex (Depends-on): Revert dependence on mempcpy.
35411         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
35412         module's definition of mempcpy.
35413         Reported by Paul Eggert.
35414
35415 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
35416
35417         * lib/string_.h: If the gnulib module XYZ is not present, undefine
35418         the symbol XYZ before redefining it.  This fixes a problem with
35419         programs that don't use XYZ, when compiled on systems that define
35420         XYZ to something else.
35421
35422 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
35423
35424         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
35425         occurs when "mkdir -m foo" creates a setgid directory that is (1)
35426         writeable to group or other and (2) is intended to have a special
35427         mode bit that is set or cleared.  In such a case, the directory
35428         should be neither group- nor other-writeable until the special
35429         mode bits are right.
35430
35431 2007-01-31  Eric Blake  <ebb9@byu.net>
35432
35433         * modules/mountlist (Depends-on): Add strstr.
35434
35435         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
35436         bug.
35437         * modules/string (Makefile.am): Remove redundant replacement.
35438         * modules/regex (Depends-on): Add mempcpy.
35439
35440 2007-01-31  Bruno Haible  <bruno@clisp.org>
35441
35442         New module description field 'Link'.
35443         * gnulib-tool (func_usage): Document --extract-link-directive.
35444         (sed_extract_prog): Recognize 'Link' directive.
35445         (func_get_link_directive): New function.
35446         (func_import): Show summary of link directives.
35447         Handle --extract-link-directive option.
35448         * modules/acl (Link): New section.
35449         * modules/clock-time (Link): New section.
35450         * modules/euidaccess (Link): New section.
35451         * modules/gettext (Link): New section.
35452         * modules/iconv (Link): New section.
35453         * modules/lock (Link): New section.
35454         * modules/nanosleep (Link): New section.
35455         * modules/readline (Link): New section.
35456
35457 2007-01-27  Bruno Haible  <bruno@clisp.org>
35458
35459         Enforce the use of gnulib modules for unportable <string.h> functions.
35460         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
35461         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
35462         (gl_HEADER_STRING_H_BODY): Require it.
35463         * lib/string_.h: If the gnulib module XYZ is not present, redefine
35464         the symbol XYZ to one that gives a link error.
35465         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
35466         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
35467         * modules/mempcpy (configure.ac): Likewise.
35468         * modules/memrchr (configure.ac): Likewise.
35469         * modules/stpcpy (configure.ac): Likewise.
35470         * modules/stpncpy (configure.ac): Likewise.
35471         * modules/strcase (configure.ac): Likewise.
35472         * modules/strcasestr (configure.ac): Likewise.
35473         * modules/strchrnul (configure.ac): Likewise.
35474         * modules/strdup (configure.ac): Likewise.
35475         * modules/strndup (configure.ac): Likewise.
35476         * modules/strnlen (configure.ac): Likewise.
35477         * modules/strpbrk (configure.ac): Likewise.
35478         * modules/strsep (configure.ac): Likewise.
35479         * modules/strstr (configure.ac): Likewise.
35480         * modules/strtok_r (configure.ac): Likewise.
35481
35482 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
35483
35484         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
35485
35486 2007-01-30  Jim Meyering  <jim@meyering.net>
35487
35488         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
35489
35490 2007-01-29  Bruno Haible  <bruno@clisp.org>
35491
35492         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
35493         * lib/execute.c: Likewise.
35494         * lib/pipe.c: Likewise.
35495         * lib/printf-args.h: Likewise.
35496         * lib/printf-args.c: Likewise.
35497         * lib/printf-parse.c: Likewise.
35498         * lib/vasnprintf.c: Likewise.
35499
35500 2007-01-29  Eric Blake  <ebb9@byu.net>
35501
35502         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
35503         declaration.
35504
35505 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
35506
35507         * lib/strptime.h (strptime): Use 'restrict' for args where
35508         POSIX requires this.
35509         * lib/strptime.c (strptime): Likewise.
35510         Change license notice from LGPL to GPL, since gnulib-tool will
35511         change this as needed.
35512         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
35513         defined.
35514         Include "strptime.h" first, to check interface.
35515         Do not #undef _LIBC and _NL_CURRENT.
35516         Do not include <stdlib.h>; no longer needed.
35517         Include "time_r.h" and declare ptime_locale_status
35518         only if _LIBC is not defined.
35519         (__P): Remove unused macro.
35520         (match_string): Bring back glibc version, but use it only if _LIBC
35521         is defined.
35522         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
35523         Remove unnecessary assertion and abort() call.
35524         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
35525         * m4/strptime.m4: Fix serial number comment.
35526         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
35527         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
35528         (Depends-on): Add time_r.
35529
35530 2007-01-29  Bruno Haible  <bruno@clisp.org>
35531
35532         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
35533         strptime.
35534         * modules/strptime (Depends-on): Add stdbool.
35535         * lib/strptime.h: Include <time.h> always. Add comments.
35536
35537 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
35538
35539         * modules/strptime: New file.
35540         * lib/strptime.h: New file.
35541         * lib/strptime.c: New file.
35542         * m4/strptime.m4: New file.
35543
35544 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
35545
35546         * MODULES.html.sh: New module mpsort.
35547         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
35548
35549         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
35550         a circularity problem with HP-UX ia64 reported by Bob Proulx in
35551         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
35552         All uses changed.
35553         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
35554         All uses changed.
35555         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
35556         to _Restrict_.
35557         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
35558         the parameter matches the prototype.
35559
35560 2007-01-28  Jim Meyering  <jim@meyering.net>
35561
35562         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
35563         sys/time.h here, reverting that part of the previous patch:
35564         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
35565
35566 2007-01-28  Bruno Haible  <bruno@clisp.org>
35567
35568         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
35569         value of $(SYS_TIME_H).
35570         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
35571         remove it conditionally, too. [added by Jim Meyering]
35572         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
35573         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
35574         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
35575         GETTIMEOFDAY_REPLACEMENT to 1.
35576
35577 2007-01-28  Bruno Haible  <bruno@clisp.org>
35578
35579         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
35580         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
35581         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
35582         Set UNISTD_H instead of UNISTD_H2.
35583         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
35584
35585 2007-01-28  Bruno Haible  <bruno@clisp.org>
35586
35587         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
35588         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
35589
35590 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35591
35592         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
35593         (func_create_testdir): Ensure C locale for `grep' and `tr'
35594         character ranges.
35595         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
35596         ACLOCAL_AMFLAGS parsing state machine.
35597
35598 2007-01-27  Bruno Haible  <bruno@clisp.org>
35599
35600         * modules/unistr/base: Update.
35601
35602 2007-01-27  Bruno Haible  <bruno@clisp.org>
35603
35604         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
35605         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
35606         * modules/unistr/u32-mbtouc-unsafe: Renamed from
35607         modules/unistr/u32-mbtouc.
35608         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
35609         * lib/unistr.h: Update.
35610         * lib/linebreak.c: Update.
35611         * modules/unistr/u32-mbtouc: Renamed from
35612         modules/unistr/u32-mbtouc-safe.
35613         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
35614         * lib/unistr.h: Update.
35615         * lib/unistr/u32-to-u8.c: Update.
35616         * lib/unistr/u32-to-u16.c: Update.
35617
35618 2007-01-27  Bruno Haible  <bruno@clisp.org>
35619
35620         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
35621         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
35622         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
35623         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
35624         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
35625         * modules/unistr/u16-mbtouc-unsafe: Renamed from
35626         modules/unistr/u16-mbtouc.
35627         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
35628         * lib/unistr.h: Update.
35629         * lib/linebreak.c: Update.
35630         * modules/linebreak: Update.
35631         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
35632         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
35633         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
35634         * modules/unistr/u16-mbtouc: Renamed from
35635         modules/unistr/u16-mbtouc-safe.
35636         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
35637         * lib/unistr.h: Update.
35638         * lib/unistr/u16-to-u8.c: Update.
35639         * modules/unistr/u16-to-u8: Update.
35640         * lib/unistr/u16-to-u32.c: Update.
35641         * modules/unistr/u16-to-u32: Update.
35642
35643 2007-01-27  Bruno Haible  <bruno@clisp.org>
35644
35645         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
35646         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
35647         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
35648         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
35649         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
35650         * modules/unistr/u8-mbtouc-unsafe: Renamed from
35651         modules/unistr/u8-mbtouc.
35652         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
35653         * lib/unistr.h: Update.
35654         * lib/striconveh.c: Update.
35655         * modules/striconveh: Update.
35656         * lib/linebreak.c: Update.
35657         * modules/linebreak: Update.
35658         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
35659         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
35660         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
35661         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
35662         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
35663         * lib/unistr.h: Update.
35664         * lib/striconveh.c: Update.
35665         * modules/striconveh: Update.
35666         * lib/unistr/u8-to-u16.c: Update.
35667         * modules/unistr/u8-to-u16: Update.
35668         * lib/unistr/u8-to-u32.c: Update.
35669         * modules/unistr/u8-to-u32: Update.
35670
35671 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35672
35673         Sync from Libtool.
35674         * lib/argz.c: Do not include strings.h nor memory.h, include
35675         string.h unconditionally.  Patch by Simon Josefsson.
35676
35677 2007-01-27  Bruno Haible  <bruno@clisp.org>
35678
35679         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
35680         from gl_HEADER_STRING_H_BODY.
35681         (gl_HEADER_STRING_H_BODY): Require it.
35682         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
35683         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
35684         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
35685         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
35686         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
35687         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
35688         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
35689         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
35690         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
35691         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
35692         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
35693         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
35694         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
35695         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
35696         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
35697
35698 2007-01-27  Bruno Haible  <bruno@clisp.org>
35699
35700         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
35701         check_PROGRAMS into noinst_PROGRAMS.
35702         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
35703         check_PROGRAMS in this case.
35704         (func_import): Set for_test to false.
35705         (func_create_testdir): Set for_test to true.
35706
35707 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
35708             Bruno Haible  <bruno@clisp.org>
35709
35710         * modules/strcasestr (Files): Remove lib/strcasestr.h.
35711         (Depends-on): Add string.
35712         (Includes): Use <string.h> instead of strcasestr.h.
35713         * modules/string (Makefile.am): Also substitute the value of
35714         REPLACE_STRCASESTR.
35715         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
35716         assume strcasestr is declared in <string.h> not <strings.h>. Also
35717         set REPLACE_STRCASESTR.
35718         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
35719         REPLACE_STRCASESTR.
35720         * lib/strcasestr.h: Remove file.
35721         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
35722         * lib/string_.h (strcasestr): New declaration.
35723
35724 2007-01-27  Bruno Haible  <bruno@clisp.org>
35725
35726         * lib/string_.h: Use 'extern'.
35727
35728 2007-01-27  Jim Meyering  <jim@meyering.net>
35729
35730         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
35731         of set-but-not-used local, "q".
35732
35733         * lib/mempcpy.c: Include <config.h> before <string.h>.
35734         This fixes a compilation error on HP-UX, due to the system's
35735         "restrict"-using mempcpy prototype.
35736
35737 2007-01-26  Bruno Haible  <bruno@clisp.org>
35738
35739         Small optimization.
35740         * lib/javacomp.c: Include c-strstr.h.
35741          (is_envjavac_gcj): Use c_strstr instead of strstr.
35742         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
35743
35744 2007-01-26  Bruno Haible  <bruno@clisp.org>
35745
35746         * MODULES.html.sh (Unicode string functions): Add the new modules.
35747
35748         * modules/uniconv/u32-strconv-to-locale: New file.
35749         * lib/uniconv/u32-strconv-to-locale.c: New file.
35750
35751         * modules/uniconv/u16-strconv-to-locale: New file.
35752         * lib/uniconv/u16-strconv-to-locale.c: New file.
35753
35754         * modules/uniconv/u8-strconv-to-locale: New file.
35755         * lib/uniconv/u8-strconv-to-locale.c: New file.
35756
35757         * modules/uniconv/u32-strconv-from-locale: New file.
35758         * lib/uniconv/u32-strconv-from-locale.c: New file.
35759
35760         * modules/uniconv/u16-strconv-from-locale: New file.
35761         * lib/uniconv/u16-strconv-from-locale.c: New file.
35762
35763         * modules/uniconv/u8-strconv-from-locale: New file.
35764         * lib/uniconv/u8-strconv-from-locale.c: New file.
35765
35766         * modules/uniconv/u32-strconv-to-enc: New file.
35767         * lib/uniconv/u32-strconv-to-enc.c: New file.
35768         * modules/uniconv/u32-strconv-to-enc-tests: New file.
35769         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
35770
35771         * modules/uniconv/u16-strconv-to-enc: New file.
35772         * lib/uniconv/u16-strconv-to-enc.c: New file.
35773         * lib/uniconv/u-strconv-to-enc.h: New file.
35774         * modules/uniconv/u16-strconv-to-enc-tests: New file.
35775         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
35776
35777         * modules/uniconv/u8-strconv-to-enc: New file.
35778         * lib/uniconv/u8-strconv-to-enc.c: New file.
35779         * modules/uniconv/u8-strconv-to-enc-tests: New file.
35780         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
35781
35782         * modules/uniconv/u32-strconv-from-enc: New file.
35783         * lib/uniconv/u32-strconv-from-enc.c: New file.
35784         * modules/uniconv/u32-strconv-from-enc-tests: New file.
35785         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
35786
35787         * modules/uniconv/u16-strconv-from-enc: New file.
35788         * lib/uniconv/u16-strconv-from-enc.c: New file.
35789         * modules/uniconv/u16-strconv-from-enc-tests: New file.
35790         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
35791
35792         * modules/uniconv/u8-strconv-from-enc: New file.
35793         * lib/uniconv/u8-strconv-from-enc.c: New file.
35794         * lib/uniconv/u-strconv-from-enc.h: New file.
35795         * modules/uniconv/u8-strconv-from-enc-tests: New file.
35796         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
35797
35798         * modules/uniconv/u32-conv-from-enc: New file.
35799         * lib/uniconv/u32-conv-from-enc.c: New file.
35800         * modules/uniconv/u32-conv-from-enc-tests: New file.
35801         * tests/uniconv/test-u32-conv-from-enc.c: New file.
35802
35803         * modules/uniconv/u16-conv-from-enc: New file.
35804         * lib/uniconv/u16-conv-from-enc.c: New file.
35805         * lib/uniconv/u-conv-from-enc.h: New file.
35806         * modules/uniconv/u16-conv-from-enc-tests: New file.
35807         * tests/uniconv/test-u16-conv-from-enc.c: New file.
35808
35809         * modules/uniconv/u8-conv-from-enc: New file.
35810         * lib/uniconv/u8-conv-from-enc.c: New file.
35811         * modules/uniconv/u8-conv-from-enc-tests: New file.
35812         * tests/uniconv/test-u8-conv-from-enc.c: New file.
35813
35814         * modules/uniconv/base: New file.
35815         * lib/uniconv.h: New file.
35816
35817 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
35818
35819         * doc/gnulib-tool.texi (Initial import): Update to match current
35820         behavior with strdup module.
35821         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
35822         * lib/memmem.h: Remove; all uses removed.  This is now done
35823         by <string.h>.
35824         * lib/mempcpy.h: Likewise.
35825         * lib/memrchr.h: Likewise.
35826         * lib/stpcpy.h: Likewise.
35827         * lib/stpncpy.h: Likewise.
35828         * lib/strcase.h: Likewise.
35829         * lib/strchrnul.h: Likewise.
35830         * lib/strdup.h: Likewise.
35831         * lib/strndup.h: Likewise.
35832         * lib/strnlen.h: Likewise.
35833         * lib/strpbrk.h: Likewise.
35834         * lib/strsep.h: Likewise.
35835         * lib/strstr.h: Likewise.
35836         * lib/strtok_r.h: Likewise.
35837         * lib/string_.h: New file.
35838         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
35839         Rely on <string.h> instead.
35840         * lib/canon-host.c: Likewise.
35841         * lib/chdir-long.c: Likewise.
35842         * lib/concatpath.c: Likewise.
35843         * lib/exclude.c: Likewise.
35844         * lib/fchdir.c: Likewise.
35845         * lib/getaddrinfo.c: Likewise.
35846         * lib/getcwd.c: Likewise.
35847         * lib/getsubopt.c: Likewise.
35848         * lib/glob.c: Likewise.
35849         * lib/hard-locale.c: Likewise.
35850         * lib/iconvme.c: Likewise.
35851         * lib/javacomp.c: Likewise.
35852         * lib/mempcpy.c: Likewise.
35853         * lib/memrchr.c: Likewise.
35854         * lib/regex_internal.h: Likewise.
35855         * lib/stpncpy.c: Likewise.
35856         * lib/strcasecmp.c: Likewise.
35857         * lib/strchrnul.c: Likewise.
35858         * lib/strdup.c: Likewise.
35859         * lib/striconv.c: Likewise.
35860         * lib/striconveh.c: Likewise.
35861         * lib/striconveha.c: Likewise.
35862         * lib/strncasecmp.c: Likewise.
35863         * lib/strndup.c: Likewise.
35864         * lib/strnlen.c: Likewise.
35865         * lib/strsep.c: Likewise.
35866         * lib/strstr.c: Likewise.
35867         * lib/strtok_r.c: Likewise.
35868         * lib/userspec.c: Likewise.
35869         * lib/w32spawn.h: Likewise.
35870         * lib/xstrndup.c: Likewise.
35871         * lib/mountlist.c (strstr): Remove decl.
35872         * m4/string_h.m4: New file.
35873         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
35874         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
35875         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
35876         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
35877         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
35878         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
35879         Set REPLACE_STRCASECMP if necessary.
35880         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
35881         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
35882         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
35883         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
35884         HAVE_DECL_STRDUP if necessary.
35885         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
35886         since gl_FUNC_STRNDUP does that now.
35887         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
35888         Check for decl here...
35889         (gl_PREREQ_STRNLEN): ... not here.
35890         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
35891         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
35892         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
35893         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
35894         necessary.
35895         * modules/string: New file.
35896         * modules/memmem (Files): Remove special-purpose include file.
35897         (Depends-on): Add string.
35898         (Include): Include <string.h>, not the removed file.
35899         * modules/mempcpy: Likewise.
35900         * modules/memrchr: Likewise.
35901         * modules/stpcpy: Likewise.
35902         * modules/stpncpy: Likewise.
35903         * modules/strcase: Likewise.
35904         * modules/strchrnul: Likewise.
35905         * modules/strdup: Likewise.
35906         * modules/strndup: Likewise.
35907         * modules/strnlen: Likewise.
35908         * modules/strpbrk: Likewise.
35909         * modules/strsep: Likewise.
35910         * modules/strstr: Likewise.
35911         * modules/strtok_r: Likewise.
35912         * tests/test-dirname.c: Don't include "strdup.h", since
35913         <string.h> now suffices.
35914         * tests/test-memmem.c: Don't include "memmem.h", since
35915         <string.h> now suffices.
35916
35917 2007-01-25  Bruno Haible  <bruno@clisp.org>
35918
35919         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
35920         *resultp is 0.
35921
35922         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
35923         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
35924         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
35925         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
35926
35927         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
35928         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
35929         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
35930         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
35931         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
35932         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
35933
35934 2007-01-24  Bruno Haible  <bruno@clisp.org>
35935
35936         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
35937         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
35938         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
35939         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
35940         gl_FUNC_FTS_CORE.
35941         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
35942         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
35943         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
35944         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
35945         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
35946         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
35947         gl_FUNC_FCHOWNAT.
35948         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
35949         gl_FUNC_STRFTIME.
35950         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
35951         Reported by Ralf Wildenhues.
35952
35953 2007-01-24  Bruno Haible  <bruno@clisp.org>
35954
35955         Drop AC_REQUIRE calls that are redundant with the module dependencies.
35956         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
35957         gl_GETADDRINFO.
35958         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
35959         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
35960         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
35961
35962 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
35963
35964         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
35965         Don't use 'exit'; just return from 'main'.
35966         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
35967
35968         * lib/fnmatch_.h: Readjust white space and comments to match
35969         glibc, to avoid spurious diffs.
35970
35971 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
35972
35973         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
35974         2004-12-01 change by Jakub Jelinek, since this code won't compile
35975         if !LIBC.  Problem reported by Bob Proulx.
35976
35977 2007-01-23  Bruno Haible  <bruno@clisp.org>
35978
35979         * lib/striconveh.c: Include c-strcaseeq.h.
35980         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
35981         * modules/striconveh (Depends-on): Add c-strcaseeq.
35982
35983 2007-01-23  Bruno Haible  <bruno@clisp.org>
35984
35985         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
35986
35987         * modules/c-strcaseeq: New file.
35988         * lib/c-strcaseeq.h: New file.
35989
35990         * modules/streq: New file.
35991         * lib/streq.h: New file.
35992
35993 2007-01-23  Bruno Haible  <bruno@clisp.org>
35994
35995         * modules/striconveha-tests: New file.
35996         * tests/test-striconveha.c: New file.
35997
35998         * lib/striconveha.h: Include <stdbool.h>.
35999         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
36000         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
36001         (mem_iconveha_notranslit): Renamed from mem_iconveha.
36002         (mem_iconveha): New function.
36003         (str_iconveha_notranslit): Renamed from str_iconveha.
36004         (str_iconveha): New function.
36005         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
36006         c-strcase.
36007
36008 2007-01-23  Bruno Haible  <bruno@clisp.org>
36009
36010         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
36011         encodings without forgiving before trying any encoding with handler.
36012         (str_iconveha): Try all encodings without forgiving before trying any
36013         encoding with handler.
36014
36015 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
36016
36017         Import the following changes from libc.
36018
36019         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
36020
36021         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
36022
36023         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
36024
36025         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
36026         normal_bracket label.
36027
36028         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
36029
36030         [BZ #361]
36031         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
36032         to normal_bracket after fetching the next character.
36033
36034 2007-01-22  Bruno Haible  <bruno@clisp.org>
36035
36036         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
36037         argument.
36038         * lib/striconveh.c (iconv_carefully_1): New function.
36039         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
36040         argument.
36041         (str_cd_iconveh): Update.
36042         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
36043         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
36044         * tests/test-striconveh.c (MAGIC): New macro.
36045         (new_offsets): New function.
36046         (main): Test call with and without offsets.
36047
36048 2007-01-22  Bruno Haible  <bruno@clisp.org>
36049
36050         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
36051         * modules/sys_select (Makefile.am): Likewise.
36052         * modules/sys_socket (Makefile.am): Likewise.
36053         * modules/sys_time (Makefile.am): Likewise.
36054
36055 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
36056
36057         * modules/gettimeofday (License): Change from GPL to LGPL, since
36058         gettimeofday is a library function.
36059
36060 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36061
36062         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
36063
36064 2007-01-21  Bruno Haible  <bruno@clisp.org>
36065
36066         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
36067
36068 2007-01-21  Bruno Haible  <bruno@clisp.org>
36069
36070         * modules/striconveha: New file.
36071         * lib/striconveha.h: New file.
36072         * lib/striconveha.c: New file.
36073         * MODULES.html.sh (Internationalization functions): Add striconveha.
36074         * lib/striconv.c (str_iconv): Optimize the case of an empty input
36075         string.
36076         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
36077
36078 2007-01-21  Bruno Haible  <bruno@clisp.org>
36079
36080         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
36081         * lib/striconveh.c (str_iconveh): Likewise.
36082
36083 2007-01-21  Bruno Haible  <bruno@clisp.org>
36084
36085         * lib/striconveh.h (mem_iconveh): New declaration.
36086         * lib/striconveh.c (mem_iconveh): New function.
36087         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
36088
36089 2007-01-21  Bruno Haible  <bruno@clisp.org>
36090
36091         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
36092
36093         * lib/striconveh.h (mem_cd_iconveh): Change specification.
36094         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
36095         original result buffer.
36096         (str_cd_iconveh): Update.
36097         * tests/test-striconveh.c (main): Update.
36098
36099         * lib/striconv.h (mem_cd_iconv): Change specification.
36100         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
36101         result buffer.
36102         (str_cd_iconv): Update.
36103         * tests/test-striconv.c (main): Update.
36104
36105 2007-01-21  Bruno Haible  <bruno@clisp.org>
36106
36107         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
36108
36109 2007-01-20  Jim Meyering  <jim@meyering.net>
36110
36111         * lib/userspec.c (parse_with_separator): If a user or group string
36112         starts with "+", skip the corresponding name-to-ID look-up, since
36113         such a look-up must fail: user and group names may not include "+".
36114
36115 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
36116
36117         * lib/poll.c: Include sys/time.h and time.h unconditionally,
36118         since we now assume the sys_time module.
36119         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
36120         check for sys/time.h; no longer needed.
36121         * modules/poll (Depends-on): Depend on sys_time.
36122
36123 2007-01-18  Bruno Haible  <bruno@clisp.org>
36124
36125         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
36126         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
36127
36128         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
36129         gettimeofday.
36130
36131         * tests/test-gettimeofday.c: Include <time.h>.
36132         (dummy): Remove variable.
36133
36134         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
36135         gl_HEADER_SYS_TIME_H.
36136         (gl_HEADER_SYS_TIME_H): New macro.
36137
36138         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
36139         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
36140         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
36141         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
36142         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
36143         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
36144         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
36145         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
36146         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
36147         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
36148         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
36149
36150         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
36151         last change; it caused a compilation error when cross-compiling to
36152         Cygwin.
36153
36154 2007-01-18  Jim Meyering  <jim@meyering.net>
36155
36156         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
36157         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
36158         than the race-prone "test -d sys || mkdir sys".
36159         (configure.ac): Use AC_PROG_MKDIR_P.
36160         * modules/sys_select: Likewise.
36161         * modules/sys_socket: Likewise.
36162         * modules/sys_time: Likewise.
36163
36164 2007-01-18  Eric Blake  <ebb9@byu.net>
36165
36166         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
36167         replace gettimeofday.
36168         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
36169         name, to avoid infinite recursion.
36170
36171 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
36172
36173         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
36174         module sys_time.
36175         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
36176         assume timespec.h defines struct timeval.
36177         * lib/settime.c: Likewise.
36178         * lib/utimens.c: Likewise.
36179         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
36180         since we now assume the gettimeofday module.
36181         * lib/tempname.c (__gen_tempname): Likewise.
36182         * lib/gettimeofday.h: Remove.
36183         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
36184         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
36185         Include <time.h>, for 'time()'.
36186         (localtime_buffer_addr): Also use this workaround if
36187         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
36188         to simplify the uses.  All uses changed.
36189         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
36190         that #undef is inside {}, and 'const' follows type name consistently.
36191         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
36192         (gettimeofday): Do not use the maximum possible value for
36193         tv->tv_usec, since that might break usages other than ls.c.
36194         Instead, we'll leave ls.c alone.  This undoes today's patch
36195         by Bruno.  Add a compile-time warning for 1s-clock resolution;
36196         we've never observed the problem but might as well keep the
36197         canary.
36198         * lib/nanosleep.c: Include timespec.h first, for interface check.
36199         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
36200         now assume the sys_time module.
36201         * lib/tempname.c: Likewise.
36202         * lib/timespec.h: Likewise.
36203         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
36204         needed.
36205         * lib/strftime.c: Likewise.
36206         * lib/timespec.h: Likewise.
36207         * lib/posixtm.c: Include posixtm.h first, for interface check.
36208         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
36209         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
36210         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
36211         * lib/sys_time_.h: New file.
36212         * lib/timespec.h (struct timespec): Use long int, not long.
36213         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
36214         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
36215         Remove obsolescent call to AC_HEADER_TIME.
36216         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
36217         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
36218         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
36219         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
36220         Likewise.
36221         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
36222         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
36223         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
36224         into the sys_time module.  Check for gettimeofday just once.
36225         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
36226         for gettimeofday signature to just check the signature.  Merely
36227         compile it, since linking doesn't test signature.  Improve test for
36228         whether gettimeofday.o is actually needed.
36229         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
36230         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
36231         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
36232         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
36233         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
36234         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
36235         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
36236         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
36237         than worrying about sys/time.h.
36238         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
36239         Don't bother worrying about TIME_WITH_SYS_TIME.
36240         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
36241         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
36242         * m4/sys_time_h.m4: New file.
36243         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
36244         Don't include sys/time.h.  Return from main rather than exiting.
36245         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
36246         all uses changed.
36247         * modules/gethrxtime (Depends-on): Add sys_time.
36248         * modules/gettime (Depends-on): Likewise.
36249         * modules/gettimeofday (Depends-on): Likewise.
36250         * modules/nanosleep (Depends-on): Likewise.
36251         * modules/settime (Depends-on): Likewise.
36252         * modules/tempname (Depends-on): Likewise.
36253         * modules/utimens (Depends-on): Likewise.
36254         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
36255         (Include:) Change back to <sys/time.h>.
36256         (Maintainer:) Add self.
36257         * modules/sys_time: New file.
36258         * modules/tempname (Depends-on): Add gettimeofday.
36259         * tests/test-gettimeofday.c: Include <sys/time.h>
36260         rather than gettimeofday.h.
36261
36262 2007-01-17  Bruno Haible  <bruno@clisp.org>
36263
36264         * gnulib-tool (func_get_license): Revert last patch. Instead, let
36265         the license default to GPL.
36266         (func_create_testdir): Don't complain if a module is LGPL and its
36267         tests module depends on GPLed modules.
36268
36269 2007-01-17  Bruno Haible  <bruno@clisp.org>
36270
36271         * lib/gettimeofday.c (gettimeofday): Add code for the case
36272         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
36273         maximum possible value for tv->tv_usec, rather than the minimum one.
36274
36275 2005-10-08  Martin Lambers  <marlam@marlam.de>
36276 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
36277 2007-01-16  Bruno Haible  <bruno@clisp.org>
36278
36279         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
36280         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
36281         gl_FUNC_GETTIMEOFDAY.
36282         (Include): Add gettimeofday.h.
36283         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
36284         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
36285         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
36286         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
36287         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
36288         * lib/gettimeofday.h: New file.
36289         * lib/gettimeofday.c: Include <sys/timeb.h>.
36290         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
36291         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
36292         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
36293         fall back on time().
36294
36295         * tests/test-gettimeofday.c: New file.
36296         * modules/gettimeofday-tests: New file.
36297
36298 2007-01-16  Eric Blake  <ebb9@byu.net>
36299
36300         * modules/fnmatch (Depends-on): Depend on wchar.
36301         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
36302         * m4/fnmatch.m4: Likewise.
36303         * modules/mbchar (Makefile.am): Assume <wchar.h>.
36304         * m4/mbchar.m4: Likewise.
36305         * modules/mbswidth (Depends-on): Depend on wchar.
36306         * lib/mbswidth.c: Assume <wchar.h>.
36307         * m4/mbswidth.m4: Likewise.
36308         * modules/quotearg (Depends-on): Depend on wchar.
36309         * lib/quotearg.c: Assume <wchar.h>.
36310         * m4/quotearg.m4: Likewise.
36311         * modules/regex (Depends-on): Depend on wchar.
36312         * lib/regex_internal.h: Assume <wchar.h>.
36313         * m4/regex.m4: Likewise.
36314         * modules/stdint (Depends-on): Depend on wchar.
36315         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
36316         * m4/stdint.m4: Likewise.
36317         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
36318         * modules/strftime (Depends-on): Depend on wchar.
36319         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
36320         * modules/strtol (Depends-on): Depend on wchar.
36321         * lib/strtol.c: Assume <wchar.h>.
36322         * modules/wcwidth (Depends-on): Depend on wchar.
36323         * lib/wcwidth.h: Assume <wchar.h>.
36324         * m4/wcwidth.m4: Likewise.
36325
36326 2007-01-16  Bruno Haible  <bruno@clisp.org>
36327
36328         * modules/csharpexec-script: New, created from...
36329         * modules/csharpexec: ... this.
36330
36331 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
36332
36333         * modules/javaexec-script: New, created from...
36334         * modules/javaexec: ... this.
36335
36336 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36337
36338         * modules/poll (Dependencies): Add sys_select.
36339
36340 2007-01-15  Jim Meyering  <jim@meyering.net>
36341
36342         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
36343         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
36344         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
36345         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
36346
36347 2007-01-15  Bruno Haible  <bruno@clisp.org>
36348
36349         * modules/striconveh: New file.
36350         * lib/striconveh.h: New file.
36351         * lib/striconveh.c: New file.
36352         * MODULES.html.sh (Internationalization functions): Add striconveh.
36353
36354         * modules/striconveh-tests: New file.
36355         * tests/test-striconveh.c: New file.
36356
36357 2007-01-15  Bruno Haible  <bruno@clisp.org>
36358
36359         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
36360         not from GNU libiconv or GNU libc.
36361
36362 2007-01-15  Bruno Haible  <bruno@clisp.org>
36363
36364         * doc/gnulib-intro.texi (Copyright): Explain the different license
36365         terms for module descriptions, autoconf macros, tests, documentation.
36366
36367 2007-01-14  Bruno Haible  <bruno@clisp.org>
36368
36369         * modules/striconv-tests: New file.
36370         * tests/test-striconv.c: New file.
36371
36372 2007-01-14  Bruno Haible  <bruno@clisp.org>
36373
36374         * modules/iconv-tests: New file.
36375         * tests/test-iconv.c: New file.
36376
36377 2007-01-14  Bruno Haible  <bruno@clisp.org>
36378
36379         * gnulib-tool (func_get_license): For test modules, use the license of
36380         the main module.
36381
36382 2007-01-14  Bruno Haible  <bruno@clisp.org>
36383
36384         * modules/iconv (Include): Clarify that <iconv.h> can only be included
36385         if iconv is found to exist.
36386
36387 2007-01-14  Bruno Haible  <bruno@clisp.org>
36388
36389         * modules/c-ctype-tests: New file.
36390         * tests/test-c-ctype.c: New file.
36391
36392 2007-01-14  Bruno Haible  <bruno@clisp.org>
36393
36394         * modules/binary-io-tests: New file.
36395         * tests/test-binary-io.sh: New file.
36396         * tests/test-binary-io.c: New file.
36397
36398 2007-01-14  Bruno Haible  <bruno@clisp.org>
36399
36400         * modules/array-oset-tests: New file.
36401         * tests/test-array_oset.c: New file.
36402
36403 2007-01-14  Bruno Haible  <bruno@clisp.org>
36404
36405         * modules/array-list-tests: New file.
36406         * tests/test-array_list.c: New file.
36407
36408 2007-01-14  Bruno Haible  <bruno@clisp.org>
36409
36410         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
36411         and make.
36412         Reported by Simon Josefsson in
36413         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
36414
36415 2007-01-14  Bruno Haible  <bruno@clisp.org>
36416
36417         * modules/allocsa-tests: New file.
36418         * tests/test-allocsa.c: New file.
36419
36420 2007-01-14  Bruno Haible  <bruno@clisp.org>
36421
36422         * modules/fchdir (Depends-on): Add absolute-header.
36423         * modules/unistd (Depends-on): Likewise.
36424
36425 2006-12-30  Bruno Haible  <bruno@clisp.org>
36426
36427         * modules/fchdir: New file.
36428         * modules/unistd (Files): Add lib/unistd_.h.
36429         (Makefile.am): Generate unistd.h from unistd_.h.
36430         * lib/fchdir.c: New file.
36431         * lib/dirent_.h: New file.
36432         * lib/unistd_.h: New file.
36433         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
36434         * m4/fchdir.m4: New file.
36435         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
36436         (gl_HEADER_UNISTD): Invoke it.
36437         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
36438         function.
36439         * lib/backupfile.c (opendir, closedir): Undefine.
36440         * lib/chown.c (open, close): Undefine.
36441         * lib/clean-temp.c (open, close): Undefine.
36442         * lib/copy-file.c (open, close): Undefine.
36443         * lib/execute.c (open, close): Undefine.
36444         * lib/fsusage.c (open, close): Undefine.
36445         * lib/gc-gnulib.c (open, close): Undefine.
36446         * lib/getcwd.c (opendir, closedir): Undefine.
36447         * lib/glob.c (opendir, closedir): Undefine.
36448         * lib/javacomp.c (open, close): Undefine.
36449         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
36450         * lib/openat-proc.c (open, close): Undefine.
36451         * lib/pagealign_alloc.c (open, close): Undefine.
36452         * lib/pipe.c (open, close): Undefine.
36453         * lib/progreloc.c (open, close): Undefine.
36454         * lib/savedir.c (opendir, closedir): Undefine.
36455         * lib/utime.c (open, close): Undefine.
36456         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
36457
36458 2007-01-10  Bruno Haible  <bruno@clisp.org>
36459
36460         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
36461
36462 2007-01-12  Eric Blake  <ebb9@byu.net>
36463
36464         Provide a robust <wchar.h>.  Further simplifications are now
36465         possible in other modules, but not included here.
36466         * modules/wchar: New module.
36467         * m4/wchar.m4: New file.
36468         * lib/wchar_.h: Likewise.
36469         * modules/mbchar (Depends-on): Depend on wchar, as the first use
36470         of the new module.
36471         * MODULES.html.sh (Extended multibyte and wide character utilities):
36472         New section.
36473
36474 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
36475
36476         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
36477         to a reasonable default for memory allocation.
36478         (xreadlink): Don't allocate a huge buffer, to work around a buggy
36479         file system that reports garbage st_size values for symlinks.
36480         Problem reported by Liyang Hu.
36481
36482 2007-01-11  Simon Josefsson  <simon@josefsson.org>
36483
36484         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
36485         Emacs .#* auto-save files).
36486
36487 2007-01-11  Bruno Haible  <bruno@clisp.org>
36488
36489         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
36490         directory.
36491
36492 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
36493
36494         Use @...@ consistently in lib/wctype_.h.
36495         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
36496         on it being set to 1 or 0.
36497         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
36498         go back to AC_SUBSTing it.
36499         * modules/wctype (Makefile.am): Undo previous change.
36500
36501 2007-01-10  Eric Blake  <ebb9@byu.net>
36502
36503         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
36504         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
36505         * modules/wctype (Makefile.am): Likewise.
36506         Reported by Chris McGuire.
36507
36508 2007-01-10  Jim Meyering  <jim@meyering.net>
36509
36510         fts.c: a small readability/maintainability improvement
36511         * lib/fts.c (fts_read): Make this code slightly more readable and
36512         maintainable by hoisting the "sp->fts_cur = p" assignments to
36513         immediately follow the statements that set P.  Derived from
36514         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
36515
36516 2007-01-10  Eric Blake  <ebb9@byu.net>
36517
36518         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
36519         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
36520         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
36521         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
36522         Reported by Chris McGuire.
36523
36524 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36525
36526         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
36527         in sed script.
36528
36529 2007-01-09  Bruno Haible  <bruno@clisp.org>
36530
36531         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
36532         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
36533         variables.
36534         (func_module): Use them.
36535
36536 2007-01-09  Bruno Haible  <bruno@clisp.org>
36537
36538         * modules/unistr/base: New file.
36539         * lib/unistr.h: New file.
36540
36541         * modules/unistr/u8-to-u16: New file.
36542         * lib/unistr/u8-to-u16.c: New file.
36543
36544         * modules/unistr/u8-to-u32: New file.
36545         * lib/unistr/u8-to-u32.c: New file.
36546
36547         * modules/unistr/u16-to-u8: New file.
36548         * lib/unistr/u16-to-u8.c: New file.
36549
36550         * modules/unistr/u16-to-u32: New file.
36551         * lib/unistr/u16-to-u32.c: New file.
36552
36553         * modules/unistr/u32-to-u8: New file.
36554         * lib/unistr/u32-to-u8.c: New file.
36555
36556         * modules/unistr/u32-to-u16: New file.
36557         * lib/unistr/u32-to-u16.c: New file.
36558
36559         * modules/unistr/u8-check: New file.
36560         * modules/unistr/u16-check: New file.
36561         * modules/unistr/u32-check: New file.
36562         * lib/unistr/u8-check.c: New file.
36563         * lib/unistr/u16-check.c: New file.
36564         * lib/unistr/u32-check.c: New file.
36565
36566         * modules/unistr/u8-chr: New file.
36567         * modules/unistr/u16-chr: New file.
36568         * modules/unistr/u32-chr: New file.
36569         * lib/unistr/u8-chr.c: New file.
36570         * lib/unistr/u16-chr.c: New file.
36571         * lib/unistr/u32-chr.c: New file.
36572
36573         * modules/unistr/u8-cmp: New file.
36574         * modules/unistr/u16-cmp: New file.
36575         * modules/unistr/u32-cmp: New file.
36576         * lib/unistr/u8-cmp.c: New file.
36577         * lib/unistr/u16-cmp.c: New file.
36578         * lib/unistr/u32-cmp.c: New file.
36579
36580         * modules/unistr/u8-cpy: New file.
36581         * modules/unistr/u16-cpy: New file.
36582         * modules/unistr/u32-cpy: New file.
36583         * lib/unistr/u8-cpy.c: New file.
36584         * lib/unistr/u16-cpy.c: New file.
36585         * lib/unistr/u32-cpy.c: New file.
36586         * lib/unistr/u-cpy.h: New file.
36587
36588         * modules/unistr/u8-cpy-alloc: New file.
36589         * modules/unistr/u16-cpy-alloc: New file.
36590         * modules/unistr/u32-cpy-alloc: New file.
36591         * lib/unistr/u8-cpy-alloc.c: New file.
36592         * lib/unistr/u16-cpy-alloc.c: New file.
36593         * lib/unistr/u32-cpy-alloc.c: New file.
36594         * lib/unistr/u-cpy-alloc.h: New file.
36595
36596         * modules/unistr/u8-endswith: New file.
36597         * modules/unistr/u16-endswith: New file.
36598         * modules/unistr/u32-endswith: New file.
36599         * lib/unistr/u8-endswith.c: New file.
36600         * lib/unistr/u16-endswith.c: New file.
36601         * lib/unistr/u32-endswith.c: New file.
36602         * lib/unistr/u-endswith.h: New file.
36603
36604         * modules/unistr/u8-mblen: New file.
36605         * modules/unistr/u16-mblen: New file.
36606         * modules/unistr/u32-mblen: New file.
36607         * lib/unistr/u8-mblen.c: New file.
36608         * lib/unistr/u16-mblen.c: New file.
36609         * lib/unistr/u32-mblen.c: New file.
36610
36611         * modules/unistr/u8-mbtouc: New file.
36612         * modules/unistr/u16-mbtouc: New file.
36613         * modules/unistr/u32-mbtouc: New file.
36614         * lib/unistr/u8-mbtouc.c: New file.
36615         * lib/unistr/u16-mbtouc.c: New file.
36616         * lib/unistr/u32-mbtouc.c: New file.
36617
36618         * modules/unistr/u8-mbtouc-safe: New file.
36619         * modules/unistr/u16-mbtouc-safe: New file.
36620         * modules/unistr/u32-mbtouc-safe: New file.
36621         * lib/unistr/u8-mbtouc-safe.c: New file.
36622         * lib/unistr/u16-mbtouc-safe.c: New file.
36623         * lib/unistr/u32-mbtouc-safe.c: New file.
36624
36625         * modules/unistr/u8-move: New file.
36626         * modules/unistr/u16-move: New file.
36627         * modules/unistr/u32-move: New file.
36628         * lib/unistr/u8-move.c: New file.
36629         * lib/unistr/u16-move.c: New file.
36630         * lib/unistr/u32-move.c: New file.
36631         * lib/unistr/u-move.h: New file.
36632
36633         * modules/unistr/u8-next: New file.
36634         * modules/unistr/u16-next: New file.
36635         * modules/unistr/u32-next: New file.
36636         * lib/unistr/u8-next.c: New file.
36637         * lib/unistr/u16-next.c: New file.
36638         * lib/unistr/u32-next.c: New file.
36639
36640         * modules/unistr/u8-prev: New file.
36641         * modules/unistr/u16-prev: New file.
36642         * modules/unistr/u32-prev: New file.
36643         * lib/unistr/u8-prev.c: New file.
36644         * lib/unistr/u16-prev.c: New file.
36645         * lib/unistr/u32-prev.c: New file.
36646
36647         * modules/unistr/u8-set: New file.
36648         * modules/unistr/u16-set: New file.
36649         * modules/unistr/u32-set: New file.
36650         * lib/unistr/u8-set.c: New file.
36651         * lib/unistr/u16-set.c: New file.
36652         * lib/unistr/u32-set.c: New file.
36653         * lib/unistr/u-set.h: New file.
36654
36655         * modules/unistr/u8-startswith: New file.
36656         * modules/unistr/u16-startswith: New file.
36657         * modules/unistr/u32-startswith: New file.
36658         * lib/unistr/u8-startswith.c: New file.
36659         * lib/unistr/u16-startswith.c: New file.
36660         * lib/unistr/u32-startswith.c: New file.
36661         * lib/unistr/u-startswith.h: New file.
36662
36663         * modules/unistr/u8-stpcpy: New file.
36664         * modules/unistr/u16-stpcpy: New file.
36665         * modules/unistr/u32-stpcpy: New file.
36666         * lib/unistr/u8-stpcpy.c: New file.
36667         * lib/unistr/u16-stpcpy.c: New file.
36668         * lib/unistr/u32-stpcpy.c: New file.
36669         * lib/unistr/u-stpcpy.h: New file.
36670
36671         * modules/unistr/u8-stpncpy: New file.
36672         * modules/unistr/u16-stpncpy: New file.
36673         * modules/unistr/u32-stpncpy: New file.
36674         * lib/unistr/u8-stpncpy.c: New file.
36675         * lib/unistr/u16-stpncpy.c: New file.
36676         * lib/unistr/u32-stpncpy.c: New file.
36677         * lib/unistr/u-stpncpy.h: New file.
36678
36679         * modules/unistr/u8-strcat: New file.
36680         * modules/unistr/u16-strcat: New file.
36681         * modules/unistr/u32-strcat: New file.
36682         * lib/unistr/u8-strcat.c: New file.
36683         * lib/unistr/u16-strcat.c: New file.
36684         * lib/unistr/u32-strcat.c: New file.
36685         * lib/unistr/u-strcat.h: New file.
36686
36687         * modules/unistr/u8-strchr: New file.
36688         * modules/unistr/u16-strchr: New file.
36689         * modules/unistr/u32-strchr: New file.
36690         * lib/unistr/u8-strchr.c: New file.
36691         * lib/unistr/u16-strchr.c: New file.
36692         * lib/unistr/u32-strchr.c: New file.
36693
36694         * modules/unistr/u8-strcmp: New file.
36695         * modules/unistr/u16-strcmp: New file.
36696         * modules/unistr/u32-strcmp: New file.
36697         * lib/unistr/u8-strcmp.c: New file.
36698         * lib/unistr/u16-strcmp.c: New file.
36699         * lib/unistr/u32-strcmp.c: New file.
36700
36701         * modules/unistr/u8-strcpy: New file.
36702         * modules/unistr/u16-strcpy: New file.
36703         * modules/unistr/u32-strcpy: New file.
36704         * lib/unistr/u8-strcpy.c: New file.
36705         * lib/unistr/u16-strcpy.c: New file.
36706         * lib/unistr/u32-strcpy.c: New file.
36707         * lib/unistr/u-strcpy.h: New file.
36708
36709         * modules/unistr/u8-strcspn: New file.
36710         * modules/unistr/u16-strcspn: New file.
36711         * modules/unistr/u32-strcspn: New file.
36712         * lib/unistr/u8-strcspn.c: New file.
36713         * lib/unistr/u16-strcspn.c: New file.
36714         * lib/unistr/u32-strcspn.c: New file.
36715         * lib/unistr/u-strcspn.h: New file.
36716
36717         * modules/unistr/u8-strdup: New file.
36718         * modules/unistr/u16-strdup: New file.
36719         * modules/unistr/u32-strdup: New file.
36720         * lib/unistr/u8-strdup.c: New file.
36721         * lib/unistr/u16-strdup.c: New file.
36722         * lib/unistr/u32-strdup.c: New file.
36723         * lib/unistr/u-strdup.h: New file.
36724
36725         * modules/unistr/u8-strlen: New file.
36726         * modules/unistr/u16-strlen: New file.
36727         * modules/unistr/u32-strlen: New file.
36728         * lib/unistr/u8-strlen.c: New file.
36729         * lib/unistr/u16-strlen.c: New file.
36730         * lib/unistr/u32-strlen.c: New file.
36731         * lib/unistr/u-strlen.h: New file.
36732
36733         * modules/unistr/u8-strmblen: New file.
36734         * modules/unistr/u16-strmblen: New file.
36735         * modules/unistr/u32-strmblen: New file.
36736         * lib/unistr/u8-strmblen.c: New file.
36737         * lib/unistr/u16-strmblen.c: New file.
36738         * lib/unistr/u32-strmblen.c: New file.
36739
36740         * modules/unistr/u8-strmbtouc: New file.
36741         * modules/unistr/u16-strmbtouc: New file.
36742         * modules/unistr/u32-strmbtouc: New file.
36743         * lib/unistr/u8-strmbtouc.c: New file.
36744         * lib/unistr/u16-strmbtouc.c: New file.
36745         * lib/unistr/u32-strmbtouc.c: New file.
36746
36747         * modules/unistr/u8-strncat: New file.
36748         * modules/unistr/u16-strncat: New file.
36749         * modules/unistr/u32-strncat: New file.
36750         * lib/unistr/u8-strncat.c: New file.
36751         * lib/unistr/u16-strncat.c: New file.
36752         * lib/unistr/u32-strncat.c: New file.
36753         * lib/unistr/u-strncat.h: New file.
36754
36755         * modules/unistr/u8-strncmp: New file.
36756         * modules/unistr/u16-strncmp: New file.
36757         * modules/unistr/u32-strncmp: New file.
36758         * lib/unistr/u8-strncmp.c: New file.
36759         * lib/unistr/u16-strncmp.c: New file.
36760         * lib/unistr/u32-strncmp.c: New file.
36761
36762         * modules/unistr/u8-strncpy: New file.
36763         * modules/unistr/u16-strncpy: New file.
36764         * modules/unistr/u32-strncpy: New file.
36765         * lib/unistr/u8-strncpy.c: New file.
36766         * lib/unistr/u16-strncpy.c: New file.
36767         * lib/unistr/u32-strncpy.c: New file.
36768         * lib/unistr/u-strncpy.h: New file.
36769
36770         * modules/unistr/u8-strnlen: New file.
36771         * modules/unistr/u16-strnlen: New file.
36772         * modules/unistr/u32-strnlen: New file.
36773         * lib/unistr/u8-strnlen.c: New file.
36774         * lib/unistr/u16-strnlen.c: New file.
36775         * lib/unistr/u32-strnlen.c: New file.
36776         * lib/unistr/u-strnlen.h: New file.
36777
36778         * modules/unistr/u8-strpbrk: New file.
36779         * modules/unistr/u16-strpbrk: New file.
36780         * modules/unistr/u32-strpbrk: New file.
36781         * lib/unistr/u8-strpbrk.c: New file.
36782         * lib/unistr/u16-strpbrk.c: New file.
36783         * lib/unistr/u32-strpbrk.c: New file.
36784         * lib/unistr/u-strpbrk.h: New file.
36785
36786         * modules/unistr/u8-strrchr: New file.
36787         * modules/unistr/u16-strrchr: New file.
36788         * modules/unistr/u32-strrchr: New file.
36789         * lib/unistr/u8-strrchr.c: New file.
36790         * lib/unistr/u16-strrchr.c: New file.
36791         * lib/unistr/u32-strrchr.c: New file.
36792
36793         * modules/unistr/u8-strspn: New file.
36794         * modules/unistr/u16-strspn: New file.
36795         * modules/unistr/u32-strspn: New file.
36796         * lib/unistr/u8-strspn.c: New file.
36797         * lib/unistr/u16-strspn.c: New file.
36798         * lib/unistr/u32-strspn.c: New file.
36799         * lib/unistr/u-strspn.h: New file.
36800
36801         * modules/unistr/u8-strstr: New file.
36802         * modules/unistr/u16-strstr: New file.
36803         * modules/unistr/u32-strstr: New file.
36804         * lib/unistr/u8-strstr.c: New file.
36805         * lib/unistr/u16-strstr.c: New file.
36806         * lib/unistr/u32-strstr.c: New file.
36807         * lib/unistr/u-strstr.h: New file.
36808
36809         * modules/unistr/u8-strtok: New file.
36810         * modules/unistr/u16-strtok: New file.
36811         * modules/unistr/u32-strtok: New file.
36812         * lib/unistr/u8-strtok.c: New file.
36813         * lib/unistr/u16-strtok.c: New file.
36814         * lib/unistr/u32-strtok.c: New file.
36815         * lib/unistr/u-strtok.h: New file.
36816
36817         * modules/unistr/u8-uctomb: New file.
36818         * modules/unistr/u16-uctomb: New file.
36819         * modules/unistr/u32-uctomb: New file.
36820         * lib/unistr/u8-uctomb.c: New file.
36821         * lib/unistr/u16-uctomb.c: New file.
36822         * lib/unistr/u32-uctomb.c: New file.
36823
36824         * MODULES.html.sh (Unicode string functions): Add the new modules.
36825
36826 2007-01-08  Bruno Haible  <bruno@clisp.org>
36827
36828         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
36829         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
36830         subdirectories.
36831
36832 2007-01-08  Karl Berry  <karl@gnu.org>
36833
36834         * doc/error.texi: mention that main() fns must set program_name
36835         when progname is used.
36836
36837 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
36838
36839         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
36840         WCTYPE_H is empty, for the benefit of builds from non-distclean
36841         directories.  Problem reported by Eric Blake in
36842         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
36843
36844 2007-01-08  Bruno Haible  <bruno@clisp.org>
36845
36846         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
36847         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
36848         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
36849         PROVIDE_CANONICALIZE_FILENAME_MODE.
36850         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
36851
36852 2007-01-08  Bruno Haible  <bruno@clisp.org>
36853
36854         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
36855         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
36856         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
36857         * lib/fts.c: Likewise.
36858         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
36859
36860 2006-12-25  Bruno Haible  <bruno@clisp.org>
36861
36862         * modules/utf8-ucs4-safe: New file.
36863         * lib/utf8-ucs4-safe.h: New file.
36864         * lib/unistr/utf8-ucs4-safe.c: New file.
36865
36866         * modules/utf16-ucs4-safe: New file.
36867         * lib/utf16-ucs4-safe.h: New file.
36868         * lib/unistr/utf16-ucs4-safe.c: New file.
36869
36870         * MODULES.html.sh (Unicode string functions): Add the new modules.
36871
36872 2007-01-08  Bruno Haible  <bruno@clisp.org>
36873
36874         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
36875         (Depends-on): Add unitypes.
36876         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
36877         (u8_mbtouc_aux): Move out to separate file.
36878         (u8_mbtouc): Use ucs4_t, uint8_t types.
36879         * lib/unistr/utf8-ucs4.c: New file.
36880
36881         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
36882         (Depends-on): Add unitypes.
36883         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
36884         (u16_mbtouc_aux): Move out to separate file.
36885         (u16_mbtouc): Use ucs4_t, uint16_t types.
36886         * lib/unistr/utf16-ucs4.c: New file.
36887
36888         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
36889         (Depends-on): Add unitypes.
36890         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
36891         (u8_uctomb_aux): Move out to separate file.
36892         (u8_uctomb): Use ucs4_t, uint8_t types.
36893         * lib/unistr/ucs4-utf8.c: New file.
36894
36895         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
36896         (Depends-on): Add unitypes.
36897         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
36898         (u16_uctomb_aux): Move out to separate file.
36899         (u16_uctomb): Use ucs4_t, uint16_t types.
36900         * lib/unistr/ucs4-utf16.c: New file.
36901
36902 2006-12-25  Bruno Haible  <bruno@clisp.org>
36903
36904         * modules/unitypes: New file.
36905         * lib/unitypes.h: New file.
36906         * MODULES.html.sh (func_all_modules): New section "Unicode string
36907         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
36908         this section. Add unitypes.
36909
36910 2007-01-08  Bruno Haible  <bruno@clisp.org>
36911
36912         Avoid variable names that conflict with those from libtool.
36913         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
36914         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
36915         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
36916         library_names_spec to acl_library_names_spec, hardcode_* to
36917         acl_hardcode_*.
36918         Reported by Ralf Wildenhues.
36919
36920 2007-01-08  Bruno Haible  <bruno@clisp.org>
36921
36922         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
36923         definition.
36924         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
36925         definition.
36926         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
36927         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
36928         definition.
36929         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
36930         definition.
36931         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
36932         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
36933         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
36934         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
36935         definition.
36936         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
36937         definition.
36938         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
36939         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
36940         GC_USE_<algorithm>.
36941         * lib/gc-libgcrypt.c: Likewise.
36942         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
36943         * modules/gc-arctwo (configure.ac): Likewise.
36944         * modules/gc-des (configure.ac): Likewise.
36945         * modules/gc-hmac-md5 (configure.ac): Likewise.
36946         * modules/gc-hmac-sha1 (configure.ac): Likewise.
36947         * modules/gc-md2 (configure.ac): Likewise.
36948         * modules/gc-md4 (configure.ac): Likewise.
36949         * modules/gc-md5 (configure.ac): Likewise.
36950         * modules/gc-random (configure.ac): Likewise.
36951         * modules/gc-rijndael (configure.ac): Likewise.
36952         * modules/gc-sha1 (configure.ac): Likewise.
36953
36954 2007-01-08  Bruno Haible  <bruno@clisp.org>
36955
36956         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
36957         macro definition.
36958         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
36959         definition.
36960         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
36961         definition.
36962         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
36963         * modules/fcntl-safer (configure.ac): Likewise.
36964         * modules/fopen-safer (configure.ac): Likewise.
36965         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
36966         GNULIB_FWRITEERROR macro definition.
36967
36968 2007-01-08  Bruno Haible  <bruno@clisp.org>
36969
36970         * m4/gnulib-common.m4: New file.
36971         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
36972         (func_get_filelist): Add m4/gnulib-common.m4.
36973
36974 2007-01-08  Bruno Haible  <bruno@clisp.org>
36975
36976         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
36977         command.
36978
36979 2007-01-08  Jim Meyering  <jim@meyering.net>
36980
36981         Use a more robust test for a "can't happen" condition.
36982         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
36983         narrowed the st_size value.  Presuming the "can't happen" condition
36984         is true, that narrowing could conceivably convert an invalid st_size
36985         value into a valid one.  Instead, use a change based on Matthew
36986         Woehlke's original patch.
36987
36988         Slight readability improvement: use an assert-like macro
36989         in place of literal "abort ()" uses.
36990         * lib/fts.c (fts_assert): Define.
36991         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
36992         Use this macro instead of a bare 'abort'.
36993
36994 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
36995
36996         Don't worry about using IRIX 5.3's wctype.h broken definitions;
36997         simply work around them.
36998         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
36999         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
37000         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
37001         declaring.
37002         Don't bother to define as macros, since the standard doesn't require it.
37003         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
37004         longer worry about IRIX 5.3.
37005         (HAVE_WCTYPE_CTMP_BUG): Remove.
37006
37007 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
37008
37009         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
37010         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
37011         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
37012         Problems reported by Georg Schwarz for IRIX 5.3.
37013
37014         * gnulib-tool (autoconf_minversion): Take the maximum version number
37015         found, not the minimum.  Problem reported by James Youngman.
37016
37017 2007-01-03  Karl Berry  <karl@gnu.org>
37018
37019         * doc/error.texi: new file, explaining interaction with progname.
37020         * doc/gnulib.texi: include it.  Update copyright.
37021
37022 2007-01-03  Simon Josefsson  <simon@josefsson.org>
37023
37024         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
37025         AC_CANONICAL_HOST, to improve autobuild outputs.
37026
37027 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
37028             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
37029
37030         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
37031         sockets, server sockets, and other file descriptors.  Count errors
37032         to compute the return value.  Reorder the code a bit to be easier
37033         to follow.  Don't set event bits that were not requested (except
37034         POLLERR and POLLHUP).
37035
37036 2007-01-01  Bruno Haible  <bruno@clisp.org>
37037
37038         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
37039
37040 2007-01-03  Jim Meyering  <jim@meyering.net>
37041
37042         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
37043
37044 2007-01-02  Bruno Haible  <bruno@clisp.org>
37045
37046         * modules/settime (Include): Require timespec.h.
37047         * modules/nanosleep (Include): Likewise.
37048
37049 2007-01-01  Bruno Haible  <bruno@clisp.org>
37050
37051         * gnulib-tool (func_emit_copyright_notice): Bump year.
37052         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
37053
37054 2007-01-01  Bruno Haible  <bruno@clisp.org>
37055
37056         Improve support for OpenBSD.
37057         * build-aux/config.rpath (libname_spec): Export.
37058         (library_names_spec): New variable. Export.
37059         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
37060         library_names_spec from the config.rpath output. Locate shared library
37061         through the name pattern in library_names_spec.
37062
37063 2007-01-01  Eric Blake  <ebb9@byu.net>
37064
37065         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
37066
37067 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
37068
37069         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
37070         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
37071         assume the C locale, and avoid an "eval" that could cause trouble.
37072         Problem with SORT reported by Bob Proulx.
37073
37074         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
37075         Define.  Trivial patch from Henning Nielsen Lund, originally
37076         sent to bug-grep@gnu.org today.
37077
37078 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
37079
37080         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
37081         struct stat.  Problem reported by Henning Nielsen Lund.
37082         * lib/acl.c: Include acl.h first, to check interface.  Don't
37083         bother to include sys/types.h and sys/stat.h again.
37084
37085 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
37086
37087         Import the following change from libc; problem reported by
37088         Sven Verdoolaege.
37089
37090         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
37091
37092         [BZ #1373]
37093         * lib/argp.h: Remove __NTH for __argp_usage inline function.
37094
37095 2006-12-28  Jim Meyering  <jim@meyering.net>
37096
37097         * build-aux/announce-gen: Do not assume that the package
37098         builds any of tar.gz, tar.bz2, and .xdelta files.
37099         Suggestion from Simon Josefsson.
37100
37101 2006-12-28  Simon Josefsson  <simon@josefsson.org>
37102
37103         * modules/announce-gen: New file.
37104
37105 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
37106
37107         * lib/mbchar.h: Just include <wctype.h>; the wctype module
37108         handles its gotchas now.
37109         * lib/mbswidth.c: Likewise.
37110         * lib/wcwidth.h: Likewise.
37111         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
37112         and iswcntrl; the wctype module does this stuff now.
37113         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
37114         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
37115         * modules/mbchar (Depends-on): Add wctype.
37116         * modules/mbswidth (Depends-on): Likewise.
37117         * modules/wcwidth (Depends-on): Likewise.
37118
37119 2006-12-27  Eric Blake  <ebb9@byu.net>
37120
37121         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
37122         module uses more than what <wctype.h> is required to provide.
37123
37124 2006-12-26  Eric Blake  <ebb9@byu.net>
37125
37126         * gnulib-tool (sed_extract_prog): Avoid space-tab.
37127
37128 2006-12-26  Eric Blake  <ebb9@byu.net>
37129
37130         * modules/absolute-header: New module.
37131         * modules/fcntl (Depends-on): Depend on it.
37132         * modules/inttypes (Depends-on): Likewise.
37133         * modules/stdint (Depends-on): Likewise.
37134         * modules/sys_stat (Depends-on): Likewise.
37135         * modules/wctype (Depends-on): Likewise.
37136         * MODULES.html.sh (Support for building libraries and
37137         executables): Document it.
37138
37139 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
37140
37141         * gnulib-tool (SED): Remove, undoing previous change.
37142         The problem was that it broke coreutils on Solaris, because
37143         "sed --posix" leaked into a makefile.
37144         (sed): New alias, if 'alias' and GNU sed.
37145
37146 2006-12-24  Jim Meyering  <jim@meyering.net>
37147
37148         Work around an fchownat bug in glibc-2.4:
37149         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
37150         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
37151         in spite of the -P option.
37152         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
37153         New macros.
37154         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
37155         * modules/openat (Files): Add lib/fchownat.c.
37156         * lib/openat.c (fchownat): Don't define here.  Move to...
37157         * lib/fchownat.c: ...this new file.
37158
37159 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
37160
37161         Fix bug reported by Bruno Haible in
37162         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
37163         where quotearg.c didn't compile on Mac OS X 10.2 because it
37164         lacks <wchar.h> and wint_t.
37165         * lib/wctype_.h (__wctype_wint_t): New type.
37166         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
37167         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
37168         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
37169         Arg is now of type __wctype_wint_t, not wint_t.
37170         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
37171         substitute HAVE_WINT_T.
37172         * modules/wctype (Files): Add m4/wint_t.m4.
37173         (wctype.h): Substitute HAVE_WINT_T.
37174
37175 2006-12-23  Bruno Haible  <bruno@clisp.org>
37176
37177         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
37178
37179 2006-12-23  Bruno Haible  <bruno@clisp.org>
37180
37181         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
37182         S_ISLNK.
37183         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
37184         mingw.
37185
37186 2006-12-22  Bruno Haible  <bruno@clisp.org>
37187
37188         * lib/copy-file.c: Include acl.h.
37189         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
37190         Close the file descriptors only after being done with copy_acl.
37191         * modules/copy-file (Depends-on): Add acl.
37192
37193 2006-12-22  Bruno Haible  <bruno@clisp.org>
37194
37195         * gnulib-tool (SED): New variable.
37196         Use $SED instead of sed everywhere.
37197
37198 2006-12-22  Bruno Haible  <bruno@clisp.org>
37199
37200         * modules/no-c++: New file.
37201         * m4/no-c++.m4: New file.
37202         * MODULES.html.sh (Support for building libraries and executables):
37203         Add no-c++.
37204
37205 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
37206
37207         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
37208         Include <limits.h>, and use its INT_MAX to rewrite the
37209         j loop so that it does not overflow 'int'.  Problem reported by
37210         Ralf Wildenhues in
37211         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
37212         Play it safe by shifting left by 1 rather than multiplying by 2,
37213         as GCC is less likely to optimize this away when the value
37214         is signed (when it assumes overflow leads to undefined behavior).
37215         Also, don't assume time_t uses two's complement.
37216
37217 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
37218
37219         * MODULES.html.sh: New module wctype.
37220         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
37221         * lib/fnmatch.c: Don't bother to include <wchar.h> before
37222         <wctype.h>, since the new wctype module should fix this.
37223         * lib/quotearg.c: Include <wctype.h> unconditionally, since
37224         the wctype module should arrange for it.
37225         * lib/regex_internal.h: Likewise.
37226         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
37227         since the wctype module should handle this now.
37228         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
37229         * modules/fnmatch (Depends-on): Add wctype.
37230         * modules/quotearg (Depends-on): Likewise.
37231         * modules/regex (Depends-on): Likewise.
37232
37233 2006-12-19  Bruno Haible  <bruno@clisp.org>
37234
37235         * lib/strdup.h [C++]: Wrap definitions in extern "C".
37236         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
37237
37238 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37239
37240         * modules/savewd (Depends-on): Fix dependency on fcntl.
37241
37242 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
37243
37244         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
37245         conforms to C99, rather than relying on the user's environment
37246         setting of STDINT_H.
37247
37248 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
37249         and Eric Blake  <ebb9@byu.net>
37250
37251         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
37252         This is more consistent with the other defines here.
37253         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
37254         Port to z/OS.  Problem reported by Paul Gilmartin.
37255         Change local vars to use gl_ prefix rather than ac_.
37256         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
37257         with other defines.
37258         * modules/double-slash-root: New module.
37259         * modules/dirname (Files): Remove m4/double-slash-root.m4.
37260         (Depends-on): Add double-slash-root.
37261         * MODULES.html.sh (File system functions): Mention new module.
37262
37263 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
37264
37265         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
37266         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
37267         This is for the benefit of gzip, which doesn't do i18n.
37268
37269 2006-12-12  Jim Meyering  <jim@meyering.net>
37270
37271         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
37272         Reported by Andreas Schwab <schwab@suse.de>.
37273
37274 2006-12-12  Bruno Haible  <bruno@clisp.org>
37275
37276         Merge these changes.
37277         2006-09-05  Bruno Haible  <bruno@clisp.org>
37278         * lib/iconvme.c (iconv_string): No need to save and restore errno when
37279         iconv_alloc succeeded.
37280         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
37281         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
37282         test for " && dest " at the end - dest is always != NULL there. Call
37283         iconv with 4xNULL arguments initially, to reset the state. Call iconv
37284         with 2xNULL arguments, also to flush the state storage. Handle the
37285         IRIX iconv behaviour. Realloc the final result, to throw away unused
37286         memory.
37287
37288 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
37289
37290         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
37291         and fchmodat unconditionally, since glibc 2.4 has them.
37292         Problem reported by Arkadiusz Miskiewicz.
37293
37294 2006-12-10  Bruno Haible  <bruno@clisp.org>
37295
37296         * gnulib-tool (func_import): Show the include files only for those
37297         modules that are copied and specified.
37298         Reported by Karl Berry.
37299
37300 2006-12-08  Jim Meyering  <jim@meyering.net>
37301
37302         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
37303         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
37304
37305         * build-aux/announce-gen: Add two new options, both optional:
37306         --bootstrap-tools=TOOL_LIST
37307               a comma-separated list of tools, e.g.,
37308               autoconf,automake,bison,gnulib
37309         --gnulib-snapshot-date=DATE
37310               if gnulib is in the bootstrap tool list,
37311               then report this as the snapshot date.
37312               If not specified, use the current date/time.
37313               If you specify a date here, be sure it's UTC.
37314
37315 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37316
37317         * tests/test-argp-2.sh: Fix test to match actual output.
37318         (func_compare): Fix sed script to be portable.
37319
37320 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
37321
37322         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
37323         workaround for this case.  It is not autoconfigured now; offhand
37324         it's hard to see how to autoconfigure it.
37325
37326 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
37327
37328         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
37329         a directory that is about to be chowned.  Such a directory's
37330         initial file permissions should permit the owner only and this
37331         should not be changed until after the chown, since the group and
37332         other bits would be incorrect if they granted permission before
37333         the chown.
37334
37335         Fix porting problem for iswctype reported by Georg Schwarz in:
37336         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
37337         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
37338         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
37339         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
37340         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
37341
37342 2006-12-03  Jim Meyering  <jim@meyering.net>
37343
37344         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
37345         p->fts_statp may not yet be defined.
37346         (fts_read): Instead, set it in the caller, once p->fts_statp is
37347         sure to be defined, and corresponds to a top-level directory.
37348         This bug made du -x fail.  Here's the coreutils test case:
37349         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
37350         Reported by Mike Frysinger.
37351
37352 2006-12-01  Jim Meyering  <jim@meyering.net>
37353
37354         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
37355         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
37356         Reported by Simon Josefsson.
37357
37358 2006-11-30  Jim Meyering  <jim@meyering.net>
37359
37360         * m4/warning.m4: Use the all-permissive copyright notice
37361         recommended by RMS (rather than LGPL).
37362         * m4/vararrays.m4: Likewise.
37363         * m4/flexmember.m4: Likewise.
37364
37365 2006-11-29  Bruno Haible  <bruno@clisp.org>
37366
37367         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
37368         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
37369         using +=.
37370         Reported by Simon Josefsson <simon@josefsson.org>.
37371
37372 2006-11-28  James Youngman <jay@gnu.org>
37373
37374         * README: Advise users that they might find the bug-gnulib@gnu.org
37375         and autotools-announce@gnu.org mailing lists useful.
37376
37377 2006-11-28  Bruno Haible  <bruno@clisp.org>
37378
37379         * m4/ptrdiff_max.m4: Remove file.
37380
37381 2006-11-21  Bruno Haible  <bruno@clisp.org>
37382
37383         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
37384         _AC_COMPUTE_INT.
37385         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
37386         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
37387         _AC_COMPUTE_INT.
37388         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
37389         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
37390         _AC_COMPUTE_INT.
37391         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
37392
37393 2006-11-28  Jim Meyering  <jim@meyering.net>
37394
37395         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
37396         warning from "gcc -Wshadow" about shadowing the builtin.
37397
37398 2006-11-27  Bruno Haible  <bruno@clisp.org>
37399
37400         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
37401         _AC_COMPUTE_INT.
37402         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
37403
37404 2006-11-27  Bruno Haible  <bruno@clisp.org>
37405             Paul Eggert  <eggert@cs.ucla.edu>
37406
37407         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
37408
37409 2006-11-26  Bruno Haible  <bruno@clisp.org>
37410
37411         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
37412         noinst_LTLIBRARIES.
37413
37414 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
37415             Bruno Haible  <bruno@clisp.org>
37416
37417         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
37418         if compiling with "gcc -ansi".
37419
37420 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
37421
37422         Fix some incompatibilities with gcc -ansi -pedantic.
37423         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
37424         if compiling pedantically with GCC, unless it's C99 or later.
37425         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
37426         it mishandles gcc -ansi -pedantic as well.
37427         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
37428         if gcc -pedantic.
37429         * lib/regexec.c (check_node_accept_bytes): Don't use auto
37430         initializers for struct if -pedantic, unless it's C99 or later.
37431
37432 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
37433
37434         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
37435         Don't close an fd more than once. Identical atimes indicate
37436         success, not failure.
37437
37438 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
37439
37440         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
37441
37442 2006-11-23  Jim Meyering  <jim@meyering.net>
37443
37444         * build-aux/announce-gen: New file.  From coreutils.
37445
37446 2006-11-22  Jim Meyering  <jim@meyering.net>
37447
37448         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
37449         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
37450         (fts_read): Use a temporary to narrow the overused st_size member
37451         before using it in a switch statement.  Reported by Matthew Woehlke.
37452
37453         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
37454         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
37455
37456 2006-11-20  Bruno Haible  <bruno@clisp.org>
37457
37458         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
37459         changequote instead of pairs of brackets.
37460         Reported by Andreas Schwab <schwab@suse.de>.
37461
37462 2006-11-21  Jim Meyering  <jim@meyering.net>
37463
37464         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
37465         so as to remain compatible with older compilers.
37466         Patch from Michael Deutschmann.
37467
37468 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
37469
37470         * MODULES.html.sh (File system functions): Add openat.
37471
37472         * lib/openat.h (rpl_fstatat): New macro, if
37473         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
37474         (fstatat): Define to rpl_fstatat under the same conditions,
37475         unless COMPILING_FSTATAT.
37476         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
37477         seems to have the bug.
37478         * lib/fstatat.c: New file.
37479         * modules/openat (Files): Add it.
37480
37481 2006-11-20  Bruno Haible  <bruno@clisp.org>
37482
37483         * Makefile: New file.
37484
37485 2006-11-20  Jim Meyering  <jim@meyering.net>
37486
37487         The beginnings of syntax-related checks for gnulib.
37488         * lib/Makefile: New file.
37489         * lib/t-idcache: New script.  Ensure that the two halves of
37490         idcache.c stay in sync.
37491
37492         * lib/idcache.c: Adjust comments in user- and group- portions to
37493         be more accurate, and to be consistent with one another.
37494
37495 2006-11-20  Jim Meyering  <jim@meyering.net>
37496
37497         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
37498         continue using the flexible array member (thus, this module performs
37499         half as many malloc calls), with the addition that...
37500         (getgroup, getuser): Consistently record a non-match via an empty
37501         "name" string, and map an empty string match to a NULL return value.
37502         * modules/idcache (Depends-on): Re-add flexmember.
37503
37504         * lib/idcache.c (getuser): Remove all uses of the register keyword.
37505         (getuidbyname, getgroup, getgidbyname): Likewise.
37506
37507         Use cleaner syntax: NULL rather than 0.
37508         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
37509
37510 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
37511
37512         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
37513         It mishandled the case where the group was missing.
37514         Problem reported by Greg Schafer.
37515         * modules/idcache: Likewise.
37516
37517 2006-11-18  Jim Meyering  <jim@meyering.net>
37518
37519         * check-module (%exempt_header): Add exception for some
37520         conditionally-included headers.
37521
37522         * modules/i-ring (Depends-on): Add verify.
37523         (License): Change to LGPL.
37524
37525 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
37526
37527         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
37528         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
37529         and inttostr.h.  Use snprintf rather than uinttostr, so that
37530         LGPLed code doesn't depend on GPLed.
37531
37532 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
37533
37534         * modules/inline (License): Change from GPL to LGPL.
37535
37536 2006-11-17  Jim Meyering  <jim@meyering.net>
37537
37538         * modules/d-type (License): Switch to LGPL.
37539
37540 2006-11-15  Bruno Haible  <bruno@clisp.org>
37541
37542         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
37543
37544 2006-11-15  Eric Blake  <ebb9@byu.net>
37545
37546         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
37547         the module dependency.
37548
37549 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37550             Bruno Haible  <bruno@clisp.org>
37551
37552         * gnulib-tool (func_create_testdir): Add license consistency check.
37553
37554 2006-11-15  Eric Blake  <ebb9@byu.net>
37555
37556         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
37557         random "(cached)" in configure output.
37558
37559 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37560
37561         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
37562         test for conforming inttypes.h is both announced and cached.
37563
37564         * MODULES.html.sh (seen_modules, seen_files): New variables.
37565         (func_module): Rewrite to use a few less gnulib-tool and sed
37566         invocations.  Avoid a couple of quadratic algorithms for ...
37567         (missed_modules, missed_files): ... these, with ...
37568         (func_append, func_tmpdir): ... these new functions, from
37569         gnulib-tool.  Analogously, install traps for cleanup.
37570
37571         * tests/test-gc.c (main): Remove unused variables.
37572         * tests/test-read-file.c: Include stdlib.h, for 'free'.
37573
37574 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
37575
37576         * modules/inttostr (License): Change to LGPL.
37577
37578 2006-11-14  Eric Blake  <ebb9@byu.net>
37579
37580         * modules/tempname (License): Change to LGPL.
37581
37582 2006-11-14  Eric Blake  <ebb9@byu.net>
37583
37584         * doc/functions.texi (Function Portability): *printf functions on
37585         Cygwin now understand all POSIX size specifiers.
37586
37587 2006-11-14  Bruno Haible  <bruno@clisp.org>
37588
37589         * modules/c-ctype (License): Change to LGPL.
37590
37591 2006-11-12  Bruno Haible  <bruno@clisp.org>
37592
37593         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
37594         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
37595         for GNOME libraries, for which the include files are installed in
37596         subdirectories of $prefix/include.
37597
37598 2006-11-12  Bruno Haible  <bruno@clisp.org>
37599
37600         * m4/lib-link.m4: Require at least autoconf-2.54.
37601         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
37602         name to underscores for the --with option.
37603
37604 2006-11-13  Bruno Haible  <bruno@clisp.org>
37605
37606         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
37607         the tests directory.
37608         Reported by Ralf Wildenhues.
37609
37610 2006-11-13  Bruno Haible  <bruno@clisp.org>
37611
37612         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
37613         (func_emit_initmacro_end): Undo the override here.
37614         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
37615         Works around the famous automake error in coreutils.
37616
37617 2006-11-13  Eric Blake  <ebb9@byu.net>
37618
37619         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
37620         element, not its node.
37621
37622 2006-11-12  Bruno Haible  <bruno@clisp.org>
37623
37624         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
37625         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
37626
37627 2006-11-12  Bruno Haible  <bruno@clisp.org>
37628
37629         * gnulib-tool: New option --local-symlink.
37630         (func_usage): Document it.
37631         (lsymbolic): New variable.
37632         (func_import, func_create_testdir): If --symlink was not specified,
37633         test whether --local-symlink was specified and the file comes from
37634         the local_gnulib_dir.
37635
37636 2006-11-12  Bruno Haible  <bruno@clisp.org>
37637
37638         * gnulib-tool (func_ln): New function.
37639         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
37640
37641 2006-11-12  Bruno Haible  <bruno@clisp.org>
37642
37643         Finish support for source files in subdirectories.
37644         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
37645         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
37646         AUTOMAKE_OPTIONS.
37647         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
37648
37649 2006-11-12  Bruno Haible  <bruno@clisp.org>
37650
37651         * gnulib-tool (func_get_automake_snippet): Synthesize also an
37652         EXTRA_lib_SOURCES augmentation.
37653         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
37654
37655 2006-11-12  Jim Meyering  <jim@meyering.net>
37656
37657         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
37658         file descriptors.  This also averts a failure on systems with
37659         native openat support when a traversed directory lacks "x" access.
37660         * lib/fts_.h: Include "i-ring.h"
37661         (struct FTS) [fts_fd_ring]: New member.
37662         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
37663         (FCHDIR): Add parentheses.
37664         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
37665         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
37666         When descending, rather than simply closing the previous
37667         fts_cwd_fd value, push that file descriptor onto the ring.
37668         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
37669         (fts_open): Initialize the new fd_ring member.
37670         (fts_close): Clear the ring.
37671         (fts_safe_changedir): When possible, use our new fd_ring to skip
37672         the diropen and fstat and dev/ino comparison that would normally
37673         accompany a virtual `chdir ("..")'.
37674
37675         * modules/fts (Depends-on): Add i-ring.
37676         * modules/i-ring: New module.
37677         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
37678         * m4/i-ring.m4: New file.
37679
37680 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37681
37682         * gnulib-tool (func_create_testdir): Fix replacement of
37683         `build-aux' in configure.ac.  Run autotools in gltests
37684         subdirectory.
37685         (func_create_testdir, func_create_megatestdir, test): There is
37686         no need for '--force' in most autotool invocations in a new
37687         tree.  Actually fail the whole test if any of the tools, or the
37688         configure or make stages fail.
37689
37690         Sync from Automake.
37691         * build-aux/gnupload: Revert last change.  Add pointer to upload
37692         instructions of the GNU Maintenance Instructions.
37693         Suggestion by Karl Berry.
37694
37695 2006-11-10  Jim Meyering  <jim@meyering.net>
37696
37697         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
37698
37699 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
37700
37701         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
37702         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
37703         (bind_textdomain_codeset) [! ENABLE_NLS]:
37704         Evaluate all the arguments.  That way, callers get compatible behavior
37705         if the arguments have side effects.  Also, it avoids some GCC
37706         diagnostics in some cases; Joel E. Denny reported problems when Bison
37707         was configured with --enable-gcc-warnigs.
37708
37709 2006-11-10  Jim Meyering  <jim@meyering.net>
37710
37711         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
37712         relevant options in CFLAGS (like -O, -fno-inline) are taken into
37713         account.
37714
37715 2006-11-10  Jim Meyering  <jim@meyering.net>
37716
37717         * modules/inline: New file/module.
37718         * modules/xalloc (Files): Remove m4/inline.m4.
37719         (Depends-on): Add inline, instead.
37720         * modules/oset: Likewise.
37721         * modules/list: Likewise.
37722
37723 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
37724
37725         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
37726         Problem reported by Matthew Woehlke.
37727
37728 2006-11-09  Bruno Haible  <bruno@clisp.org>
37729
37730         * lib/tempname.c (gen_tempname): Remove variant that invokes
37731         __gen_tempname.
37732         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
37733         __gen_tempname.
37734
37735 2006-11-08  Bruno Haible  <bruno@clisp.org>
37736
37737         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
37738         to 'yes' instead of 'cross-compiling'.
37739
37740 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
37741
37742         * lib/quotearg.h (quotearg_free): New decl.
37743         * lib/quotearg.c (quotearg_free): New function.
37744         (slot0, nslots, slotvec0, slotvec):
37745         Now file-scope so that quotearg_free can get at them.
37746
37747 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37748
37749         Sync from Automake.
37750         * build-aux/gnupload: Add missing 'gnu' to example URL.
37751         Report by Karl Berry.
37752
37753 2006-11-08  Bruno Haible  <bruno@clisp.org>
37754
37755         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
37756         Suggested by Paul Eggert.
37757
37758 2006-11-08  Jim Meyering  <jim@meyering.net>
37759
37760         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
37761         It's already included if !_LIBC.
37762         (fts_safe_changedir): Add a comment.
37763
37764 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
37765
37766         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
37767         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
37768         Matthew Woehlke.
37769
37770         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
37771         definitions up, to avoid colliding with change below.
37772         (static_inline) [HAVE_INLINE]: New macro.
37773         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
37774         Provide extern decls when !HAVE_INLINE.  Do not define unless
37775         static_inline is defined, either by us or by xmalloc.c.  Use
37776         static_inline rather than static inline.
37777         (XCALLOC): Optimize sizeof(T) = 1 case.
37778         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
37779
37780 2006-11-07  Bruno Haible  <bruno@clisp.org>
37781
37782         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
37783         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
37784         AC_C_INLINE.
37785         * modules/xalloc (Files): Add m4/inline.m4.
37786
37787 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37788
37789         * README: Fix typo.
37790         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
37791         (Miscellanous Notes): ...from this.
37792
37793 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
37794
37795         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
37796         Mention that offsetof should be used instead of sizeof.
37797         From Bruno Haible.
37798
37799 2006-11-07  Bruno Haible  <bruno@clisp.org>
37800
37801         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
37802
37803 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
37804
37805         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
37806         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
37807         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
37808         (gl_tree_add_before, gl_tree_add_after):
37809         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
37810         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
37811         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
37812         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
37813         (gl_linked_add_after, gl_linked_add_at): Likewise.
37814         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
37815         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
37816         (gl_tree_add_before, gl_tree_add_after): Likewise.
37817         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
37818         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
37819         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
37820
37821 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37822
37823         * lib/gl_oset.h: Use C comment style, not C++ comment style.
37824
37825 2006-11-06  Bruno Haible  <bruno@clisp.org>
37826
37827         * m4/inline.m4: New file.
37828         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
37829         * modules/list (Files): Add m4/inline.m4.
37830         * modules/oset (Files): Likewise.
37831
37832 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
37833
37834         * lib/idcache.c: Include <stddef.h>, for offsetof.
37835         (struct userid.name): Change from char * to a flexible array member.
37836         All uses changed.
37837         * modules/idcache (Depends-on): Add flexmember.
37838
37839         * MODULES.html.sh (Core language properties): New module flexmember.
37840         * modules/flexmember, m4/flexmember.m4: New files.
37841
37842         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
37843         inline functions that are identical with the old xnmalloc_inline,
37844         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
37845         that we can avoid some unnecessary integer multiplications and
37846         divisions in the common case where the element size is known at
37847         compile time.
37848         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
37849         needed.
37850         (xnboundedmalloc): Remove.
37851         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
37852         arguments, for consistency with rest of this header.
37853         (xcharalloc): Rewrite using XNMALLOC.
37854         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
37855         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
37856         versions have been moved to lib/xalloc.h and renamed to be the
37857         non-*_inline versions.
37858         (xmalloc, xrealloc): Implement without reference to the xnmalloc
37859         and xnrealloc functions, since those functions are now inline and
37860         now call us.
37861         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
37862         renaming described above.
37863         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
37864         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
37865         captures the dependency in AC_C_INLINE.
37866
37867         New module canonicalize-lgpl, proposed by Charles Wilson in
37868         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
37869         with a few small changes afterwards.
37870         * MODULES.html.sh (File system functions): New module
37871         canonicalize-lgpl.
37872         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
37873         and canonicalize_file_name.
37874         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
37875         * modules/canonicalize-lgpl: New files.
37876
37877 2006-11-05  Bruno Haible  <bruno@clisp.org>
37878
37879         * gnulib-tool (func_import, func_create_testdir): Create directories
37880         also for files in subdirectories of lib/.
37881
37882 2006-11-05  Bruno Haible  <bruno@clisp.org>
37883
37884         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
37885         ANSI C compliant.
37886
37887 2006-11-03  Bruno Haible  <bruno@clisp.org>
37888
37889         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
37890         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
37891         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
37892         (xnboundedmalloc): New inline function.
37893         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
37894         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
37895         xmalloc.
37896         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
37897         xmalloc.
37898         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
37899         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
37900         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
37901         xmalloc.
37902         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
37903         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
37904         xmalloc.
37905         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
37906         gl_tree_add_after): Use XMALLOC instead of xmalloc.
37907         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
37908         xmalloc.
37909         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
37910         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
37911         gl_tree_add_after): Use XMALLOC instead of xmalloc.
37912         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
37913         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
37914         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
37915         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
37916
37917 2006-11-03  Bruno Haible  <bruno@clisp.org>
37918
37919         * lib/c-ctype.h [C++]: Define functions without name mangling.
37920         * lib/fwriteerror.h [C++]: Likewise.
37921         * lib/gcd.h [C++]: Likewise.
37922         * lib/linebreak.h [C++]: Likewise.
37923
37924 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
37925
37926         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
37927         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
37928         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
37929         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
37930         Check for functions and headers just once.
37931         Check for declaration of canonicalize_file_name.
37932         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
37933
37934 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
37935
37936         * gnulib-tool (func_import): Fix typo in actioncmd.
37937
37938 2006-11-02  Bruno Haible  <bruno@clisp.org>
37939
37940         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
37941         newline sequence in the Makefile.am snippet as a space, like "make"
37942         does.
37943         Reported by Roger Persson <perrog@gmail.com>.
37944
37945 2006-11-01  Bruno Haible  <bruno@clisp.org>
37946
37947         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
37948         already declared in <string.h>.
37949         * lib/strcase.h (strncasecmp): Don't declare it if yes.
37950
37951 2006-11-01  Bruno Haible  <bruno@clisp.org>
37952
37953         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
37954         * lib/strcase.h: Include <string.h>.
37955         (strcasecmp): Define to rpl_strcasecmp here.
37956
37957 2006-11-01  Bruno Haible  <bruno@clisp.org>
37958
37959         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
37960
37961 2006-11-01  Eric Blake  <ebb9@byu.net>
37962
37963         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
37964
37965         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
37966
37967 2006-10-29  Bruno Haible  <bruno@clisp.org>
37968
37969         Make it compile in C++ mode.
37970         * lib/full-write.c (full_rw): Add a cast.
37971
37972 2006-11-01  Bruno Haible  <bruno@clisp.org>
37973
37974         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
37975         be POSIX compliant.
37976         Reported by Roger Persson <perrog@gmail.com>.
37977
37978 2006-11-01  Eric Blake  <ebb9@byu.net>
37979
37980         * lib/getopt_.h: Fix comments.
37981
37982 2006-10-31  Eric Blake  <ebb9@byu.net>
37983
37984         * modules/tmpdir (Depends-on): Add sys_stat.
37985         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
37986         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
37987         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
37988         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
37989         tempname.
37990
37991 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
37992
37993         Avoid some C++ diagnostics reported by Bruno Haible.
37994         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
37995         xmalloc.
37996         (quotearg_alloc): Use xcharalloc rather than xmalloc.
37997         (struct slotvec): Move to top level.
37998         (quotearg_n_options): Rewrite to avoid xmalloc.
37999         * lib/xalloc.h (xcharalloc): New function.
38000         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
38001         [defined __cplusplus]: Add function template that provides result
38002         type propagation.  This part of the change is from Bruno Haible.
38003
38004 2006-10-29  Bruno Haible  <bruno@clisp.org>
38005
38006         Make it compile in C++ mode.
38007         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
38008         * lib/strnlen1.c (strnlen1): Cast memchr result.
38009         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
38010         * lib/clean-temp.c (string_equals, string_hash): Add casts.
38011         (create_temp_dir): Rename local variable 'template'.
38012         (compile_csharp_using_sscli): Add cast.
38013         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
38014         * lib/findprog.c (find_in_path): Likewise.
38015         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
38016         * lib/wait-process.c (register_slave_subprocess): Likewise.
38017
38018 2006-10-22  Bruno Haible  <bruno@clisp.org>
38019
38020         * modules/tsearch: New file.
38021         * lib/tsearch.h: New file.
38022         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
38023         * m4/tsearch.m4: New file.
38024         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
38025
38026 2006-10-29  Eric Blake  <ebb9@byu.net>
38027
38028         * lib/arcfour.c: Assume config.h.
38029         * lib/arctwo.c: Likewise.
38030         * lib/base64.c: Likewise.
38031         * lib/check-version.c: Likewise.
38032         * lib/crc.c: Likewise.
38033         * lib/des.c: Likewise.
38034         * lib/gc-gnulib.c: Likewise.
38035         * lib/gc-libgcrypt.c: Likewise.
38036         * lib/gc-pbkdf2-sha1.c: Likewise.
38037         * lib/getaddrinfo.c: Likewise.
38038         * lib/getdelim.c: Likewise.
38039         * lib/getline.c: Likewise.
38040         * lib/hmac-md5.c: Likewise.
38041         * lib/hmac-sha1.c: Likewise.
38042         * lib/iconvme.c: Likewise.
38043         * lib/md2.c: Likewise.
38044         * lib/md4.c: Likewise.
38045         * lib/memxor.c: Likewise.
38046         * lib/read-file.c: Likewise.
38047         * lib/readline.c: Likewise.
38048         * lib/rijndael-alg-fst.c: Likewise.
38049         * lib/rijndael-api-fst.c: Likewise.
38050         * lib/xgetdomainname.c: Likewise.
38051
38052 2006-10-28  Eric Blake  <ebb9@byu.net>
38053
38054         * lib/xstrndup.c: Assume config.h.
38055
38056 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
38057
38058         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
38059         stat-macros.h is now for our own macros, whereas stat_h is for
38060         macros in the <sys/stat.h> name space.
38061         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
38062         (STAT_MACROS_H): Remove.
38063         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
38064         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
38065         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
38066         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
38067         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
38068         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
38069         Move these macros to ...
38070         * lib/stat_.h: here.  Don't include stat-macros.h.
38071         * lib/canonicalize.c: Don't include stat-macros.h.
38072         * lib/chown.c: Likewise.
38073         * lib/euidaccess.c: Likewise.
38074         * lib/file-type.c: Likewise.
38075         * lib/filemode.c: Likewise.
38076         * lib/glob.c: Likewise.
38077         * lib/isapipe.c: Likewise.
38078         * lib/lchown.c: Likewise.
38079         * lib/lstat.c: Likewise.
38080         * lib/mkdir-p.c: Likewise.
38081         * lib/rmdir.c: Likewise.
38082         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
38083         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
38084         unless mkdir isn't declared, to speed up 'configure'.
38085         Always create sys/stat.h, since it's unlikely any real sys/stat.h
38086         would define all the S_* symbols.
38087         * modules/canonicalize (Depends-on):
38088         Depend on sys_stat, not stat-macros.
38089         * modules/chown: Likewise.
38090         * modules/euidaccess: Likewise.
38091         * modules/filemode: Likewise.
38092         * modules/file-type: Likewise.
38093         * modules/glob: Likewise.
38094         * modules/isapipe: Likewise.
38095         * modules/lchown: Likewise.
38096         * modules/lstat: Likewise.
38097         * modules/mkancesdirs: Likewise.
38098         * modules/rmdir: Likewise.
38099         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
38100         * modules/modechange: Likewise.
38101         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
38102         (configure.ac): Remove gl_STAT_MACROS.
38103         * modules/sys_stat (Depends-on): Remove stat-macros.
38104
38105 2006-10-27  Bruno Haible  <bruno@clisp.org>
38106
38107         * m4/signed.m4: Remove file.
38108         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
38109         invocation.
38110         * modules/vasnprintf (Files): Remove m4/signed.m4.
38111
38112 2006-10-27  Bruno Haible  <bruno@clisp.org>
38113
38114         Update to GNU gettext 0.16.
38115         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
38116         m4/inttypes-h.m4, m4/signed.m4.
38117         * m4/gettext.m4: Update to GNU gettext 0.16.
38118         * m4/intl.m4: New file, from GNU gettext.
38119         * m4/intldir.m4: New file, from GNU gettext.
38120         * config/srclist.txt: Update
38121
38122 2006-10-27  Eric Blake  <ebb9@byu.net>
38123
38124         * MODULES.html.sh: Document tempname.
38125         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
38126         dependencies.
38127         (Files): Move lib/tempname.c...
38128         * modules/tempname: ...to this new module.
38129         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
38130         (gl_PREREQ_TEMPNAME): Move...
38131         * m4/tempname.m4: ...to this new file.
38132         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
38133         * modules/sys_stat (Depends-on): Add stat-macros.
38134         * lib/stat_.h (includes): Pick up stat macros.
38135         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
38136         if stat macros are broken.
38137         * lib/tempname.c (includes): No need to include "stat-macros.h".
38138         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
38139         (direxists, __path_search) [!_LIBC]: Don't compile these in
38140         gnulib; the tmpdir module covers that.
38141         * lib/tempname.h: New file.
38142
38143 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
38144
38145         * COPYING: Explain how gnulib-tool converts licence headers.
38146         Almost all wording by Eric Blake.
38147
38148 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
38149
38150         * lib/mbchar.h (is_basic_table): Make read-only.
38151         * lib/mbchar.c (is_basic_table): Likewise.
38152         Reported by John Darrington.
38153
38154 2006-10-25  Bruno Haible  <bruno@clisp.org>
38155
38156         * lib/progname.h (set_program_name): Undefine before defining.
38157
38158 2006-10-25  Bruno Haible  <bruno@clisp.org>
38159
38160         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
38161         false for non-gcc C++ compilers.
38162         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
38163
38164 2006-10-24  Bruno Haible  <bruno@clisp.org>
38165
38166         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
38167         iconv implementations like Irix iconv.
38168
38169 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
38170
38171         * modules/vararrays: New file.
38172         * m4/vararrays.m4: New file, taken from diffutils.
38173         * MODULES.html.sh: New module vararrays.
38174
38175 2006-10-24  Karl Berry  <karl@gnu.org>
38176
38177         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
38178         Don't call GNU Unix.
38179
38180 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38181
38182         * users.txt: Add Libtool.
38183
38184         Sync from Libtool:
38185
38186         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
38187
38188         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
38189         to gnulib's policy of including config.h unconditionally.
38190
38191 2006-10-24  Bruno Haible  <bruno@clisp.org>
38192
38193         * modules/wcwidth (Files): Add m4/wint_t.m4.
38194         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
38195         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
38196
38197 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
38198
38199         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
38200         to pacify GCC with some -W flags enabled.  Problem reported by
38201         Bruno Haible.
38202
38203 2006-10-24  Jim Meyering  <jim@meyering.net>
38204
38205         * MODULES.html.sh: Remove uinttostr.  It's not a module.
38206         Reported by Karl Berry.
38207
38208 2006-10-23  Bruno Haible  <bruno@clisp.org>
38209
38210         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
38211
38212 2006-10-24  Bruno Haible  <bruno@clisp.org>
38213
38214         * lib/gl_list.h: Use C comment style, not C++ comment style.
38215
38216 2006-10-23  Eric Blake  <ebb9@byu.net>
38217
38218         * lib/getaddrinfo.c (includes): Add missing include.
38219
38220 2006-10-23  Bruno Haible  <bruno@clisp.org>
38221             Paul Eggert  <eggert@cs.ucla.edu>
38222
38223         Ability to rename obstack_free.
38224         * lib/obstack.h (__obstack_free): New macro. Declare instead of
38225         obstack_free.
38226         (obstack_free): Invoke the __obstack_free macro.
38227         * lib/obstack.c (obstack_free): Use __obstack_free macro.
38228
38229 2006-10-23  Bruno Haible  <bruno@clisp.org>
38230             Paul Eggert  <eggert@cs.ucla.edu>
38231
38232         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
38233         __argc, __argv from the declaration. (They are defined as macros on
38234         mingw.)
38235
38236 2006-10-22  Bruno Haible  <bruno@clisp.org>
38237
38238         * doc/gnulib-intro.texi: New file.
38239         * doc/gnulib.texi: Include it.
38240
38241 2006-10-21  Bruno Haible  <bruno@clisp.org>
38242
38243         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
38244         "Introduction", "Miscellanous Notes", "Particular Modules".
38245
38246 2006-10-21  Bruno Haible  <bruno@clisp.org>
38247
38248         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
38249         Change mostlyclean-local rule to avoid sh syntax error from bash
38250         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
38251
38252 2006-10-23  Jim Meyering  <jim@meyering.net>
38253
38254         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
38255         in place of snprintf.
38256
38257         * modules/inttostr (Files): Add lib/uinttostr.c.
38258         * lib/uinttostr.c (inttostr): New file/function.
38259         * lib/inttostr.h (uinttostr): Declare.
38260         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
38261         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
38262         Add uinttostr.
38263         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
38264
38265 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
38266
38267         * lib/canonicalize.c (ELOOP): Define if not already defined.
38268         Problem reported by Bruno Haible in
38269         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
38270
38271 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
38272
38273         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
38274         Problem reported by Perry Smith and Ville Laurikari.
38275
38276         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
38277         uses.
38278
38279 2006-10-19  Bruno Haible  <bruno@clisp.org>
38280
38281         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
38282         for mingw.
38283
38284 2006-10-19  Bruno Haible  <bruno@clisp.org>
38285
38286         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
38287         Needed for mingw.
38288
38289 2006-10-19  Bruno Haible  <bruno@clisp.org>
38290
38291         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
38292
38293 2006-10-19  Bruno Haible  <bruno@clisp.org>
38294
38295         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
38296         it.
38297
38298 2006-10-19  Bruno Haible  <bruno@clisp.org>
38299
38300         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
38301         invocation.
38302
38303 2006-10-19  Bruno Haible  <bruno@clisp.org>
38304
38305         * gnulib-tool (func_create_testdir): Don't include ftruncate and
38306         mountlist by default.
38307
38308 2006-10-16  Bruno Haible  <bruno@clisp.org>
38309
38310         * lib/c-strstr.c: Include c-strstr.h.
38311
38312 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
38313
38314         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
38315         in a slash.
38316
38317 2006-10-18  Bruno Haible  <bruno@clisp.org>
38318
38319         * lib/lock.h [C++]: Wrap definitions in extern "C".
38320
38321 2006-10-18  Bruno Haible  <bruno@clisp.org>
38322
38323         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
38324         gl_LIBOBJS list.
38325
38326 2006-10-18  Bruno Haible  <bruno@clisp.org>
38327
38328         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
38329
38330 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
38331
38332         * lib/xstrtol.h: Include gettext.h.
38333         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
38334         Problem reported by Eric Blake.
38335         * modules/xstrtol (Depends-on): Add gettext-h.
38336
38337 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
38338
38339         * lib/strftime.c (advance): New macro.
38340         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
38341         incomplete type, so you can't add 0 to it.  Problem and patch
38342         reported by Eelco Dolstra for dietlibc.
38343
38344 2006-10-18  Jim Meyering  <jim@meyering.net>
38345
38346         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
38347         type for a local, and rename it: s/up/user_proc/.
38348
38349 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
38350
38351         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
38352         READ_UTMP_USER_PROCESS.
38353         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
38354
38355 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
38356
38357         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
38358         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
38359
38360 2006-10-17  Eric Blake  <ebb9@byu.net>
38361
38362         * lib/sigprocmask.c (sigprocmask): Fix typo.
38363
38364         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
38365
38366         * modules/clean-temp (Makefile.am): Don't add to make output...
38367         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
38368         config.h.
38369
38370 2006-10-17  Bruno Haible  <bruno@clisp.org>
38371
38372         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
38373         differently if DEFAULT_TEXT_DOMAIN is set.
38374
38375 2006-10-16  Bruno Haible  <bruno@clisp.org>
38376
38377         * lib/clean-temp.c: Include fwriteerror.h.
38378
38379 2006-10-16  Bruno Haible  <bruno@clisp.org>
38380
38381         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
38382
38383 2006-10-16  Bruno Haible  <bruno@clisp.org>
38384
38385         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
38386         * lib/sigprocmask.h: Include <sys/types.h>.
38387         (sigset_t): Use the system's definition if present.
38388
38389 2006-10-17  Eric Blake  <ebb9@byu.net>
38390
38391         * lib/xvasprintf.c (includes): Assume config.h.
38392         * lib/xasprintf.c (includes): Likewise.
38393
38394 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
38395
38396         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
38397         at least as wide as intmax_t.
38398
38399 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
38400
38401         (Imported from Automake.)
38402         * build-aux/gnupload: Update to version 1.1 of directive file.
38403
38404 2006-10-16  Eric Blake  <ebb9@byu.net>
38405
38406         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
38407         match Automake 1.10a.
38408
38409 2006-10-14  Bruno Haible  <bruno@clisp.org>
38410
38411         * modules/sigprocmask: New file.
38412         * lib/sigprocmask.h: New file.
38413         * lib/sigprocmask.c: New file.
38414         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
38415         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
38416         request sigprocmask.o.
38417         (gl_PREREQ_SIGPROCMASK): New macro.
38418         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
38419         (Depends-on): Add sigprocmask.
38420         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
38421         gt_SIGNALBLOCKING. Test for 'raise' only once.
38422         * lib/fatal-signal.c: Include sigprocmask.h.
38423         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
38424         unblock_fatal_signals): Define always.
38425         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
38426         sigprocmask.
38427
38428 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
38429
38430         Sync from Automake.
38431         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
38432         which incorrectly sets the mode of an existing destination
38433         directory.  In some cases the unpatched install-sh could do the
38434         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
38435         system.  We hope this is rare in practice, but it's clearly worth
38436         fixing.  Problem reported by Alex Unleashed in
38437         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
38438         Also, don't bother to check for -m bugs unless we're using -m;
38439         suggested by Stepan Kasal.
38440
38441 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38442
38443         Sync from Automake.
38444         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
38445         `-c' flag, so they appear at the same position as in %FASTDEP%
38446         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
38447         which ignores unknown options only after the first non-option.
38448         Bug report against M4 by Nelson H. F. Beebe.
38449
38450 2006-10-13  Jim Meyering  <jim@meyering.net>
38451
38452         Fix a bug in yesterday's change.
38453         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
38454         p->fts_statp->st_dev would be used uninitialized.
38455         Ensures that we always call fts_stat on the very first entry.
38456         Miklos Szeredi reported that find -xdev stopped working.
38457
38458 2006-10-12  Bruno Haible  <bruno@clisp.org>
38459
38460         * gnulib-tool (func_get_automake_snippet): Append an automatically
38461         computed EXTRA_DIST augmentation.
38462         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
38463         * modules/alloca-opt (Makefile.am): Likewise.
38464         * modules/allocsa (Makefile.am): Likewise.
38465         * modules/arcfour (Makefile.am): Likewise.
38466         * modules/arctwo (Makefile.am): Likewise.
38467         * modules/argmatch (Makefile.am): Likewise.
38468         * modules/argz (Makefile.am): Likewise.
38469         * modules/atexit (Makefile.am): Likewise.
38470         * modules/backupfile (Makefile.am): Likewise.
38471         * modules/byteswap (Makefile.am): Likewise.
38472         * modules/c-strtod (Makefile.am): Likewise.
38473         * modules/c-strtold (Makefile.am): Likewise.
38474         * modules/calloc (Makefile.am): Likewise.
38475         * modules/canon-host (Makefile.am): Likewise.
38476         * modules/canonicalize (Makefile.am): Likewise.
38477         * modules/chdir-long (Makefile.am): Likewise.
38478         * modules/chdir-safer (Makefile.am): Likewise.
38479         * modules/check-version (Makefile.am): Likewise.
38480         * modules/chown (Makefile.am): Likewise.
38481         * modules/cloexec (Makefile.am): Likewise.
38482         * modules/close-stream (Makefile.am): Likewise.
38483         * modules/closeout (Makefile.am): Likewise.
38484         * modules/crc (Makefile.am): Likewise.
38485         * modules/csharpexec (Makefile.am): Likewise.
38486         * modules/cycle-check (Makefile.am): Likewise.
38487         * modules/des (Makefile.am): Likewise.
38488         * modules/dev-ino (Makefile.am): Likewise.
38489         * modules/dirfd (Makefile.am): Likewise.
38490         * modules/dirname (Makefile.am): Likewise.
38491         * modules/dup2 (Makefile.am): Likewise.
38492         * modules/eealloc (Makefile.am): Likewise.
38493         * modules/error (Makefile.am): Likewise.
38494         * modules/euidaccess (Makefile.am): Likewise.
38495         * modules/exclude (Makefile.am): Likewise.
38496         * modules/exitfail (Makefile.am): Likewise.
38497         * modules/fcntl-safer (Makefile.am): Likewise.
38498         * modules/fcntl (Makefile.am): Likewise.
38499         * modules/file-type (Makefile.am): Likewise.
38500         * modules/fileblocks (Makefile.am): Likewise.
38501         * modules/filemode (Makefile.am): Likewise.
38502         * modules/filenamecat (Makefile.am): Likewise.
38503         * modules/fnmatch (Makefile.am): Likewise.
38504         * modules/fopen-safer (Makefile.am): Likewise.
38505         * modules/fpending (Makefile.am): Likewise.
38506         * modules/fprintftime (Makefile.am): Likewise.
38507         * modules/free (Makefile.am): Likewise.
38508         * modules/fsusage (Makefile.am): Likewise.
38509         * modules/ftruncate (Makefile.am): Likewise.
38510         * modules/fts (Makefile.am): Likewise.
38511         * modules/gc-arcfour (Makefile.am): Likewise.
38512         * modules/gc-des (Makefile.am): Likewise.
38513         * modules/gc-hmac-md5 (Makefile.am): Likewise.
38514         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
38515         * modules/gc-md4 (Makefile.am): Likewise.
38516         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
38517         * modules/gc-sha1 (Makefile.am): Likewise.
38518         * modules/gc (Makefile.am): Likewise.
38519         * modules/getaddrinfo (Makefile.am): Likewise.
38520         * modules/getcwd (Makefile.am): Likewise.
38521         * modules/getdelim (Makefile.am): Likewise.
38522         * modules/getdomainname (Makefile.am): Likewise.
38523         * modules/getgroups (Makefile.am): Likewise.
38524         * modules/gethostname (Makefile.am): Likewise.
38525         * modules/gethrxtime (Makefile.am): Likewise.
38526         * modules/getline (Makefile.am): Likewise.
38527         * modules/getloadavg (Makefile.am): Likewise.
38528         * modules/getlogin_r (Makefile.am): Likewise.
38529         * modules/getndelim2 (Makefile.am): Likewise.
38530         * modules/getopt (Makefile.am): Likewise.
38531         * modules/getpagesize (Makefile.am): Likewise.
38532         * modules/getpass-gnu (Makefile.am): Likewise.
38533         * modules/getpass (Makefile.am): Likewise.
38534         * modules/getsubopt (Makefile.am): Likewise.
38535         * modules/gettime (Makefile.am): Likewise.
38536         * modules/gettimeofday (Makefile.am): Likewise.
38537         * modules/getugroups (Makefile.am): Likewise.
38538         * modules/getusershell (Makefile.am): Likewise.
38539         * modules/glob (Makefile.am): Likewise.
38540         * modules/group-member (Makefile.am): Likewise.
38541         * modules/hard-locale (Makefile.am): Likewise.
38542         * modules/hash (Makefile.am): Likewise.
38543         * modules/hmac-md5 (Makefile.am): Likewise.
38544         * modules/hmac-sha1 (Makefile.am): Likewise.
38545         * modules/human (Makefile.am): Likewise.
38546         * modules/idcache (Makefile.am): Likewise.
38547         * modules/imaxabs (Makefile.am): Likewise.
38548         * modules/imaxdiv (Makefile.am): Likewise.
38549         * modules/inet_ntop (Makefile.am): Likewise.
38550         * modules/inet_pton (Makefile.am): Likewise.
38551         * modules/intprops (Makefile.am): Likewise.
38552         * modules/inttostr (Makefile.am): Likewise.
38553         * modules/inttypes (Makefile.am): Likewise.
38554         * modules/isapipe (Makefile.am): Likewise.
38555         * modules/javaversion (Makefile.am): Likewise.
38556         * modules/lchmod (Makefile.am): Likewise.
38557         * modules/lchown (Makefile.am): Likewise.
38558         * modules/localcharset (Makefile.am): Likewise.
38559         * modules/long-options (Makefile.am): Likewise.
38560         * modules/lstat (Makefile.am): Likewise.
38561         * modules/malloc (Makefile.am): Likewise.
38562         * modules/mathl (Makefile.am): Likewise.
38563         * modules/mbchar (Makefile.am): Likewise.
38564         * modules/md2 (Makefile.am): Likewise.
38565         * modules/md4 (Makefile.am): Likewise.
38566         * modules/md5 (Makefile.am): Likewise.
38567         * modules/memcasecmp (Makefile.am): Likewise.
38568         * modules/memchr (Makefile.am): Likewise.
38569         * modules/memcmp (Makefile.am): Likewise.
38570         * modules/memcoll (Makefile.am): Likewise.
38571         * modules/memcpy (Makefile.am): Likewise.
38572         * modules/memmem (Makefile.am): Likewise.
38573         * modules/memmove (Makefile.am): Likewise.
38574         * modules/mempcpy (Makefile.am): Likewise.
38575         * modules/memrchr (Makefile.am): Likewise.
38576         * modules/memset (Makefile.am): Likewise.
38577         * modules/memxor (Makefile.am): Likewise.
38578         * modules/mkancesdirs (Makefile.am): Likewise.
38579         * modules/mkdir-p (Makefile.am): Likewise.
38580         * modules/mkdir (Makefile.am): Likewise.
38581         * modules/mkdtemp (Makefile.am): Likewise.
38582         * modules/mkstemp (Makefile.am): Likewise.
38583         * modules/mktime (Makefile.am): Likewise.
38584         * modules/modechange (Makefile.am): Likewise.
38585         * modules/mountlist (Makefile.am): Likewise.
38586         * modules/nanosleep (Makefile.am): Likewise.
38587         * modules/obstack (Makefile.am): Likewise.
38588         * modules/openat (Makefile.am): Likewise.
38589         * modules/pagealign_alloc (Makefile.am): Likewise.
38590         * modules/pathmax (Makefile.am): Likewise.
38591         * modules/physmem (Makefile.am): Likewise.
38592         * modules/poll (Makefile.am): Likewise.
38593         * modules/posixtm (Makefile.am): Likewise.
38594         * modules/posixver (Makefile.am): Likewise.
38595         * modules/putenv (Makefile.am): Likewise.
38596         * modules/quote (Makefile.am): Likewise.
38597         * modules/quotearg (Makefile.am): Likewise.
38598         * modules/raise (Makefile.am): Likewise.
38599         * modules/read-file (Makefile.am): Likewise.
38600         * modules/readline (Makefile.am): Likewise.
38601         * modules/readlink (Makefile.am): Likewise.
38602         * modules/readtokens (Makefile.am): Likewise.
38603         * modules/readutmp (Makefile.am): Likewise.
38604         * modules/realloc (Makefile.am): Likewise.
38605         * modules/regex (Makefile.am): Likewise.
38606         * modules/rename-dest-slash (Makefile.am): Likewise.
38607         * modules/rename (Makefile.am): Likewise.
38608         * modules/rijndael (Makefile.am): Likewise.
38609         * modules/rmdir (Makefile.am): Likewise.
38610         * modules/rpmatch (Makefile.am): Likewise.
38611         * modules/safe-read (Makefile.am): Likewise.
38612         * modules/safe-write (Makefile.am): Likewise.
38613         * modules/same-inode (Makefile.am): Likewise.
38614         * modules/same (Makefile.am): Likewise.
38615         * modules/save-cwd (Makefile.am): Likewise.
38616         * modules/savedir (Makefile.am): Likewise.
38617         * modules/setenv (Makefile.am): Likewise.
38618         * modules/settime (Makefile.am): Likewise.
38619         * modules/sha1 (Makefile.am): Likewise.
38620         * modules/sig2str (Makefile.am): Likewise.
38621         * modules/snprintf (Makefile.am): Likewise.
38622         * modules/stat-macros (Makefile.am): Likewise.
38623         * modules/stat-time (Makefile.am): Likewise.
38624         * modules/stdbool (Makefile.am): Likewise.
38625         * modules/stdint (Makefile.am): Likewise.
38626         * modules/stdlib-safer (Makefile.am): Likewise.
38627         * modules/stpcpy (Makefile.am): Likewise.
38628         * modules/stpncpy (Makefile.am): Likewise.
38629         * modules/strcase (Makefile.am): Likewise.
38630         * modules/strcasestr (Makefile.am): Likewise.
38631         * modules/strchrnul (Makefile.am): Likewise.
38632         * modules/strcspn (Makefile.am): Likewise.
38633         * modules/strdup (Makefile.am): Likewise.
38634         * modules/strerror (Makefile.am): Likewise.
38635         * modules/strftime (Makefile.am): Likewise.
38636         * modules/strndup (Makefile.am): Likewise.
38637         * modules/strnlen (Makefile.am): Likewise.
38638         * modules/strpbrk (Makefile.am): Likewise.
38639         * modules/strsep (Makefile.am): Likewise.
38640         * modules/strstr (Makefile.am): Likewise.
38641         * modules/strtod (Makefile.am): Likewise.
38642         * modules/strtoimax (Makefile.am): Likewise.
38643         * modules/strtok_r (Makefile.am): Likewise.
38644         * modules/strtol (Makefile.am): Likewise.
38645         * modules/strtoll (Makefile.am): Likewise.
38646         * modules/strtoul (Makefile.am): Likewise.
38647         * modules/strtoull (Makefile.am): Likewise.
38648         * modules/strtoumax (Makefile.am): Likewise.
38649         * modules/strverscmp (Makefile.am): Likewise.
38650         * modules/sys_socket (Makefile.am): Likewise.
38651         * modules/sys_stat (Makefile.am): Likewise.
38652         * modules/sysexits (Makefile.am): Likewise.
38653         * modules/time_r (Makefile.am): Likewise.
38654         * modules/timegm (Makefile.am): Likewise.
38655         * modules/timespec (Makefile.am): Likewise.
38656         * modules/tmpfile-safer (Makefile.am): Likewise.
38657         * modules/trim (Makefile.am): Likewise.
38658         * modules/unistd-safer (Makefile.am): Likewise.
38659         * modules/unlinkdir (Makefile.am): Likewise.
38660         * modules/unlocked-io (Makefile.am): Likewise.
38661         * modules/userspec (Makefile.am): Likewise.
38662         * modules/utime (Makefile.am): Likewise.
38663         * modules/utimecmp (Makefile.am): Likewise.
38664         * modules/utimens (Makefile.am): Likewise.
38665         * modules/vasnprintf (Makefile.am): Likewise.
38666         * modules/vasprintf (Makefile.am): Likewise.
38667         * modules/vsnprintf (Makefile.am): Likewise.
38668         * modules/xalloc (Makefile.am): Likewise.
38669         * modules/xgetcwd (Makefile.am): Likewise.
38670         * modules/xnanosleep (Makefile.am): Likewise.
38671         * modules/xreadlink (Makefile.am): Likewise.
38672         * modules/xstrtod (Makefile.am): Likewise.
38673         * modules/xstrtol (Makefile.am): Likewise.
38674         * modules/xstrtold (Makefile.am): Likewise.
38675         * modules/yesno (Makefile.am): Likewise.
38676         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
38677
38678 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
38679
38680         * modules/error (Makefile.am): Distribute files through
38681         EXTRA_DIST, not lib_SOURCES.
38682
38683 2006-10-12  Eric Blake  <ebb9@byu.net>
38684
38685         * modules/error (Makefile.am): Distribute files in /lib.
38686         * modules/obstack (Makefile.am): Likewise.
38687
38688 2006-10-12  Bruno Haible  <bruno@clisp.org>
38689
38690         * modules/acl (Makefile.am): Distribute all files in lib/ through
38691         EXTRA_DIST.
38692         * modules/arcfour (Makefile.am): Likewise.
38693         * modules/arctwo (Makefile.am): Likewise.
38694         * modules/argmatch (Makefile.am): Likewise.
38695         * modules/argz (Makefile.am): Likewise.
38696         * modules/atexit (Makefile.am): Likewise.
38697         * modules/backupfile (Makefile.am): Likewise.
38698         * modules/c-strtod (Makefile.am): Likewise.
38699         * modules/c-strtold (Makefile.am): Likewise.
38700         * modules/calloc (Makefile.am): Likewise.
38701         * modules/canon-host (Makefile.am): Likewise.
38702         * modules/canonicalize (Makefile.am): Likewise.
38703         * modules/chdir-long (Makefile.am): Likewise.
38704         * modules/chdir-safer (Makefile.am): Likewise.
38705         * modules/check-version (Makefile.am): Likewise.
38706         * modules/chown (Makefile.am): Likewise.
38707         * modules/cloexec (Makefile.am): Likewise.
38708         * modules/close-stream (Makefile.am): Likewise.
38709         * modules/closeout (Makefile.am): Likewise.
38710         * modules/crc (Makefile.am): Likewise.
38711         * modules/cycle-check (Makefile.am): Likewise.
38712         * modules/des (Makefile.am): Likewise.
38713         * modules/dirfd (Makefile.am): Likewise.
38714         * modules/dirname (Makefile.am): Likewise.
38715         * modules/dup2 (Makefile.am): Likewise.
38716         * modules/euidaccess (Makefile.am): Likewise.
38717         * modules/exclude (Makefile.am): Likewise.
38718         * modules/exitfail (Makefile.am): Likewise.
38719         * modules/fcntl-safer (Makefile.am): Likewise.
38720         * modules/file-type (Makefile.am): Likewise.
38721         * modules/fileblocks (Makefile.am): Likewise.
38722         * modules/filemode (Makefile.am): Likewise.
38723         * modules/filenamecat (Makefile.am): Likewise.
38724         * modules/fnmatch (Makefile.am): Likewise.
38725         * modules/fopen-safer (Makefile.am): Likewise.
38726         * modules/fpending (Makefile.am): Likewise.
38727         * modules/fprintftime (Makefile.am): Likewise.
38728         * modules/free (Makefile.am): Likewise.
38729         * modules/fsusage (Makefile.am): Likewise.
38730         * modules/ftruncate (Makefile.am): Likewise.
38731         * modules/fts (Makefile.am): Likewise.
38732         * modules/gc (Makefile.am): Likewise.
38733         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
38734         * modules/getaddrinfo (Makefile.am): Likewise.
38735         * modules/getcwd (Makefile.am): Likewise.
38736         * modules/getdelim (Makefile.am): Likewise.
38737         * modules/getdomainname (Makefile.am): Likewise.
38738         * modules/getgroups (Makefile.am): Likewise.
38739         * modules/gethostname (Makefile.am): Likewise.
38740         * modules/gethrxtime (Makefile.am): Likewise.
38741         * modules/getline (Makefile.am): Likewise.
38742         * modules/getloadavg (Makefile.am): Likewise.
38743         * modules/getlogin_r (Makefile.am): Likewise.
38744         * modules/getopt (Makefile.am): Likewise.
38745         * modules/getpass (Makefile.am): Likewise.
38746         * modules/getpass-gnu (Makefile.am): Likewise.
38747         * modules/getsubopt (Makefile.am): Likewise.
38748         * modules/gettime (Makefile.am): Likewise.
38749         * modules/gettimeofday (Makefile.am): Likewise.
38750         * modules/getugroups (Makefile.am): Likewise.
38751         * modules/getusershell (Makefile.am): Likewise.
38752         * modules/glob (Makefile.am): Likewise.
38753         * modules/group-member (Makefile.am): Likewise.
38754         * modules/hard-locale (Makefile.am): Likewise.
38755         * modules/hash (Makefile.am): Likewise.
38756         * modules/hmac-md5 (Makefile.am): Likewise.
38757         * modules/hmac-sha1 (Makefile.am): Likewise.
38758         * modules/human (Makefile.am): Likewise.
38759         * modules/idcache (Makefile.am): Likewise.
38760         * modules/imaxabs (Makefile.am): Likewise.
38761         * modules/imaxdiv (Makefile.am): Likewise.
38762         * modules/inet_ntop (Makefile.am): Likewise.
38763         * modules/inet_pton (Makefile.am): Likewise.
38764         * modules/inttostr (Makefile.am): Likewise.
38765         * modules/isapipe (Makefile.am): Likewise.
38766         * modules/lchown (Makefile.am): Likewise.
38767         * modules/long-options (Makefile.am): Likewise.
38768         * modules/lstat (Makefile.am): Likewise.
38769         * modules/malloc (Makefile.am): Likewise.
38770         * modules/mathl (Makefile.am): Likewise.
38771         * modules/mbchar (Makefile.am): Likewise.
38772         * modules/md2 (Makefile.am): Likewise.
38773         * modules/md4 (Makefile.am): Likewise.
38774         * modules/md5 (Makefile.am): Likewise.
38775         * modules/memcasecmp (Makefile.am): Likewise.
38776         * modules/memchr (Makefile.am): Likewise.
38777         * modules/memcmp (Makefile.am): Likewise.
38778         * modules/memcoll (Makefile.am): Likewise.
38779         * modules/memcpy (Makefile.am): Likewise.
38780         * modules/memmem (Makefile.am): Likewise.
38781         * modules/memmove (Makefile.am): Likewise.
38782         * modules/mempcpy (Makefile.am): Likewise.
38783         * modules/memrchr (Makefile.am): Likewise.
38784         * modules/memset (Makefile.am): Likewise.
38785         * modules/memxor (Makefile.am): Likewise.
38786         * modules/mkancesdirs (Makefile.am): Likewise.
38787         * modules/mkdir (Makefile.am): Likewise.
38788         * modules/mkdir-p (Makefile.am): Likewise.
38789         * modules/mkdtemp (Makefile.am): Likewise.
38790         * modules/mkstemp (Makefile.am): Likewise.
38791         * modules/mktime (Makefile.am): Likewise.
38792         * modules/modechange (Makefile.am): Likewise.
38793         * modules/mountlist (Makefile.am): Likewise.
38794         * modules/nanosleep (Makefile.am): Likewise.
38795         * modules/openat (Makefile.am): Likewise.
38796         * modules/pagealign_alloc (Makefile.am): Likewise.
38797         * modules/physmem (Makefile.am): Likewise.
38798         * modules/poll (Makefile.am): Likewise.
38799         * modules/posixtm (Makefile.am): Likewise.
38800         * modules/posixver (Makefile.am): Likewise.
38801         * modules/putenv (Makefile.am): Likewise.
38802         * modules/quote (Makefile.am): Likewise.
38803         * modules/quotearg (Makefile.am): Likewise.
38804         * modules/raise (Makefile.am): Likewise.
38805         * modules/read-file (Makefile.am): Likewise.
38806         * modules/readline (Makefile.am): Likewise.
38807         * modules/readlink (Makefile.am): Likewise.
38808         * modules/readtokens (Makefile.am): Likewise.
38809         * modules/readutmp (Makefile.am): Likewise.
38810         * modules/realloc (Makefile.am): Likewise.
38811         * modules/regex (Makefile.am): Likewise.
38812         * modules/rename (Makefile.am): Likewise.
38813         * modules/rename-dest-slash (Makefile.am): Likewise.
38814         * modules/rijndael (Makefile.am): Likewise.
38815         * modules/rmdir (Makefile.am): Likewise.
38816         * modules/rpmatch (Makefile.am): Likewise.
38817         * modules/safe-read (Makefile.am): Likewise.
38818         * modules/safe-write (Makefile.am): Likewise.
38819         * modules/same (Makefile.am): Likewise.
38820         * modules/save-cwd (Makefile.am): Likewise.
38821         * modules/savedir (Makefile.am): Likewise.
38822         * modules/setenv (Makefile.am): Likewise.
38823         * modules/settime (Makefile.am): Likewise.
38824         * modules/sha1 (Makefile.am): Likewise.
38825         * modules/sig2str (Makefile.am): Likewise.
38826         * modules/snprintf (Makefile.am): Likewise.
38827         * modules/stdlib-safer (Makefile.am): Likewise.
38828         * modules/stpcpy (Makefile.am): Likewise.
38829         * modules/stpncpy (Makefile.am): Likewise.
38830         * modules/strcase (Makefile.am): Likewise.
38831         * modules/strcasestr (Makefile.am): Likewise.
38832         * modules/strchrnul (Makefile.am): Likewise.
38833         * modules/strcspn (Makefile.am): Likewise.
38834         * modules/strdup (Makefile.am): Likewise.
38835         * modules/strerror (Makefile.am): Likewise.
38836         * modules/strftime (Makefile.am): Likewise.
38837         * modules/strndup (Makefile.am): Likewise.
38838         * modules/strnlen (Makefile.am): Likewise.
38839         * modules/strpbrk (Makefile.am): Likewise.
38840         * modules/strsep (Makefile.am): Likewise.
38841         * modules/strstr (Makefile.am): Likewise.
38842         * modules/strtod (Makefile.am): Likewise.
38843         * modules/strtoimax (Makefile.am): Likewise.
38844         * modules/strtok_r (Makefile.am): Likewise.
38845         * modules/strtol (Makefile.am): Likewise.
38846         * modules/strtoll (Makefile.am): Likewise.
38847         * modules/strtoul (Makefile.am): Likewise.
38848         * modules/strtoull (Makefile.am): Likewise.
38849         * modules/strtoumax (Makefile.am): Likewise.
38850         * modules/strverscmp (Makefile.am): Likewise.
38851         * modules/time_r (Makefile.am): Likewise.
38852         * modules/timegm (Makefile.am): Likewise.
38853         * modules/tmpfile-safer (Makefile.am): Likewise.
38854         * modules/unistd-safer (Makefile.am): Likewise.
38855         * modules/unlinkdir (Makefile.am): Likewise.
38856         * modules/userspec (Makefile.am): Likewise.
38857         * modules/utime (Makefile.am): Likewise.
38858         * modules/utimecmp (Makefile.am): Likewise.
38859         * modules/utimens (Makefile.am): Likewise.
38860         * modules/vasnprintf (Makefile.am): Likewise.
38861         * modules/vasprintf (Makefile.am): Likewise.
38862         * modules/vsnprintf (Makefile.am): Likewise.
38863         * modules/xalloc (Makefile.am): Likewise.
38864         * modules/xgetcwd (Makefile.am): Likewise.
38865         * modules/xnanosleep (Makefile.am): Likewise.
38866         * modules/xreadlink (Makefile.am): Likewise.
38867         * modules/xstrtod (Makefile.am): Likewise.
38868         * modules/xstrtol (Makefile.am): Likewise.
38869         * modules/xstrtold (Makefile.am): Likewise.
38870         * modules/yesno (Makefile.am): Likewise.
38871
38872 2006-10-12  Jim Meyering  <jim@meyering.net>
38873
38874         * m4/getloadavg.m4: Revert the change below.
38875
38876         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
38877         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
38878         fail with a symlink, which is what coreutils' ./bootstrap now
38879         creates by default.
38880
38881 2006-10-12  Bruno Haible  <bruno@clisp.org>
38882
38883         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
38884         mingw.
38885         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
38886         MSVC and mingw explicitly.
38887
38888 2006-10-11  Simon Josefsson  <jas@extundo.com>
38889             Bruno Haible  <bruno@clisp.org>
38890
38891         Add support for multiple gnulib-tool invocations in the scope of a
38892         single configure.ac file.
38893         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
38894         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
38895         with the same contents as the _LIBADD variable.
38896         (func_emit_initmacro_start, func_emit_initmacro_end,
38897         func_emit_initmacro_done): New functions.
38898         (func_import, func_create_testdir): Invoke them. Allow the identifiers
38899         gl_LIBOBJS and gl_LTLIBOBJS.
38900
38901 2006-10-11  Bruno Haible  <bruno@clisp.org>
38902
38903         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
38904         (func_create_testdir): Don't create po/Makefile.am, don't invoke
38905         autoreconf. Instead, invoke autopoint explicitly but move back the
38906         *.m4 files from gnulib.
38907
38908 2006-10-11  Bruno Haible  <bruno@clisp.org>
38909
38910         * gnulib-tool (func_usage): Make module names after --create-testdir
38911         optional.
38912         (func_create_testdir): If no module was specified, use nearly all
38913         modules.
38914
38915 2006-10-12  Jim Meyering  <jim@meyering.net>
38916
38917         Big performance improvement for fts-based tools that use FTS_NOSTAT.
38918         Avoid spurious inode-mismatch problems on non-POSIX file systems.
38919         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
38920         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
38921         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
38922         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
38923         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
38924         (fts_set_stat_required): New function.
38925         (fts_open): Defer the calls to fts_stat, if possible or requested.
38926         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
38927         into fts_stat itself.
38928         (fts_read): Perform any required (deferred) fts_stat call.
38929         (fts_build): Likewise, for the directory we're about to open and read.
38930         In the readdir loop, carefully decide whether each entry will require
38931         an eventual call to fts_stat, using dirent.d_type info if available.
38932         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
38933         a command line argument into this function.  Update all callers.
38934         Map a return value of FTS_DOT to FTS_D for a command line argument.
38935         * modules/fts (Depends-on): Add d-type.  Alphabetize.
38936         Thanks to Miklos Szeredi for his tenacity and for the initial
38937         bug report about "find" failing on a FUSE-based file system.
38938
38939         * lib/fts.c (fts_open): Use consistent indentation.
38940
38941 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
38942
38943         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
38944         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
38945         reported by Jim Meyering.  All uses of cache variables renamed
38946         to match Autoconf's.
38947         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
38948         the other one.
38949
38950         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
38951         Fix misspelling in diagnostic.
38952
38953 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
38954
38955         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
38956         defined.  Problem reported by Matthew Woehlke.
38957
38958         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
38959         Add support for Tandem NonStop R series.
38960         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
38961         Use new macro.
38962
38963         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
38964         (has_trailing_slash): Omit size arg; all callers changed.
38965         Omit 'inline', since it doesn't help performance and we'd
38966         need to configure it.
38967         Don't count //, ///, etc. as having a trailing slash.
38968         As a side effect, this removes a C99ism reported by Matthew Woehlke.
38969         (rpl_rename_dest_slash): On failure, use rename's errno rather
38970         than (in some cases) an incorrect or junk errno.
38971         Simplify code by removing need to compute length; this does
38972         cause it to make two passes instead of one over the file name,
38973         but it's worth it.
38974
38975         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
38976         change, since Autoconf's version may no longer be appropriate now
38977         that we are using CVS Autoconf's version.  Add support for Tandem.
38978
38979 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
38980             Bruno Haible  <bruno@clisp.org>
38981
38982         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
38983         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
38984         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
38985         gl_AC_TYPE_LONG_LONG.
38986
38987         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
38988         instead of HAVE_LONG_LONG.
38989         * lib/printf-args.c (printf_fetchargs): Likewise.
38990         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
38991         * lib/vasnprintf.c (VASNPRINTF): Likewise.
38992         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
38993         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
38994         gl_AC_TYPE_LONG_LONG.
38995
38996 2006-10-11  Bruno Haible  <bruno@clisp.org>
38997
38998         * m4/longlong.m4: Add comments.
38999         * m4/ulonglong.m4: Likewise.
39000
39001 2006-10-10  Bruno Haible  <bruno@clisp.org>
39002
39003         Make it possible to #define stpcpy, strdup to aliases.
39004         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
39005         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
39006
39007 2006-10-10  Bruno Haible  <bruno@clisp.org>
39008
39009         Make it possible to #define gcd to an alias.
39010         * lib/gcd.c: Include config.h.
39011
39012 2006-10-10  Bruno Haible  <bruno@clisp.org>
39013
39014         Make it possible to #define c_isascii to an alias.
39015         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
39016         defined. Undefine the macros before defining them, to avoid gcc
39017         warnings.
39018         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
39019         define NO_C_CTYPE_MACROS early.
39020
39021 2006-10-10  Bruno Haible  <bruno@clisp.org>
39022
39023         Make it possible to #define set_program_name to an alias.
39024         * lib/progname.c: Don't undefine set_program_name; instead, undefine
39025         ENABLE_RELOCATABLE early.
39026
39027 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
39028
39029         Port to Tandem NSK OSS, which has 64-bit signed int but at most
39030         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
39031         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
39032         More generally, don't assume that 64-bit signed int is available
39033         if unsigned int is, and vice versa.
39034         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
39035         unsigned symbols, not on their signed counterparts.
39036         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
39037         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
39038         (UINT64_C, UINTMAX_C):
39039         Likewise.
39040         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
39041         unsigned counterparts.
39042         (Have_long_long, Unsigned): New macros.
39043         (Int): Renamed from INT.
39044         (strtoimax): Use the new macros.
39045         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
39046         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
39047         * modules/inttypes (inttypes.h): Substitute
39048         HAVE_UNSIGNED_LONG_LONG_INT.
39049         * modules/stdint (stdint.h): Likewise.
39050         (Files): Add m4/ulonglong.m4.
39051
39052 2006-10-10  Bruno Haible  <bruno@clisp.org>
39053
39054         Fix a gcc -Wshadow warning.
39055         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
39056         to 'bucket'.
39057         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
39058         gl_linked_indexof_from_to): Likewise.
39059         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
39060         Likewise.
39061         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
39062         Likewise.
39063         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
39064         Reported by Eric Blake.
39065
39066 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
39067
39068         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
39069         for NetBSD.  Problem reported by Bruno Haible.
39070
39071 2006-10-09  Jim Meyering  <jim@meyering.net>
39072
39073         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
39074         Patch from Bruno Haible.
39075
39076 2006-10-09  Jim Meyering  <jim@meyering.net>
39077
39078         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
39079         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
39080         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
39081
39082 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
39083
39084         Don't include <config.h> twice; this doesn't work in some cases,
39085         e.g., when config.h has "#define intmax_t long long int" and
39086         we include <config.h>, <inttypes.h>, <config.h> in that order.
39087         Problem reported by Matthew Woehlke in:
39088         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
39089         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
39090         * lib/fts-cycle.c: Don't include config.h.
39091         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
39092         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
39093         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
39094         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
39095         inttypes.h.
39096         * lib/xstrtoumax.c: Likewise.
39097         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
39098         __strtol and the like, so that this module is more like its siblings.
39099         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
39100         Remove; no longer needed now that we assume gnulib inttypes.h.
39101
39102 2006-10-08  Bruno Haible  <bruno@clisp.org>
39103
39104         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
39105         option.
39106
39107 2006-10-07  Jim Meyering  <jim@meyering.net>
39108
39109         * modules/inttypes (inttypes.h): Revert what seems to have been
39110         an inadvertent part of today's change: use "|", not "/" in the
39111         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
39112
39113 2006-10-07  Bruno Haible  <bruno@clisp.org>
39114
39115         * modules/sublist: New file.
39116
39117 2006-10-07  Bruno Haible  <bruno@clisp.org>
39118
39119         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
39120         * modules/argz (argz.h): Likewise.
39121         * modules/arpa_inet (arpa/inet.h): Likewise.
39122         * modules/byteswap (byteswap.h): Likewise.
39123         * modules/configmake (configmake.h): Likewise.
39124         * modules/fcntl (fcntl.h): Likewise.
39125         * modules/fnmatch (fnmatch.h): Likewise.
39126         * modules/getopt (getopt.h): Likewise.
39127         * modules/glob (glob.h): Likewise.
39128         * modules/inttypes (inttypes.h): Likewise.
39129         * modules/netinet_in (netinet/in.h): Likewise.
39130         * modules/poll (poll.h): Likewise.
39131         * modules/stdbool (stdbool.h): Likewise.
39132         * modules/stdint (stdint.h): Likewise.
39133         * modules/sys_select (sys/select.h): Likewise.
39134         * modules/sys_socket (sys/socket.h): Likewise.
39135         * modules/sys_stat (sys/stat.h): Likewise.
39136         * modules/sysexits (sysexits.h): Likewise.
39137         * modules/unistd (unistd.h): Likewise.
39138         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
39139         Add a "DO NOT EDIT" comment to the generated file.
39140         (func_import): Likewise for gnulib-comp.m4.
39141
39142 2006-10-07  Bruno Haible  <bruno@clisp.org>
39143
39144         * lib/gl_sublist.h: New file.
39145         * lib/gl_sublist.c: New file.
39146
39147 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
39148
39149         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
39150         name (relative to the original working directory) and the file
39151         name component (relative to the temporary working directory).  All
39152         callers changed.
39153         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
39154         * lib/mkdir-p.c (make_dir_parents): Likewise.
39155         * lib/mkdir-p.h (make_dir_parents): Likewise.
39156
39157 2006-10-06  Eric Blake  <ebb9@byu.net>
39158
39159         Define several macros for use by the clean-temp module.
39160         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
39161         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
39162         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
39163
39164         * lib/clean-temp.h (close_stream_temp): New declaration.
39165         * lib/clean-temp.c (includes): Pull in headers according to what
39166         other modules are in use.
39167         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
39168
39169 2006-10-06  Bruno Haible  <bruno@clisp.org>
39170
39171         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
39172         instead of fopen, fwriteerror.
39173
39174 2006-10-06  Bruno Haible  <bruno@clisp.org>
39175
39176         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
39177         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
39178         int.
39179         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
39180         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
39181         Return an error indicator.
39182         Suggested by Eric Blake.
39183
39184 2006-10-06  Bruno Haible  <bruno@clisp.org>
39185
39186         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
39187         Reported by Eric Blake.
39188
39189 2006-10-06  Bruno Haible  <bruno@clisp.org>
39190
39191         * modules/closeout (Description): Mention stderr too.
39192
39193 2006-10-06  Bruno Haible  <bruno@clisp.org>
39194         and Paul Eggert  <eggert@cs.ucla.edu>
39195
39196         * lib/closeout.c (close_stdout): Also close stderr.
39197         * lib/closeout.h: Update comment.
39198
39199 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
39200
39201         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
39202         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
39203         * lib/dirchownmod.c: Include lchown.h.
39204         * lib/lchown.c: Don't include files that lchown.h now includes.
39205         Don't declare chown, since lchown.h now does that.
39206         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
39207         (lchown): Define to rpl_chown if lchown is declared but
39208         does not exist.  Declare using a prototype if lchown is not
39209         declared.  Add a copyright notice.
39210         * lib/mkstemp.h: Include <unistd.h>.
39211         * lib/openat.c: Include lchown.h.
39212
39213         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
39214         we now test for that separately.
39215         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
39216         rather than O_NOFOLLOW, when testing whether it's possible to
39217         avoid a race condition reliably.
39218         * lib/savewd.c (savewd_chdir): Likewise.
39219
39220         Remove macros that are no longer needed now that stdint.h is
39221         reliable.
39222         * lib/fsusage.c (UINTMAX_MAX): Remove.
39223         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
39224         * lib/utimecmp.c (SIZE_MAX): Remove.
39225
39226         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
39227
39228         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
39229         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
39230         O_NOATIME works.
39231
39232 2006-10-05  Bruno Haible  <bruno@clisp.org>
39233
39234         * lib/gl_list.h (gl_sortedlist_search_from_to,
39235         gl_sortedlist_indexof_from_to): New declarations.
39236         (gl_list_implementation): New fields sortedlist_search_from_to,
39237         sortedlist_indexof_from_to.
39238         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
39239         inline functions.
39240         * lib/gl_list.c (gl_sortedlist_search_from_to,
39241         gl_sortedlist_indexof_from_to): New functions.
39242         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
39243         function.
39244         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
39245         (gl_array_sortedlist_search_from_to): New function.
39246         (gl_array_list_implementation): Update.
39247         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
39248         function.
39249         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
39250         (gl_carray_sortedlist_search_from_to): New function.
39251         (gl_carray_list_implementation): Update.
39252         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
39253         gl_linked_sortedlist_indexof_from_to): New functions.
39254         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
39255         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
39256         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
39257         gl_tree_sortedlist_indexof_from_to): New functions.
39258         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
39259         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
39260         Update.
39261         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
39262         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
39263         Update.
39264
39265 2006-10-05  Bruno Haible  <bruno@clisp.org>
39266
39267         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
39268         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
39269         (struct gl_list_implementation): Add fields search_from_to,
39270         indexof_from_to. Remove fields search, indexof.
39271         (gl_list_search): Use the search_from_to method.
39272         (gl_list_search_from, gl_list_search_from_to): New functions.
39273         (gl_list_indexof): Use the indexof_from_to method.
39274         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
39275         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
39276         (gl_list_search_from, gl_list_search_from_to): New functions.
39277         (gl_list_indexof): Use the indexof_from_to method.
39278         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
39279         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
39280         gl_array_indexof. Add start_index, end_index arguments.
39281         (gl_array_search_from_to): Renamed from gl_array_search. Add
39282         start_index, end_index arguments.
39283         (gl_array_remove, gl_array_list_implementation): Update.
39284         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
39285         gl_carray_indexof. Add start_index, end_index arguments.
39286         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
39287         start_index, end_index arguments.
39288         (gl_carray_remove, gl_carray_list_implementation): Update.
39289         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
39290         gl_linked_search. Add start_index, end_index arguments.
39291         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
39292         start_index, end_index arguments.
39293         (gl_linked_remove): Update.
39294         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
39295         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
39296         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
39297         field to 'size_t'.
39298         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
39299         gl_tree_search. Add start_index, end_index arguments.
39300         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
39301         start_index, end_index arguments.
39302         (gl_tree_remove): Update.
39303         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
39304         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
39305         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
39306         function.
39307         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
39308         gl_tree_search. Add start_index, end_index arguments.
39309         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
39310         start_index, end_index arguments.
39311         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
39312         Update.
39313         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
39314
39315 2006-10-05  Bruno Haible  <bruno@clisp.org>
39316
39317         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
39318
39319         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
39320         fwriteerror_temp): New declarations.
39321         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
39322         (descriptors): New variable.
39323         (cleanup): First, close the descriptors.
39324         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
39325         fclose_temp, fwriteerror_temp): New functions.
39326
39327 2006-10-04  Jim Meyering  <jim@meyering.net>
39328
39329         * lib/fts.c (fts_open): Tiny comment change.
39330
39331 2006-10-04  Bruno Haible  <bruno@clisp.org>
39332
39333         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
39334         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
39335         gl_LOCK_BODY.
39336         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
39337         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
39338         gl_LOCK_EARLY_BODY.
39339         (gl_LOCK): Require gl_LOCK_BODY.
39340
39341 2006-10-04  Bruno Haible  <bruno@clisp.org>
39342
39343         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
39344         (gl_oset_search_atleast): New declaration.
39345         (struct gl_oset_implementation): Add field 'search_atleast'.
39346         (gl_oset_search_atleast): New inline function.
39347         * lib/gl_oset.c (gl_oset_search_atleast): New function.
39348         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
39349         (gl_array_oset_implementation): Update.
39350         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
39351         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
39352         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
39353
39354 2006-10-04  Bruno Haible  <bruno@clisp.org>
39355
39356         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
39357
39358 2006-10-03  Bruno Haible  <bruno@clisp.org>
39359
39360         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
39361         from gl_avltreehash_list_implementation.
39362
39363 2006-10-03  Bruno Haible  <bruno@clisp.org>
39364
39365         * lib/gl_oset.c (gl_oset_add): Fix return type.
39366
39367 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
39368
39369         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
39370
39371 2006-10-02  Eric Blake  <ebb9@byu.net>
39372
39373         * modules/strnlen (Depends-on): Add extensions.
39374
39375 2006-10-02  Eric Blake  <ebb9@byu.net>
39376
39377         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
39378         definition in 2.60+.
39379
39380 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
39381
39382         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
39383         checks.
39384
39385 2006-10-02  Bruno Haible  <bruno@clisp.org>
39386
39387         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
39388         to the AUTOMAKE_OPTIONS.
39389         Reported by Jim Meyering.
39390
39391 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
39392
39393         Work around bug in Solaris 10 /proc file system:
39394         /proc/self/fd/NNN/.. isn't the parent directory of
39395         the directory whose file descriptor is NNN.  This needs to
39396         be worked around at run time, not compile time, since a
39397         program might be built on Solaris 8, where things work, and
39398         run on Solaris 10.
39399         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
39400         to use the following interface instead:
39401         (OPENAT_BUFFER_SIZE): New macro.
39402         (openat_proc_name): New function.
39403         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
39404         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
39405         Likewise.
39406         * lib/openat-proc.c: New file.
39407         * modules/openat (Files): Add lib/openat-proc.c.
39408         (Depends-on): Add same-inode, stdbool.
39409         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
39410
39411 2006-09-29  Bruno Haible  <bruno@clisp.org>
39412
39413         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
39414         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
39415         argument. Set stdout_closed before testing for ferror, not after.
39416         (fwriteerror, fwriteerror_no_ebadf): New functions.
39417
39418 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39419
39420         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
39421
39422 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
39423
39424         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
39425         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
39426
39427 2006-09-28  Jim Meyering  <jim@meyering.net>
39428
39429         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
39430         Include <unistd.h>.
39431
39432 2006-09-28  Bruno Haible  <bruno@clisp.org>
39433
39434         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
39435         * modules/linkedhash-list (Depends-on): Likewise.
39436         * modules/rbtreehash-list (Depends-on): Likewise.
39437
39438 2006-09-28  Bruno Haible  <bruno@clisp.org>
39439
39440         * lib/strndup.h: Simplify the redefinition of strndup.
39441         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
39442         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
39443
39444 2006-09-28  Bruno Haible  <bruno@clisp.org>
39445
39446         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
39447         * lib/gl_linkedhash_list.c: Likewise.
39448         * lib/gl_rbtreehash_list.c: Likewise.
39449
39450 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
39451
39452         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
39453         getaddrinfo.
39454
39455         * lib/__fpending.h: Don't include <stdio_ext.h> unless
39456         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
39457         it causes <stdio_ext.h> to cause a compile-time error.
39458         Problem reported by Nelson H. F. Beebe.
39459         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
39460         of HAVE_DECL___PENDING.
39461
39462         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
39463         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
39464         declaration.
39465
39466 2006-09-27  Jim Meyering  <jim@meyering.net>
39467
39468         This file could end up with a definition for a function
39469         named __strndup, rather than rpl_strndup on a system with
39470         incomplete weak_alias support.
39471         * lib/strndup.c (strndup): Rename from __strndup.
39472         Remove #defines that used to map __strndup to strndup.
39473         Don't use K&R prototypes.
39474         Remove LIBC-related code, since this file is not sync'd with glibc.
39475         * lib/strndup.h: Revamp, accordingly.
39476         * m4/strndup.m4: Modernize.
39477
39478 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
39479
39480         * modules/savewd (Depends-on): Add 'raise'.
39481         * lib/savewd.c: Include <signal.h>, for 'raise'.
39482
39483 2006-09-26  Jim Meyering  <jim@meyering.net>
39484
39485         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
39486         when we detect Darwin 8.7.0's acl_get_file bug.
39487         Rearrange to perform the new (below) run-test while $LIBS
39488         contains any acl-related library.  Set USE_ACL at the end.
39489         (gl_ACL_GET_FILE): New function.
39490
39491 2006-09-26  Eric Blake  <ebb9@byu.net>
39492
39493         * lib/verror.c: Include <config.h> unconditionally.
39494
39495 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
39496
39497         * modules/clock-time (Maintainer): Add self.
39498         * modules/getlogin_r (Depends-on): Add extensions.
39499
39500 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39501
39502         * modules/clock-time: New module.
39503         * modules/nanosleep (Depends-on): Add clock-time.
39504         * modules/gethrxtime (Depends-on): Likewise.
39505         * modules/gettime (Depends-on): Likewise.
39506         * modules/settime (Depends-on): Likewise.
39507
39508         * modules/fts-lgpl: Depend on openat.
39509         * modules/mkancesdirs: Depend on savewd.
39510         * modules/mkdir-p: Likewise.
39511
39512 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39513
39514         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
39515
39516         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
39517         `gl_have_arbitrary_file_name_length_limit' to
39518         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
39519         actually works between configure runs.
39520
39521 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39522             Bruno Haible  <bruno@clisp.org>
39523
39524         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
39525
39526 2006-09-25  Jim Meyering  <jim@meyering.net>
39527
39528         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
39529         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
39530
39531 2006-09-25  Eric Blake  <ebb9@byu.net>
39532
39533         * gnulib-tool (func_import, func_create_testdir): Fix typos in
39534         exec's in 2006-09-18 patch when shuffling fds.
39535
39536 2006-09-25  Bruno Haible  <bruno@clisp.org>
39537
39538         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
39539         Reported by Jim Meyering.
39540
39541 2006-09-24  Jim Meyering  <jim@meyering.net>
39542
39543         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
39544         compare a pointer against a literal "0".  That caused failures with
39545         at least HP-UX's hpcc.
39546
39547 2006-09-22  Simon Josefsson  <jas@extundo.com>
39548
39549         * modules/gc-sha1:
39550         * modules/gc-md4:
39551         * modules/gc-hmac-sha1:
39552         * modules/gc-hmac-md5:
39553         * modules/gc-des:
39554         * modules/gc-arcfour: Distribute more files.
39555
39556 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39557
39558         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
39559         (gl_linked_iterator_from_to): Initialize struct completely.
39560         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
39561         (gl_tree_iterator_from_to): Likewise
39562         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
39563         * lib/gl_array_list.c [lint] (gl_array_iterator)
39564         (gl_array_iterator_from_to): Likewise.
39565         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
39566         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
39567         (gl_carray_iterator_from_to): Likewise.
39568
39569         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
39570         * lib/md4.c (md4_process_block): Remove unused variable.
39571         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
39572         parentheses for clarity.
39573
39574 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39575
39576         * modules/bison-i18n (Depends-on): Add gettext.
39577
39578 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39579
39580         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
39581         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
39582         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
39583         also add missing comma that caused broken test.
39584         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
39585         stdlib.h, for `abort'.
39586         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
39587         variables.
39588         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
39589         include unistd.h if present, for `rmdir'.
39590         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
39591         variables.
39592         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
39593         in the process include standard headers for prototypes.
39594         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
39595         gets declared on GNU/Linux.
39596         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
39597         unistd.h, for `rmdir'.
39598         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
39599
39600         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
39601         always true.
39602         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
39603
39604         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
39605
39606 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39607
39608         * gnulib-tool (func_version): Create output all at once.  This
39609         may help avoid triggering unnecessary SIGPIPEs, and at any
39610         rate it doesn't hurt.
39611
39612 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39613             Bruno Haible  <bruno@clisp.org>
39614
39615         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
39616         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
39617         * m4/signed.m4 (bh_C_SIGNED): Likewise.
39618
39619         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
39620         (gl_FUNC_VASPRINTF): Invoke it.
39621
39622 2006-09-22  Bruno Haible  <bruno@clisp.org>
39623
39624         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
39625         getloadavg.c as first argument.
39626
39627 2006-09-22  Bruno Haible  <bruno@clisp.org>
39628
39629         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
39630         at the beginning of the gl_INIT macro.
39631         * modules/getloadavg (configure.ac): Pass $gl_source_base to
39632         gl_GETLOADAVG.
39633
39634 2006-09-22  Bruno Haible  <bruno@clisp.org>
39635
39636         * gnulib-tool (func_create_megatestdir): Don't include the config-h
39637         module.
39638         Suggested by Ralf Wildenhues.
39639
39640 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
39641
39642         Import this patch from libc:
39643
39644         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
39645
39646         * lib/regex_internal.c (re_string_reconstruct): Handle
39647         offset < pstr->valid_raw_len && pstr->offsets_needed case.
39648         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
39649         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
39650         re_string_context_at.
39651
39652         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
39653         now requires it.
39654         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
39655         gl_REGEX now does it for us.
39656         (gl_REGEX): Add test taken from
39657         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
39658
39659         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
39660         Check that large offsets work.  Modernize Autoconf usages.
39661         Prefer "yes" to mean a good thing rather than a bad.
39662         Don't put "#define mkstemp" in config.h, as this might interfere
39663         with standard system headers that "#define mkstemp mkstemp64".
39664
39665         * modules/mkstemp (Depends-on): Add extensions, so that
39666         mkstemp is visible on some platforms.
39667         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
39668         (Include): Change to "mkstemp.h" from <stdlib.h>.
39669         (Files): Add mkstemp.h.
39670
39671         * lib/mkstemp.h: New file, since some standard headers
39672         #define mkstemp.
39673         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
39674         Include "mkstemp.h".
39675         Make the _LIBC code resemble glibc original more,
39676         e.g., use K&R style.
39677         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
39678         (mkstemp): Remove, since mkstemp.h does this for us.
39679         * lib/stdlib--.h: Include mkstemp.h.
39680
39681         Import this patch from libc:
39682
39683         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
39684
39685         * lib/tempname.c (__gen_tempname): Change attempts_min
39686         into a macro.  Use preprocessor to decide how to initialize
39687         attempts [Coverity CID 67].
39688
39689 2006-09-20  Bruno Haible  <bruno@clisp.org>
39690
39691         * lib/mkdtemp.c: Import from libc.
39692         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
39693                 * sysdeps/posix/tempname.c (__gen_tempname): Change
39694                 attempts_min into a macro.  Use preprocessor to decide how to
39695                 initialize attempts [Coverity CID 67].
39696         2001-11-27  Paul Eggert  <eggert@twinsun.com>
39697                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
39698                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
39699
39700 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39701
39702         * gnulib-tool (func_exit): New function, to allow to pass the
39703         exit status portably through the trap.  Use everywhere.
39704         (--help, --version): Signal a write error.
39705         (trap): catch SIGPIPE, for write errors.
39706         Exit at the end of the trap, with the correct exit status.
39707
39708 2006-09-19  Karl Berry  <karl@gnu.org>
39709
39710         * doc/gnulib.texi: note about the license texinfo files.
39711
39712 2006-09-19  Eric Blake  <ebb9@byu.net>
39713
39714         * gnulib-tool: Avoid space-tab.
39715
39716 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
39717
39718         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
39719         that prevented coreutils 6.1 from building.  Problem reported
39720         by Petter Reinholdtsen.
39721
39722 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
39723
39724         * gnulib-tool (avoidlist): Fix typo that broke options like
39725         --avoid=lock that are used by coreutils bootstrap.
39726
39727 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
39728
39729         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
39730         more systematically.
39731
39732 2006-09-18  Jim Meyering  <jim@meyering.net>
39733
39734         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
39735
39736 2006-09-18  Bruno Haible  <bruno@clisp.org>
39737
39738         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
39739
39740 2006-09-18  Bruno Haible  <bruno@clisp.org>
39741
39742         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
39743         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
39744         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
39745         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
39746         * m4/gettext.m4: Require autoconf >= 2.52.
39747         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
39748         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
39749         of gl_cv_header_inttypes_h.
39750
39751 2006-09-18  Bruno Haible  <bruno@clisp.org>
39752
39753         * lib/javaversion.c: Include configmake.h.
39754
39755 2006-09-18  Bruno Haible  <bruno@clisp.org>
39756
39757         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
39758         avoid that the while loops be executed in a subshell.
39759
39760 2006-09-18  Bruno Haible  <bruno@clisp.org>
39761
39762         * MODULES.html.sh (func_module): Break long lines.
39763         Suggested by Bruce Korb <bkorb@gnu.org>.
39764
39765 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39766
39767         Speed up by a factor of 1.12.
39768         * gnulib-tool (nl): New variable.
39769         (func_import): Rewrite include directive extraction to only read each
39770         directive once.
39771
39772 2006-09-17  Bruno Haible  <bruno@clisp.org>
39773
39774         * modules/javaversion (Makefile.am): Remove DEFS setting.
39775         (Depends-on): Add configmake, for PKGDATADIR definition.
39776
39777 2006-09-17  Bruno Haible  <bruno@clisp.org>
39778
39779         * gnulib-tool (func_create_testdir): Rewrite all files at once.
39780
39781 2006-09-17  Bruno Haible  <bruno@clisp.org>
39782
39783         * gnulib-tool (func_append): New function, stolen from libtool.m4.
39784         (func_modules_transitive_closure, func_modules_add_dummy,
39785         func_modules_to_filelist, func_import, func_create_testdir,
39786         func_create_megatestdir, ...): Use it wherever possible.
39787         Suggested by Ralf Wildenhues.
39788
39789 2006-09-16  Karl Berry  <karl@gnu.org>
39790
39791         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
39792         to avoid sectioning errors.
39793         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
39794         [ifinfo]: blank line after @center-ed titles.
39795         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
39796         Spell FSF address consistently with others.
39797         (These changes approved by rms.)
39798
39799 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39800
39801         Speed up by a factor of 1.61.
39802         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
39803         already checked module names again.
39804
39805 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39806
39807         Speed up by a factor of 1.13.
39808         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
39809         for new_files, and the input to func_add_or_update.
39810
39811 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39812
39813         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
39814         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
39815
39816 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
39817
39818         * modules/mkancesdirs (Depends-on): Add fcntl.
39819         * modules/savewd: New file.
39820         * MODULES.html.sh (File system functions): Add savewd.
39821
39822         * modules/configmake (Makefile.am): Add support for the
39823         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
39824
39825 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
39826
39827         * m4/savewd.m4: New file.
39828
39829 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
39830
39831         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
39832         (dirchownmod): New arg FD.  All callers changed.
39833         Use FD rather than opening the directory ourself, as opening is
39834         now the caller's responsibility.
39835         * lib/dirchownmod.h: Likewise.
39836         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
39837         hosts that require <sys/types.h> before <sys/stat.h>.  Include
39838         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
39839         (test_dir): Remove.
39840         (mkancesdirs): Return length of prefix of FILE that has already
39841         been made, or -2 if there is a child doing the work.  Redo
39842         algorithm so that it is O(N) rather than O(N**2).  Optimize away
39843         ".", and treat ".." specially since it might stray back into
39844         already-created areas.  Use a subprocess if necessary.  New arg
39845         WD; all users changed.  MAKE_DIR function should now return 1
39846         if it creates a directory that is not readable.  Return -2 if
39847         a child process is spun off.
39848         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
39849         Adjust signature to match code.
39850         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
39851         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
39852         all users changed.
39853         * lib/savewd.c, lib/savewd.h: New files.
39854
39855 2006-09-15  Jim Meyering  <jim@meyering.net>
39856
39857         * modules/rename-dest-slash: New module.
39858         * MODULES.html.sh (posix_compat): Add it here.
39859
39860         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
39861
39862 2006-09-15  Jim Meyering  <jim@meyering.net>
39863
39864         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
39865         file.
39866
39867         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
39868
39869 2006-09-15  Jim Meyering  <jim@meyering.net>
39870
39871         * lib/rename-dest-slash.c (has_trailing_slash): Use
39872         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
39873         (rpl_rename_dest_slash): Perform the cheaper trailing slash
39874         test before testing whether SRC is a directory.
39875         Suggestions from Bruno Haible.
39876
39877         Avoid a warning about an unused variable.
39878         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
39879         into the #ifdef block where it's used.
39880
39881         * lib/rename-dest-slash.c: New file.
39882
39883 2006-09-14  Bruno Haible  <bruno@clisp.org>
39884
39885         * lib/allocsa.c: Include <config.h> unconditionally.
39886         * lib/asnprintf.c: Likewise.
39887         * lib/asprintf.c: Likewise.
39888         * lib/c-strcasecmp.c: Likewise.
39889         * lib/c-strcasestr.c: Likewise.
39890         * lib/c-strncasecmp.c: Likewise.
39891         * lib/c-strstr.c: Likewise.
39892         * lib/classpath.c: Likewise.
39893         * lib/clean-temp.c: Likewise.
39894         * lib/concatpath.c: Likewise.
39895         * lib/copy-file.c: Likewise.
39896         * lib/csharpcomp.c: Likewise.
39897         * lib/csharpexec.c: Likewise.
39898         * lib/execute.c: Likewise.
39899         * lib/fatal-signal.c: Likewise.
39900         * lib/findprog.c: Likewise.
39901         * lib/fwriteerror.c: Likewise.
39902         * lib/gl_array_list.c: Likewise.
39903         * lib/gl_array_oset.c: Likewise.
39904         * lib/gl_avltree_list.c: Likewise.
39905         * lib/gl_avltree_oset.c: Likewise.
39906         * lib/gl_avltreehash_list.c: Likewise.
39907         * lib/gl_carray_list.c: Likewise.
39908         * lib/gl_linked_list.c: Likewise.
39909         * lib/gl_linkedhash_list.c: Likewise.
39910         * lib/gl_list.c: Likewise.
39911         * lib/gl_oset.c: Likewise.
39912         * lib/gl_rbtree_list.c: Likewise.
39913         * lib/gl_rbtree_oset.c: Likewise.
39914         * lib/gl_rbtreehash_list.c: Likewise.
39915         * lib/imaxabs.c: Likewise.
39916         * lib/imaxdiv.c: Likewise.
39917         * lib/javacomp.c: Likewise.
39918         * lib/javaexec.c: Likewise.
39919         * lib/javaversion.c: Likewise.
39920         * lib/linebreak.c: Likewise.
39921         * lib/localcharset.c: Likewise.
39922         * lib/lock.c: Likewise.
39923         * lib/mbchar.c: Likewise.
39924         * lib/mbswidth.c: Likewise.
39925         * lib/mkdtemp.c: Likewise.
39926         * lib/pipe.c: Likewise.
39927         * lib/printf-args.c: Likewise.
39928         * lib/printf-parse.c: Likewise.
39929         * lib/progname.c: Likewise.
39930         * lib/progreloc.c: Likewise.
39931         * lib/readlink.c: Likewise.
39932         * lib/sh-quote.c: Likewise.
39933         * lib/stpcpy.c: Likewise.
39934         * lib/stpncpy.c: Likewise.
39935         * lib/strcasecmp.c: Likewise.
39936         * lib/strcasestr.c: Likewise.
39937         * lib/strcspn.c: Likewise.
39938         * lib/striconv.c: Likewise.
39939         * lib/strncasecmp.c: Likewise.
39940         * lib/strnlen1.c: Likewise.
39941         * lib/strstr.c: Likewise.
39942         * lib/strtok_r.c: Likewise.
39943         * lib/tls.c: Likewise.
39944         * lib/tmpdir.c: Likewise.
39945         * lib/unicodeio.c: Likewise.
39946         * lib/unsetenv.c: Likewise.
39947         * lib/vasnprintf.c: Likewise.
39948         * lib/vasprintf.c: Likewise.
39949         * lib/wait-process.c: Likewise.
39950         * lib/xallocsa.c: Likewise.
39951         * lib/xsetenv.c: Likewise.
39952         * lib/xstriconv.c: Likewise.
39953
39954 2006-09-13  Simon Josefsson  <jas@extundo.com>
39955
39956         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
39957         that internally, suggested by Ralf Wildenhues
39958         <Ralf.Wildenhues@gmx.de>.
39959
39960 2006-09-13  Simon Josefsson  <jas@extundo.com>
39961
39962         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
39963         @LIBOBJS@.
39964         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39965
39966 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
39967
39968         * lib/_fpending.c: Include <config.h> unconditionally, since we no
39969         longer worry about uses that don't define HAVE_CONFIG_H.
39970         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
39971         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
39972         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
39973         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
39974         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
39975         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
39976         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
39977         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
39978         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
39979         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
39980         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
39981         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
39982         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
39983         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
39984         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
39985         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
39986         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
39987         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
39988         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
39989         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
39990         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
39991         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
39992         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
39993         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
39994         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
39995         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
39996         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
39997         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
39998         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
39999         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
40000         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
40001         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
40002         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
40003         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
40004         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
40005         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
40006         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
40007         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
40008         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
40009         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
40010         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
40011         Likewise.
40012
40013 2006-09-13  Eric Blake  <ebb9@byu.net>
40014
40015         * lib/getopt.c: Fix typo in last commit.
40016
40017 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
40018
40019         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
40020         dgettext.
40021
40022 2006-09-12  Jim Meyering  <jim@meyering.net>
40023
40024         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
40025         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
40026         Reported by Nelson H. F. Beebe.
40027
40028 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
40029
40030         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
40031         program_invocation_name and program_invocation_short_name are
40032         initialized.
40033         * lib/argp-namefrob.h: Move declarations of program_invocation_name
40034         and program_invocation_short_name to argp.h, so they are visible
40035         to user programs.
40036         * lib/argp.h: Likewise
40037
40038 2006-09-10  Bruno Haible  <bruno@clisp.org>
40039
40040         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
40041         m4/inttypes_h.m4, m4/uintmax_t.m4.
40042
40043 2006-09-10  Bruno Haible  <bruno@clisp.org>
40044
40045         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
40046         gl_AC_TYPE_UINTMAX_T.
40047
40048 2006-09-10  Bruno Haible  <bruno@clisp.org>
40049
40050         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
40051
40052 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
40053
40054         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
40055         convention.  Text proposed by Bruno Haible.
40056         (struct argp_option): Document the use of N_() wrappers.
40057
40058         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
40059         '\v', and translate the two parts separately, instead of feeding
40060         the whole string to gettext.  This allows to exclude
40061         '\v' from the strings visible to the translator by writing doc
40062         strings as N_("..") "\v" N_("..").
40063
40064 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
40065
40066         * config/srclist.txt: Undo latest change; the bug was fixed.
40067
40068 2006-09-09  Bruno Haible  <bruno@clisp.org>
40069
40070         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
40071         assignments if building a library without libtool.
40072         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
40073         in func_emit_lib_Makefile_am.
40074         (func_import): When building a static library libfoo.a, arrange to
40075         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
40076         (func_create_testdir): Likewise.
40077         * modules/gc (configure.ac, Makefile.am): If building statically,
40078         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
40079         * modules/iconvme (configure.ac, Makefile.am): Likewise.
40080         * modules/striconv (configure.ac, Makefile.am): Likewise.
40081         Based on a suggestion by Ralf Wildenhues.
40082
40083 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
40084
40085         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
40086         Check for unistd.h too, since Autoconf doesn't assume POSIX.
40087         Also:
40088
40089         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
40090         Add year_2050_test to catch glibc bug 2821
40091         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
40092
40093         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
40094         Prefer #ifdef to #if.
40095
40096         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
40097         Return from 'main' instead of calling 'exit'.
40098
40099 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
40100
40101         * lib/mktime.c (guess_time_tm): Fix bug where mktime
40102         returned the maximum time_t value rather than (time_t) -1.
40103         Problem originally reported by William Bardwell
40104         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
40105
40106         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
40107         Moved to here ...
40108         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
40109         ... from here.
40110
40111 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
40112
40113         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
40114         2821 is fixed.
40115
40116 2006-09-08  Jim Meyering  <jim@meyering.net>
40117
40118         Don't make generated files read-only.  That would bother too many
40119         people.  However, do retain the ability to work when targets are
40120         read-only: remove the destination and temporary files before writing
40121         them (when generated via sed or echo), or by using the -f option for
40122         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
40123         * modules/alloca-opt, modules/argz, modules/arpa_inet:
40124         * modules/byteswap, modules/configmake, modules/fcntl:
40125         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
40126         * modules/localcharset, modules/netinet_in, modules/poll:
40127         * modules/stdbool, modules/stdint, modules/sys_select:
40128         * modules/sys_socket, modules/sys_stat, modules/sysexits:
40129
40130 2006-09-08  Jim Meyering  <jim@meyering.net>
40131
40132         Avoid new build failure on FreeBSD 6.0.
40133         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
40134         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
40135         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
40136
40137 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40138
40139         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
40140
40141 2006-09-07  Jim Meyering  <jim@meyering.net>
40142
40143         Fix global typo in last change: use chmod u-w, not chmod u-x.
40144         Spotted by Paul Eggert and Bruce Korb.
40145         * modules/alloca-opt, modules/argz, modules/arpa_inet:
40146         * modules/byteswap, modules/configmake, modules/fcntl:
40147         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
40148         * modules/localcharset, modules/netinet_in, modules/poll:
40149         * modules/stdbool, modules/stdint, modules/sys_select:
40150         * modules/sys_socket, modules/sys_stat, modules/sysexits:
40151
40152 2006-09-06  Jim Meyering  <jim@meyering.net>
40153
40154         Make generated files be read-only.
40155         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
40156         Ensure that each generated file is now read-only.
40157         * modules/argz: Likewise.
40158         * modules/arpa_inet: Likewise.
40159         * modules/byteswap: Likewise.
40160         * modules/configmake: Likewise.
40161         * modules/fcntl: Likewise.
40162         * modules/fnmatch: Likewise.
40163         * modules/getopt: Likewise.
40164         * modules/glob: Likewise.
40165         * modules/inttypes: Likewise.
40166         * modules/netinet_in: Likewise.
40167         * modules/poll: Likewise.
40168         * modules/stdbool: Likewise.
40169         * modules/stdint: Likewise.
40170         * modules/sys_select: Likewise.
40171         * modules/sys_socket: Likewise.
40172         * modules/sys_stat: Likewise.
40173         * modules/sysexits: Likewise.
40174         * modules/localcharset: Same as above, but continue using temporary
40175         file named "t-$@" (why different?) rather than the "$@-t" used
40176         everywhere else.
40177
40178         * modules/sysexits (Makefile.am): Replace literal occurrences
40179         of "sysexit.h" more readable, and more consistent, "$@".
40180
40181 2006-09-06  Bruno Haible  <bruno@clisp.org>
40182
40183         * modules/striconv: New file.
40184         * modules/xstriconv: New file.
40185         * MODULES.html.sh (Internationalization functions): Add striconv,
40186         xstriconv.
40187
40188 2006-09-06  Bruno Haible  <bruno@clisp.org>
40189
40190         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
40191         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
40192         not using libtool correctly.
40193
40194 2006-09-06  Bruno Haible  <bruno@clisp.org>
40195
40196         * lib/striconv.h: New file.
40197         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
40198         iconvstring.c.
40199         * lib/xstriconv.h: New file.
40200         * lib/xstriconv.c: New file.
40201
40202 2006-09-06  Bruno Haible  <bruno@clisp.org>
40203
40204         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
40205         lib_..._LDFLAGS.
40206
40207 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40208
40209         * lib/argz_.h: Sync from Libtool.
40210
40211         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
40212                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
40213
40214         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
40215
40216 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
40217
40218         * modules/trim: New file.
40219
40220 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
40221
40222         * lib/trim.h: New file.
40223         * lib/trim.c: New file.
40224
40225 2006-09-05  Bruno Haible  <bruno@clisp.org>
40226
40227         * MODULES.html.sh (String handling): Add trim.
40228
40229 2006-09-04  Karl Berry  <karl@gnu.org>
40230
40231         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
40232         until next release.
40233
40234 2006-09-03  Bruno Haible  <bruno@clisp.org>
40235
40236         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
40237         correctly.
40238
40239 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
40240
40241         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
40242         not gl_GETLOADAVG.  Omit unneeded semicolons.
40243         Problems reported by Ralf Wildenhues in
40244         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
40245         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
40246         at the end, which is the usual gnulib style.
40247
40248         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
40249         of doing all the work ourselves.
40250         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
40251         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
40252
40253 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
40254
40255         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
40256         Problem reported by Ralf Wildenhues in
40257         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
40258
40259         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
40260         HAVE_STRUCT_STATFS_F_FSTYPENAME.
40261
40262 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
40263
40264         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
40265         yesterday's patch by changing test -n to test -z.
40266
40267 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
40268
40269         * modules/getloadavg (Files): Add m4/getloadavg.m4.
40270         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
40271         the former is now obsolescent.
40272
40273         * modules/chdir-long (Depends-on): Add fcntl.
40274
40275 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
40276
40277         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
40278         obsolescent, and programs should use gnulib instead.
40279         * m4/getloadavg.m4: New file, with contents taken from Autoconf
40280         but with prefixes changed.
40281
40282 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
40283
40284         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
40285         or stdbool.h, because they might not exist while configuring.
40286
40287         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
40288         Don't include unistd.h or limits.h; not needed, since chdir-long.h
40289         does that for us.
40290         (O_DIRECTORY): Remove.
40291
40292 2006-08-31  Eric Blake  <ebb9@byu.net>
40293
40294         * gnulib-tool: Don't let emacs change spaces to TAB.
40295
40296 2006-08-31  Bruno Haible  <bruno@clisp.org>
40297
40298         * gnulib-tool: When calling func_import more than once, do it in a
40299         subshell.
40300         Reported by Eric Blake <ebb9@byu.net>.
40301
40302 2006-08-31  Bruno Haible  <bruno@clisp.org>
40303
40304         * gnulib-tool (nl): Remove variable.
40305         (sed_transform_lib_file): Use more robust test for config-h module.
40306         (func_import): Fix typo in 2006-08-25 patch.
40307
40308 2006-08-31  Bruno Haible  <bruno@clisp.org>
40309
40310         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
40311         specified, augment Makefile.am variables instead of assigning them.
40312
40313 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
40314
40315         Work around a bug in both the Linux and SunOS 64-bit kernels:
40316         nanosleep mishandles sleeps for longer than 2**31 seconds.
40317         Problem reported by Frank v Waveren in
40318         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
40319         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
40320         Check for nanosleep bug.
40321         (LIB_NANOSLEEP): Append clock_gettime library if needed.
40322
40323 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
40324
40325         Work around a bug in both the Linux and SunOS 64-bit kernels:
40326         nanosleep mishandles sleeps for longer than 2**31 seconds.
40327         Problem reported by Frank v Waveren in
40328         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
40329         * lib/nanosleep.c (BILLION): New constant.
40330         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
40331         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
40332         implementation.
40333
40334 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
40335
40336         * modules/nanosleep (Depends-on): Add gettime.
40337
40338 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
40339         and Simon Josefsson  <jas@extundo.com>
40340         and Oskar Liljeblad  <oskar@osk.mine.nu>
40341
40342         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
40343         * gnulib-tool (func_import): New license type 'unmodifiable license
40344         text'.
40345         * modules/fdl: Use it.  Longer description.
40346         * module/gpl, module/lgpl: New files.
40347
40348 2006-08-30  Jim Meyering  <jim@meyering.net>
40349
40350         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
40351         shadowing the parameter.
40352
40353 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40354
40355         Sync from Libtool:
40356
40357         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40358
40359         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
40360         sharing with gnulib.  Report by Eric Blake.
40361
40362 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
40363
40364         * modules/isapipe: New file.
40365         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
40366
40367 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
40368
40369         * modules/configmake (Makefile.am): Add a comment, and omit
40370         the CONFIGMAKE_ prefix from generated macro names.  Suggested
40371         by Bruno Haible.
40372
40373 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
40374
40375         * m4/isapipe.m4: New file.
40376
40377 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
40378
40379         * lib/isapipe.c, lib/isapipe.h: New files.
40380
40381 2006-08-29  Jim Meyering  <jim@meyering.net>
40382
40383         * modules/configmake (Makefile.am): Make configmake.h depend on
40384         Makefile.  Otherwise, a stale configmake.h could hang around.
40385
40386 2006-08-29  Eric Blake  <ebb9@byu.net>
40387
40388         * lib/error.c (error_at_line, print_errno_message): Match libc, after
40389         resolution of upstream bug 3044.
40390
40391 2006-08-29  Bruno Haible  <bruno@clisp.org>
40392
40393         * modules/localcharset (Depends-on): Add configmake.
40394         (Makefile.am): Remove setting of LIBDIR through DEFS.
40395
40396 2006-08-29  Bruno Haible  <bruno@clisp.org>
40397
40398         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
40399         defined.
40400
40401 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
40402
40403         * modules/fcntl: New file.
40404         * modules/chdir-safer (Depends-on): Add fcntl.
40405         * modules/fts: Likewise.
40406         * modules/mkdir-p: Likewise.
40407
40408         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
40409         This undoes the most recent change, since we're now addressing the
40410         problem in a different way.
40411
40412         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
40413         into output, since the output might be called Makefile.am even
40414         if $makefile_name is something different.
40415         (func_import): Use $makefile_am rather than
40416         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
40417         empty.
40418
40419         * modules/inttypes (Files): Add m4/inttypes-h.m4.
40420
40421 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
40422
40423         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
40424         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
40425         recent change to stdint.m4, since we're now addressing the problem in a
40426         different way.
40427
40428 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
40429
40430         * m4/fcntl_h.m4: New file.
40431
40432 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
40433
40434         * lib/fcntl_.h: New file.
40435         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
40436         the fcntl module.
40437         * lib/dirchownmod.c: Likewise.
40438         * lib/fts.c: Likewise.
40439
40440         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
40441         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
40442         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
40443         just before including <inttypes.h>, to avoid circular inclusion.
40444
40445 2006-08-28  Jim Meyering  <jim@meyering.net>
40446
40447         * doc/visibility.texi: Actually read and correct the grammar of the
40448         sentence affected by yesterday's change.
40449
40450 2006-08-28  Eric Blake  <ebb9@byu.net>
40451
40452         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
40453         needs wrapper.
40454
40455 2006-08-28  Eric Blake  <ebb9@byu.net>
40456
40457         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
40458
40459 2006-08-28  Eric Blake  <ebb9@byu.net>
40460
40461         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
40462
40463 2006-08-28  Bruno Haible  <bruno@clisp.org>
40464
40465         * modules/c-strstr: New file, from GNU gettext.
40466         * MODULES.html.sh (String handling): Add c-strstr.
40467
40468 2006-08-28  Bruno Haible  <bruno@clisp.org>
40469
40470         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
40471         macros.
40472         Reported by Eric Blake.
40473
40474 2006-08-28  Bruno Haible  <bruno@clisp.org>
40475
40476         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
40477         (VASNPRINTF): Return a string of length > INT_MAX without failing.
40478         * lib/vasprintf.c: Include errno.h, limits.h.
40479         (EOVERFLOW): New fallback definition.
40480         (vasprintf): Test here whether the string length is > INT_MAX.
40481         * lib/vsnprintf.c: Include errno.h, limits.h.
40482         (EOVERFLOW): New fallback definition.
40483         (vsnprintf): Fix bug when generated string was too long for the buffer.
40484         Test here whether the string length is > INT_MAX.
40485
40486 2006-08-28  Bruno Haible  <bruno@clisp.org>
40487
40488         * lib/inttypes_.h (SCNX*): Remove definitions.
40489         Reported by Eric Blake.
40490
40491 2006-08-28  Bruno Haible  <bruno@clisp.org>
40492
40493         * lib/c-strstr.h: New file, from GNU gettext.
40494         * lib/c-strstr.c: New file, from GNU gettext.
40495
40496 2006-08-28  Bruno Haible  <bruno@clisp.org>
40497
40498         * gnulib-tool: Reorder some statements.
40499
40500 2006-08-28  Bruno Haible  <bruno@clisp.org>
40501
40502         * gnulib-tool: New option --makefile-name.
40503         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
40504         $makefile_name.
40505         (func_import): Write $makefile_name to the cache file, and read it from
40506         there unless explicitly specified. Use $makefile_name as file name
40507         instead of Makefile.am. Adjust the recommendations accordingly.
40508
40509 2006-08-28  Bruno Haible  <bruno@clisp.org>
40510
40511         * gnulib-tool (func_verify_module): Check against misapplying patch.
40512
40513 2006-08-28  Bruno Haible  <bruno@clisp.org>
40514
40515         * gnulib-tool (func_relativize, func_relconcat): New functions.
40516         Give an error if --local-dir is given with --update.
40517         Remove trailing slashes from $local_gnulib_dir.
40518         (func_import): Store the relativized $local_gnulib_dir in
40519         gnulib-cache.m4, and read it from there if not specified explicitly.
40520
40521 2006-08-28  Bruno Haible  <bruno@clisp.org>
40522
40523         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
40524         is the current directory. Respect also $local_gnulib_dir.
40525
40526 2006-08-28  Bruno Haible  <bruno@clisp.org>
40527             Simon Josefsson  <jas@extundo.com>
40528
40529         BeOS portability.
40530         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
40531
40532 2006-08-27  Jim Meyering  <jim@meyering.net>
40533
40534         * doc/visibility.texi: Remove duplicate word: "pointer".
40535
40536 2006-08-26  Bruno Haible  <bruno@clisp.org>
40537
40538         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
40539         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
40540         (Makefile.am): Create inttypes.h from inttypes_.h.
40541         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
40542
40543         * modules/imaxabs: New file.
40544
40545         * modules/imaxdiv: New file.
40546
40547 2006-08-26  Bruno Haible  <bruno@clisp.org>
40548
40549         * m4/inttypes.m4: New file.
40550         * m4/_inttypes_h.m4: Remove file.
40551         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
40552         PRI_MACROS_BROKEN.
40553         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
40554
40555         * m4/imaxabs.m4: New file.
40556
40557         * m4/imaxdiv.m4: New file.
40558
40559 2006-08-26  Bruno Haible  <bruno@clisp.org>
40560
40561         * lib/inttypes_.h: New file.
40562         * lib/inttypes.h: Remove file.
40563         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
40564
40565         * lib/imaxabs.c: New file.
40566
40567         * lib/imaxdiv.c: New file.
40568
40569 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
40570
40571         New config-h module, so that "make" output needn't be cluttered
40572         by -DHAVE_CONFIG_H.
40573         * MODULES.html.sh (Support for building libraries and executables):
40574         Add config-h.
40575         * modules/config-h: New file.
40576         * gnulib-tool (nl, sed_transform_lib_file): New vars.
40577         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
40578         the config-h module is used.
40579
40580         New configmake module, so that "make" output needn't be cluttered
40581         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
40582         * MODULES.html.sh (Support for building libraries and executables):
40583         Add configmake.
40584         * modules/configmake: New file.
40585
40586 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
40587
40588         * m4/config-h.m4: New file.
40589
40590 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
40591
40592         * config/srclist.txt: Add elisp-comp.
40593
40594 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
40595
40596         * MODULES.html.sh (Support for building libraries and executables):
40597         Add elisp-comp.
40598         * build-aux/elisp-comp: New file.
40599         * modules/elisp-comp: New file.
40600
40601 2006-08-24  Bruno Haible  <bruno@clisp.org>
40602
40603         * gnulib-tool (func_create_testdir): Use non-default values of
40604         sourcebase and m4base.
40605
40606 2006-08-24  Bruno Haible  <bruno@clisp.org>
40607
40608         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
40609         HTML structure.
40610
40611 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
40612
40613         * modules/openat (Depends-on): Add lchown.
40614
40615 2006-08-23  Bruno Haible  <bruno@clisp.org>
40616
40617         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
40618         of gl_LOCK_EARLY instead of gl_LOCK.
40619
40620 2006-08-23  Bruno Haible  <bruno@clisp.org>
40621
40622         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
40623         on OSF/1 to no.
40624         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
40625
40626 2006-08-23  Bruno Haible  <bruno@clisp.org>
40627
40628         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
40629         as unusable.
40630
40631         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
40632         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
40633         (gl_LOCK): New macro.
40634
40635 2006-08-22  Simon Josefsson  <jas@extundo.com>
40636
40637         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
40638         to md5 module.
40639
40640 2006-08-22  Simon Josefsson  <jas@extundo.com>
40641
40642         * MODULES.html.sh: Add "Support for maintaining and release
40643         projects".
40644
40645         * build-aux/gnupload: New file, from coreutils.
40646
40647 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
40648
40649         Avoid the need for AC_LIBSOURCES in m4 macros.
40650         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
40651         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
40652         * modules/check-version (EXTRA_DIST): Add check-version.h.
40653         * modules/crc (EXTRA_DIST): Add crc.h.
40654         * modules/des (EXTRA_DIST): Add des.h.
40655         * modules/gc (EXTRA_DIST): Add gc.h.
40656         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
40657         * modules/getline (EXTRA_DIST): Add getline.h.
40658         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
40659         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
40660         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
40661         * modules/md2 (EXTRA_DIST): Add md2.h.
40662         * modules/md4 (EXTRA_DIST): Add md4.h.
40663         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
40664         * modules/read-file (EXTRA_DIST): Add read-file.h.
40665         * modules/readline (EXTRA_DIST): Add readline.h.
40666         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
40667         rijndael-api-fst.h.
40668
40669 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
40670
40671         * m4/rijndael.m4 (gl_ARCFOUR):
40672         * m4/arctwo.m4 (gl_ARCTWO):
40673         * m4/check-version.m4 (gl_CHECK_VERSION):
40674         * m4/crc.m4 (gl_CRC):
40675         * m4/des.m4 (gl_DES):
40676         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
40677         * m4/gc.m4 (gl_GC):
40678         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
40679         * m4/getline.m4 (gl_FUNC_GETLINE):
40680         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
40681         * m4/hmac-md5.m4 (gl_HMAC_MD5):
40682         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
40683         * m4/md2.m4 (gl_MD2):
40684         * m4/md4.m4 (gl_MD4):
40685         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
40686         * m4/read-file.m4 (gl_FUNC_READ_FILE):
40687         * m4/readline.m4 (gl_FUNC_READLINE):
40688         * m4/rijndael.m4 (gl_RIJNDAEL):
40689         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
40690         to get the necessary .h files and whatnot.
40691
40692 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
40693
40694         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
40695         gnulib rather than the other way around.
40696         * config/srclistvars.sh (COREUTILS): Remove.
40697
40698 2006-08-22  Jim Meyering  <jim@meyering.net>
40699
40700         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
40701
40702         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
40703
40704 2006-08-22  Eric Blake  <ebb9@byu.net>
40705
40706         * modules/regexprops-generic: New file.
40707         * MODULES.html.sh (Support for building documentation): List it.
40708
40709 2006-08-22  Eric Blake  <ebb9@byu.net>
40710
40711         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
40712         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
40713         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
40714         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
40715
40716 2006-08-22  Bruno Haible  <bruno@clisp.org>
40717
40718         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
40719         and lib_LTLIBRARIES like the other lib_* variables.
40720
40721 2006-08-22  Bruno Haible  <bruno@clisp.org>
40722
40723         * build-aux/x-to-1.in: New file, from GNU gettext.
40724
40725 2006-08-22  Bruno Haible  <bruno@clisp.org>
40726
40727         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
40728         <utmpx.h> exists.
40729
40730 2006-08-22  Bruno Haible  <bruno@clisp.org>
40731
40732         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
40733         <utmpx.h> exists.
40734
40735 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
40736
40737         BeOS portability.
40738         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
40739         exist.
40740         Problem reported by Bruno Haible.
40741
40742 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
40743
40744         Avoid the need for AC_LIBSOURCES in m4 macros.
40745         * modules/acl (EXTRA_DIST): Add acl.h.
40746         * modules/argmatch (Files): Add m4/argmatch.m4.
40747         (configure.ac): Add gl_ARGMATCH.
40748         (EXTRA_DIST): Renamed from lib_SOURCES, for
40749         consistency with the other modules.  Remove argmatch.c.
40750         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
40751         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
40752         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
40753         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
40754         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
40755         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
40756         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
40757         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
40758         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
40759         * modules/closeout (EXTRA_DIST): Add closeout.h.
40760         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
40761         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
40762         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
40763         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
40764         dirname.h; remove basename.c and stripslash.c.
40765         * modules/exclude (EXTRA_DIST): Add exclude.h.
40766         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
40767         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
40768         * modules/file-type (EXTRA_DIST): Add file-type.h.
40769         * modules/filemode (EXTRA_DIST): Add filemode.h.
40770         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
40771         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
40772         * modules/fpending (EXTRA_DIST): Add __fpending.h.
40773         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
40774         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
40775         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
40776         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
40777         * modules/getdate (EXTRA_DIST): Add getdate.c.
40778         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
40779         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
40780         * modules/getpass (EXTRA_DIST): Add getpass.h.
40781         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
40782         * modules/group-member (EXTRA_DIST): Add group-member.h.
40783         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
40784         * modules/hash (EXTRA_DIST): Add hash.h.
40785         * modules/human (EXTRA_DIST): Add human.h.
40786         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
40787         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
40788         * modules/lchown (EXTRA_DIST): Add lchown.h.
40789         * modules/long-options (EXTRA_DIST): Add long-options.h.
40790         * modules/lstat (EXTRA_DIST): Add lstat.h.
40791         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
40792         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
40793         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
40794         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
40795         * modules/memxor (EXTRA_DIST): Add memxor.h.
40796         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
40797         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
40798         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
40799         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
40800         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
40801         * modules/physmem (EXTRA_DIST): Add physmem.h.
40802         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
40803         * modules/posixver (EXTRA_DIST): Add posixver.h.
40804         * modules/quote (EXTRA_DIST): Add quote.h.
40805         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
40806         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
40807         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
40808         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
40809         regex_internal.h regexec.c.
40810         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
40811         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
40812         * modules/same (EXTRA_DIST): Add same.h.
40813         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
40814         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
40815         * modules/savedir (EXTRA_DIST): Add savedir.h.
40816         * modules/sha1 (EXTRA_DIST): Add sha1.h.
40817         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
40818         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
40819         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
40820         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
40821         * modules/strdup (EXTRA_DIST): Add strdup.h.
40822         * modules/strftime (EXTRA_DIST): Add strftime.h.
40823         * modules/strndup (EXTRA_DIST): Add strndup.h.
40824         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
40825         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
40826         * modules/time_r (EXTRA_DIST): Add time_r.h.
40827         * modules/timespec (EXTRA_DIST): Add timespec.h.
40828         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
40829         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
40830         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
40831         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
40832         * modules/userspec (EXTRA_DIST): Add userspec.h.
40833         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
40834         * modules/utimens (EXTRA_DIST): Add utimens.h.
40835         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
40836         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
40837         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
40838         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
40839         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
40840         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
40841         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
40842         * modules/yesno (EXTRA_DIST): Add yesno.h.
40843
40844 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
40845
40846         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
40847
40848         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
40849         * m4/dev-ino.m4, same-inode.m4: Remove.
40850
40851         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
40852         * m4/acl.m4 (AC_FUNC_ACL):
40853         * m4/backupfile.m4 (gl_BACKUPFILE):
40854         * m4/c-strtod.m4 (gl_C99_STRTOLD):
40855         * m4/canon-host.m4 (gl_CANON_HOST):
40856         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
40857         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
40858         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
40859         * m4/cloexec.m4 (gl_CLOEXEC):
40860         * m4/close-stream.m4 (gl_CLOSE_STREAM):
40861         * m4/closeout.m4 (gl_CLOSEOUT):
40862         * m4/dirfd.m4 (gl_FUNC_DIRFD):
40863         * m4/dirname.m4 (gl_DIRNAME):
40864         * m4/exclude.m4 (gl_EXCLUDE):
40865         * m4/exitfail.m4 (gl_EXITFAIL):
40866         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
40867         * m4/file-type.m4 (gl_FILE_TYPE):
40868         * m4/filemode.m4 (gl_FILEMODE):
40869         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
40870         * m4/fpending.m4 (gl_FUNC_FPENDING):
40871         * m4/fprintftime.m4 (gl_FPRINTFTIME):
40872         * m4/fts.m4 (gl_FUNC_FTS):
40873         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
40874         * m4/getdate.m4 (gl_GETDATE):
40875         * m4/gethrxtime.m4 (gl_GETHRXTIME):
40876         * m4/getpagesize.m4 (gl_GETPAGESIZE):
40877         * m4/getpass.m4 (gl_FUNC_GETPASS):
40878         * m4/gettime.m4 (gl_GETTIME):
40879         * m4/getugroups.m4 (gl_GETUGROUPS):
40880         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
40881         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
40882         * m4/hard-locale.m4 (gl_HARD_LOCALE):
40883         * m4/hash.m4 (gl_HASH):
40884         * m4/idcache.m4 (gl_IDCACHE):
40885         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
40886         * m4/lchown.m4 (gl_FUNC_LCHOWN):
40887         * m4/long-options.m4 (gl_LONG_OPTIONS):
40888         * m4/lstat.m4 (gl_FUNC_LSTAT):
40889         * m4/md5.m4 (gl_MD5):
40890         * m4/memcasecmp.m4 (gl_MEMCASECMP):
40891         * m4/memcoll.m4 (gl_MEMCOLL):
40892         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
40893         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
40894         * m4/memxor.m4 (gl_MEMXOR):
40895         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
40896         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
40897         * m4/modechange.m4 (gl_MODECHANGE):
40898         * m4/mountlist.m4 (gl_MOUNTLIST):
40899         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
40900         * m4/openat.m4 (gl_FUNC_OPENAT):
40901         * m4/pathmax.m4 (gl_PATHMAX):
40902         * m4/physmem.m4 (gl_PHYSMEM):
40903         * m4/posixtm.m4 (gl_POSIXTM):
40904         * m4/posixver.m4 (gl_POSIXVER):
40905         * m4/quote.m4 (gl_QUOTE):
40906         * m4/quotearg.m4 (gl_QUOTEARG):
40907         * m4/readtokens.m4 (gl_READTOKENS):
40908         * m4/readutmp.m4 (gl_READUTMP):
40909         * m4/regex.m4 (gl_REGEX):
40910         * m4/safe-read.m4 (gl_SAFE_READ):
40911         * m4/safe-write.m4 (gl_SAFE_WRITE):
40912         * m4/same.m4 (gl_SAME):
40913         * m4/save-cwd.m4 (gl_SAVE_CWD):
40914         * m4/savedir.m4 (gl_SAVEDIR):
40915         * m4/settime.m4 (gl_SETTIME):
40916         * m4/sha1.m4 (gl_SHA1):
40917         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
40918         * m4/stat-macros.m4 (gl_STAT_MACROS):
40919         * m4/stat-time.m4 (gl_STAT_TIME):
40920         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
40921         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
40922         * m4/strdup.m4 (gl_FUNC_STRDUP):
40923         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
40924         * m4/strndup.m4 (gl_FUNC_STRNDUP):
40925         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
40926         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
40927         * m4/time_r.m4 (gl_TIME_R):
40928         * m4/timespec.m4 (gl_TIMESPEC):
40929         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
40930         * m4/unlinkdir.m4 (gl_UNLINKDIR):
40931         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
40932         * m4/userspec.m4 (gl_USERSPEC):
40933         * m4/utimecmp.m4 (gl_UTIMECMP):
40934         * m4/utimens.m4 (gl_UTIMENS):
40935         * m4/xalloc.m4 (gl_XALLOC):
40936         * m4/xgetcwd.m4 (gl_XGETCWD):
40937         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
40938         * m4/xreadlink.m4 (gl_XREADLINK):
40939         * m4/xstrtod.m4 (gl_XSTRTOD):
40940         * m4/yesno.m4 (gl_YESNO):
40941         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
40942         to get the necessary .h files and whatnot.
40943
40944 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
40945             Bruno Haible  <bruno@clisp.org>
40946
40947         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
40948         /bin/sh understanding of '!' conditional negation.
40949
40950 2006-08-21  Jim Meyering  <jim@meyering.net>
40951
40952         * modules/openat (Depends-on): Really alphabetize.
40953
40954         * modules/acl (Depends-on): Add error and quote.
40955
40956         * check-module (find_included_lib_files): Add at-func.c to the
40957         ok-to-include-more-than-once white list.
40958
40959         * modules/openat (Depends-on): Add lstat.  Alphabetize.
40960
40961 2006-08-21  Bruno Haible  <bruno@clisp.org>
40962
40963         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
40964         Emit a pkgdata_DATA variable only if some snippets add contents to it.
40965         Reported by Martin Lambers <marlam@marlam.de>.
40966
40967 2006-08-21  Bruno Haible  <bruno@clisp.org>
40968
40969         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
40970         specify an installation location, don't emit a noinst_LIBRARIES or
40971         noinst_LTLIBRARIES assignment.
40972
40973 2006-08-21  Bruno Haible  <bruno@clisp.org>
40974
40975         BeOS portability.
40976         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
40977         BeOS has mbrtowc() but no <wctype.h>.
40978
40979 2006-08-21  Bruno Haible  <bruno@clisp.org>
40980
40981         BeOS portability.
40982         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
40983         exist.
40984
40985 2006-08-21  Bruno Haible  <bruno@clisp.org>
40986
40987         BeOS portability.
40988         * lib/mbchar.h: Include <wctype.h> only if it exists.
40989
40990 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
40991
40992         Remove files that are no longer needed by their respective modules.
40993         * m4/obstack.m4: Remove.
40994         * m4/strerror_r.m4: Remove.
40995         * m4/uint32_t.m4: Remove.
40996         * m4/uintptr_t.m4: Remove.
40997         * m4/ullong_max.m4: Remove.
40998         * m4/xstrtoimax.m4: Remove.
40999         * m4/xstrtoumax.m4: Remove.
41000
41001         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
41002         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
41003         dependencies now capture this.
41004
41005         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
41006         Do not use AC_LIBSOURCES, since gnulib modules now do this.
41007         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
41008         * m4/human.m4 (gl_HUMAN): Likewise.
41009         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
41010         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
41011
41012         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
41013
41014         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
41015         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
41016         stdint.
41017         * m4/human.m4 (gl_HUMAN): Likewise.
41018         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
41019         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
41020         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
41021         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
41022         * m4/xstrtol (gl_XSTRTOL): Likewise.
41023
41024         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
41025         AC_TYPE_LONG_LONG_INT.
41026         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
41027         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
41028         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
41029         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
41030
41031         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
41032         on stdbool.
41033
41034         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
41035         (gl_PREREQ_XSTRTOUL): Remove.
41036
41037         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
41038
41039         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
41040         mode.
41041
41042 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
41043
41044         Add and change modules to make it easier for coreutils to use
41045         gnulib-tool.
41046         * modules/backupfile (Files): Remove m4/d-ino.m4.
41047         (Depends-on): Add d-ino.
41048         * modules/cycle-check (Depends-on): Add stdint.
41049         (lib_SOURCES): Add cycle-check.h.
41050         * modules/d-ino: New module.
41051         * modules/d-type: New module.
41052         * modules/error (Files): Remove m4/strerror_r.m4.
41053         * modules/filemode (Files): Add m4/st_dm_mode.m4.
41054         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
41055         m4/inttypes_h.m4, m4/uintmax_t.m4.
41056         (Depends-on): Add stdint.
41057         (lib_SOURCES): Add fsusage.h.
41058         * modules/getcwd (Files): Remove d-ino.m4.
41059         (Depends-on): Add d-ino.
41060         * modules/getndelim2 (Depends-on): Add stdint.
41061         * modules/glob (Files): Remove m4/d-type.m4.
41062         (Depends-on): Add d-type.
41063         * modules/host-os: New module.
41064         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
41065         m4/inttypes_h.m4, m4/uintmax_t.m4.
41066         * Depends-on: Add stdint.
41067         (lib_SOURCES): Add human.h.
41068         * modules/inttostr (Files): Remove m4/intmax_t.m4,
41069         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
41070         m4/uintmax_t.m4, m4/ulonglong.m4.
41071         (Depends-on): Add stdint.
41072         (EXTRA_DIST): Add inttostr.h.
41073         * modules/lchmod: New module.
41074         * modules/link-follow: New module.
41075         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
41076         (Depends-on): Add lchmod.
41077         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
41078         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
41079         (Depends-on): Add stdint.
41080         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
41081         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
41082         (Depends-on): Add stdint.
41083         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
41084         * modules/perl: New module.
41085         * modules/regex (Depends-on): Add stdint.
41086         * modules/rmdir-errno: New module.
41087         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
41088         m4/intmax_t.m4.
41089         (Depends-on): Add stdint.
41090         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
41091         m4/uintmax_t.m4.
41092         (Depends-on): Add stdint.
41093         * modules/unlink-busy: New module.
41094         * modules/utimecmp (Depends-on): Add stdint.
41095         * modules/uptime: New module.
41096         * modules/winsz-ioctl: New module.
41097         * modules/winsz-termios: New module.
41098         * modules/xnanosleep (Depends-on): Add nanosleep.
41099         * modules/ullong_max: Remove.
41100         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
41101         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
41102         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
41103         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
41104         (Depends-on): Add inttypes.
41105         (lib_SOURCES): Add xstrtol.h.
41106         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
41107         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
41108         * MODULES.html.sh: Move 'assert' into the assert section.
41109         Move 'dummy' into the linking section.
41110         Remove ullong_max.
41111         Add section for compatibility checks for POSIX:2001 functions,
41112         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
41113         winsz-ioctl, and winsz-termios into it.
41114         Add lchmod.
41115         Add top-level Misc section and put host-os, perl, and uptime
41116         into it.
41117
41118 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
41119
41120         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
41121         now assume the stdint module.  Do not include inttypes.h.
41122         * lib/fsusage.h: Likewise.
41123         * lib/getndelim2.c: Likewise.
41124         * lib/human.h: Likewise.
41125         * lib/inttostr.h: Likewise.
41126         * lib/obstack.c: Likewise.
41127         * lib/regex_internal.h: Likewise.
41128         * lib/tempname.c: Likewise.
41129         * lib/utimecmp.c: Likewise.
41130         * lib/xstrtol.h: Likewise.
41131
41132         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
41133
41134         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
41135         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
41136         * lib/xtime.h: Likewise.
41137
41138 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
41139
41140         * modules/openat (Files): Add lib/fchmodat.c.
41141         Fixes problem reported by Jay Youngman.
41142
41143 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
41144
41145         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
41146         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
41147
41148 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
41149             Bruno Haible  <bruno@clisp.org>
41150
41151         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
41152         and is a script that invokes bison. Tighten the code. Add comments.
41153
41154 2006-08-18  Jim Meyering  <jim@meyering.net>
41155
41156         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
41157         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
41158         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
41159         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
41160
41161 2006-08-18  Bruno Haible  <bruno@clisp.org>
41162
41163         * modules/bison-i18n: New file.
41164         * MODULES.html.sh (Internationalization functions): Add it.
41165
41166 2006-08-18  Bruno Haible  <bruno@clisp.org>
41167
41168         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
41169         sys/statvfs.h. When getmntinfo was found, check its declaration and
41170         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
41171
41172 2006-08-18  Bruno Haible  <bruno@clisp.org>
41173
41174         * m4/bison-i18n.m4: New file, from bison.
41175
41176 2006-08-18  Bruno Haible  <bruno@clisp.org>
41177
41178         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
41179         (ME_DUMMY): Treat "kernfs" as a dummy.
41180         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
41181
41182 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
41183
41184         Update from coreutils.
41185
41186         2006-08-15  Jim Meyering  <jim@meyering.net>
41187
41188         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
41189
41190         2006-01-17  Jim Meyering  <jim@meyering.net>
41191
41192         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
41193
41194         2006-01-11  Jim Meyering  <jim@meyering.net>
41195
41196         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
41197         Check for the lchmod function.
41198
41199 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
41200
41201         Update from coreutils.
41202
41203         * lib/__fpending.h: Add copyright notice.
41204         * lib/fprintftime.h: Likewise.
41205         * lib/savedir.c: Use (C) in copyright notice.
41206         * lib/savedir.h: Likewise.
41207
41208         2006-08-15  Jim Meyering  <jim@meyering.net>
41209
41210         * lib/at-func.c: New file, with the logic of all emulated at-functions.
41211         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
41212         in support of the EXPECTED_ERRNO macro.
41213         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
41214         definitions.  Instead, define the appropriate symbols and include
41215         "at-func.c".
41216         * lib/mkdirat.c (mkdirat): Likewise.
41217         * lib/fchmodat.c (fchmodat): Likewise.
41218         (ENOSYS): Remove definition.
41219         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
41220         it.  Don't include "unistd--.h" -- it wasn't ever used.
41221
41222         2006-01-17  Jim Meyering  <jim@meyering.net>
41223
41224         Rewrite fts.c not to change the current working directory,
41225         by using openat, fstatat, fdopendir, etc..
41226
41227         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
41228         (HAVE_OPENAT_SUPPORT): Define.
41229         [_LIBC] (fchdir): Don't undef or define; no longer used.
41230         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
41231         Now, this `function' always succeeds, and consumes its file descriptor
41232         parameter -- so callers must not close such FDs.  Update callers.
41233         (diropen_fd, opendirat, cwd_advance_fd): New functions.
41234         (diropen): Add parameter, SP.  Adjust all callers.
41235         Implement using diropen_fd, rather than open.
41236         (fts_open): Initialize new member, fts_cwd_fd.
41237         Remove fts_rft-setting code.
41238         (fts_close): Close fts_cwd_fd, if necessary.
41239         (__opendir2): Define in terms of opendir or opendirat,
41240         depending on whether the FST_NOCHDIR flag is set.
41241         (fts_build): Since fts_safe_changedir consumes its FD, and since
41242         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
41243         and close the dup'd file descriptor upon failure.
41244         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
41245         (fts_safe_changedir): Tweak semantics to reflect that this function
41246         now calls cwd_advance_fd and hence consumes its FD argument.
41247         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
41248         [struct FTS] (fts_rft): Remove now-unused member.
41249         [struct FTS] (fts_cycle.state): Improve comment.
41250
41251         * lib/openat.c (openat_needs_fchdir): New function.
41252         * lib/openat.h (openat_needs_fchdir): Declare it.
41253
41254 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
41255
41256         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
41257         Problem and fix reported by Pádraig Brady in
41258         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
41259
41260 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
41261
41262         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
41263
41264 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
41265
41266         * lib/memcoll.c (memcoll): Optimize for the common case where the
41267         arguments are bytewise equal.
41268
41269 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
41270
41271         * doc/regexprops-generic.texi: Add a copyright notice.
41272
41273 2006-08-15  Bruno Haible  <bruno@clisp.org>
41274
41275         * modules/tmpdir (License): Change to LGPL.
41276
41277 2006-08-15  Bruno Haible  <bruno@clisp.org>
41278
41279         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
41280         module.
41281
41282 2006-08-14  Simon Josefsson  <jas@extundo.com>
41283
41284         * config/srclist.txt: Add gnupload.
41285
41286 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
41287
41288         Change copyright notice from LGPL 2 to GPL 2, since that's the
41289         standard form used in the gnulib repository.
41290         * tests/test-lock.c: Likewise.
41291         * tests/test-stdint.c: Likewise.
41292         * tests/test-tls.c: Likewise.
41293
41294         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
41295         prelude-manager.  User shorter URLs for GNU projects, without '?'.
41296         Add copyright notice.
41297
41298         * check-module: Add copyright notice.  Output a copyright
41299         notice if "--version" is specified.
41300         * modules/COPYING: New file.
41301         * tests/test-getaddrinfo.c: Add copyright notice.
41302         * tests/test-verify.c: Likewise.
41303
41304 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
41305
41306         Change copyright notice from LGPL 2 to GPL 2, since that's the
41307         standard form used in the gnulib repository.
41308         * lib/lock.c: LGPL -> GPL.
41309         * lib/lock.h: Likewise.
41310         * lib/strnlen1.c: Likewise.
41311         * lib/strnlen1.h: Likewise.
41312         * lib/tls.c: Likewise.
41313         * lib/tls.h: Likewise.
41314         * lib/tmpdir.c: Likewise.
41315
41316         * lib/TODO: Remove; this belongs only in coreutils.
41317
41318 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
41319
41320         Add copyright notices to long-enough files that lack them, since
41321         otherwise the files aren't clearly free.  Use the same notice that
41322         getdate.texi already uses.
41323         * doc/alloca-opt.texi: Add copyright notice.
41324         * doc/alloca.texi: Likewise.
41325         * doc/ctime.texi: Likewise.
41326         * doc/functions.texi: Likewise.
41327         * doc/gcd.texi: Likewise.
41328         * doc/gnulib-tool.texi: Likewise.
41329         * doc/inet_ntoa.texi: Likewise.
41330         * doc/visibility.texi: Likewise.
41331
41332         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
41333         * doc/quote.texi: Add copyright notice.
41334
41335         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
41336         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
41337         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
41338         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
41339         is now obsolete, and give a pointer to the Sun list.
41340         Add copyright notice.
41341
41342 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
41343
41344         * config/srclistvars.sh: Add copyright notice.
41345
41346 2006-08-14  Eric Blake  <ebb9@byu.net>
41347
41348         Import the following change from libc:
41349
41350         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
41351
41352         Upstream bug 2997.
41353         * lib/misc/error.c: Add space between program name and message if file
41354         name is missing.
41355
41356 2006-08-12  Karl Berry  <karl@gnu.org>
41357
41358         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
41359         remove, these originate in gnulib now.
41360
41361 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41362
41363         * doc/Makefile (standards.info standards.html standards.dvi):
41364         Also depend on make-stds.texi.
41365
41366 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
41367
41368         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
41369         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
41370
41371         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
41372         in wchar_t.  Problem reported by Eric Blake.
41373
41374         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
41375         LEN is smaller than SIZE.  Suggested by Bruno Haible.
41376         Also, help the compiler to keep LEN in a register.
41377
41378 2006-08-11  Eric Blake  <ebb9@byu.net>
41379
41380         * users.txt: Sort.  Add tar.
41381
41382 2006-08-11  Bruno Haible  <bruno@clisp.org>
41383
41384         * users.txt: New file.
41385
41386 2006-08-11  Bruno Haible  <bruno@clisp.org>
41387
41388         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
41389         before <wchar.h>. Needed for OSF/1 and BSD/OS.
41390
41391 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
41392
41393         * modules/snprintf (Depends-on): Remove minmax.
41394         (Maintainer): Add self and Bruno.
41395
41396 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
41397
41398         * lib/.cppi-disable: Add snprintf.h, socket_.h.
41399         * lib/snprintf.c: Include <errno.h> and <limits.h>.
41400         (EOVERFLOW): Define if the system does not.
41401         Do not include "minmax.h"; it wasn't used.
41402         (snprintf): Don't assume size_t promotes to an unsigned type.
41403         Fix bug when generated string was too long for the buffer: the
41404         buffer's contents are supposed to be the initial prefix of the
41405         output.  Don't assume vasnprintf returns EOVERFLOW if the size
41406         exceeds INT_MAX; do the check ourselves.
41407
41408         Import the following changes from libc:
41409
41410         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
41411
41412         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
41413         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
41414         set wc to the byte which couldn't be converted.
41415         (re_string_reconstruct): Don't clear valid_raw_len before calling
41416         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
41417         tip_context using re_string_context_at.
41418
41419         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
41420
41421         * lib/posix/regex.h: g++ still cannot handled [restrict].
41422
41423         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
41424
41425         * lib/posix/regex.h: Remove special handling for VMS.
41426
41427 2006-08-10  Jim Meyering  <jim@meyering.net>
41428
41429         * modules/same-inode: New module.
41430         * modules/dev-ino: New module.
41431         * modules/cycle-check: Depend on these modules, rather than simply
41432         including their .h files.
41433         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
41434         required via m4/cycle-check.m4.
41435         * modules/same: Depend on new same-inode module, rather than
41436         including same-inode.h.
41437         * modules/chdir-safer: New file.
41438
41439         * modules/chown (Depends-on): Add stat-macros.
41440
41441 2006-08-10  Jim Meyering  <jim@meyering.net>
41442
41443         * m4/cycle-check.m4: New file.
41444         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
41445         * m4/dev-ino.m4, m4/same-inode.m4: New files.
41446
41447 2006-08-10  Eric Blake  <ebb9@byu.net>
41448
41449         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
41450         in from original proposal.
41451
41452 2006-08-10  Eric Blake  <ebb9@byu.net>
41453         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
41454
41455         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
41456         namespace.
41457
41458 2006-08-10  Bruno Haible  <bruno@clisp.org>
41459
41460         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
41461         as well.
41462
41463 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
41464
41465         Sync from coreutils.
41466
41467         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
41468
41469         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
41470         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
41471
41472 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
41473
41474         * modules/restrict: Remove; no longer needed now that we assume
41475         Autoconf 2.59 or later.
41476         * MODULES.html.sh: Remove 'restrict'.
41477         * modules/argp (Depends-on): Remove 'restrict'.
41478         * modules/base64 (Depends-on): Likewise.
41479         * modules/gc (Depends-on): Likewise.
41480         * modules/getaddrinfo (Depends-on): Likewise.
41481         * modules/glob (Depends-on): Likewise.
41482         * modules/inet_ntop (Depends-on): Likewise.
41483         * modules/inet_pton (Depends-on): Likewise.
41484         * modules/memxor (Depends-on): Likewise.
41485         * modules/regex (Depends-on): Likewise.
41486         * modules/strtok_r (Depends-on): Likewise.
41487         * modules/time_r (Depends-on): Likewise.
41488
41489 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
41490
41491         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
41492         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
41493         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
41494         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
41495         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
41496         * m4/memxor.m4 (gl_MEMXOR): Likewise.
41497         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
41498         gl_C_RESTRICT replaced by AC_C_RESTRICT.
41499
41500         Merge from coreutils.
41501         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
41502         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
41503         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
41504         * m4/time_r.m4 (gl_TIME_R): Likewise.
41505
41506 2006-08-09  Karl Berry  <karl@gnu.org>
41507
41508         * config/srclist.txt: no more gettext-tools, per Bruno.
41509
41510 2006-08-08  Eric Blake  <ebb9@byu.net>
41511
41512         * modules/verror: New module.
41513         * MODULES.html.sh: Document it.
41514
41515 2006-08-08  Eric Blake  <ebb9@byu.net>
41516
41517         * lib/verror.h, lib/verror.c: New files.
41518
41519 2006-08-08  Eric Blake  <ebb9@byu.net>
41520
41521         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
41522         verror_at_line output complies with GNU Coding Standards even when
41523         file is NULL.
41524
41525 2006-08-07  Bruno Haible  <bruno@clisp.org>
41526
41527         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
41528         versions of AIX.
41529         Reported by Ralf Wildenhues.
41530
41531 2006-08-07  Bruno Haible  <bruno@clisp.org>
41532
41533         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
41534         in an AC_DEFUN. Needed so that the autoconf snippets can use
41535         AC_REQUIRE.
41536
41537 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41538
41539         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
41540         Initialize pkgdata_DATA.
41541         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
41542         overriding it.
41543
41544 2006-08-06  Eric Blake  <ebb9@byu.net>
41545
41546         * lib/error.h: Fold in some upstream changes from glibc.
41547         * lib/error.c: Likewise.
41548
41549 2006-08-04  Bruno Haible  <bruno@clisp.org>
41550
41551         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
41552         Make the mostlyclean-local rule depend on mostlyclean-generic.
41553         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
41554
41555 2006-07-31  Bruno Haible  <bruno@clisp.org>
41556
41557         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
41558         <stdlib.h>, <string.h>.
41559
41560 2006-07-30  Bruno Haible  <bruno@clisp.org>
41561
41562         * modules/readlink (License): Change to LGPL.
41563
41564 2006-07-30  Bruno Haible  <bruno@clisp.org>
41565
41566         * modules/javaversion (Makefile.am): Distribute javaversion.java and
41567         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
41568         set PKGDATADIR to point to it.
41569
41570 2006-07-30  Bruno Haible  <bruno@clisp.org>
41571
41572         * modules/csharpexec (configure.ac): Comment out macro invocation.
41573         * modules/javaexec (configure.ac): Likewise.
41574         * modules/javacomp-script (configure.ac): Likewise.
41575
41576         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
41577
41578 2006-07-30  Bruno Haible  <bruno@clisp.org>
41579
41580         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
41581         linked-list.
41582
41583 2006-07-30  Bruno Haible  <bruno@clisp.org>
41584
41585         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
41586
41587 2006-07-30  Bruno Haible  <bruno@clisp.org>
41588
41589         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
41590         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
41591         get removed.
41592
41593 2006-07-29  Bruno Haible  <bruno@clisp.org>
41594
41595         Make it possible for gnulib-tool to work with locally modified or
41596         augmented gnulib repositories.
41597         * gnulib-tool (func_usage): Document --local-dir option.
41598         (local_gnulib_dir): New variable.
41599         Handle --local-dir option.
41600         (func_lookup_file): New function.
41601         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
41602         (func_get_description, func_get_filelist, func_get_description,
41603         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
41604         func_get_automake_snippet, func_get_include_directive,
41605         func_get_license, func_get_maintainer): Use func_lookup_file.
41606         (func_import, func_create_testdir): Use func_lookup_file.
41607
41608 2006-07-29  Bruno Haible  <bruno@clisp.org>
41609
41610         * modules/setenv (Depends-on): Add unistd.
41611
41612 2006-07-29  Bruno Haible  <bruno@clisp.org>
41613
41614         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
41615
41616 2006-07-29  Bruno Haible  <bruno@clisp.org>
41617
41618         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
41619
41620 2006-07-29  Bruno Haible  <bruno@clisp.org>
41621
41622         * gnulib-tool (import, update): If there is no Makefile.am, look at
41623         aclocal.m4, instead of bailing out.
41624
41625 2006-07-29  Bruno Haible  <bruno@clisp.org>
41626
41627         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
41628         Categorize the options by when they are useful.
41629
41630 2006-07-29  Bruno Haible  <bruno@clisp.org>
41631
41632         * gnulib-tool (func_usage): Document option --no-libtool.
41633         Handle option --no-libtool.
41634         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
41635         for changed semantics of $libtool variable.
41636         (func_import): Likewise. If libtool is not used, show this through
41637         an option --no-libtool.
41638         (func_create_testdir): Update.
41639
41640 2006-07-29  Bruno Haible  <bruno@clisp.org>
41641
41642         * gnulib-tool (func_import): Extend error message about missing
41643         --doc-base.
41644
41645 2006-07-29  Bruno Haible  <bruno@clisp.org>
41646
41647         * gnulib-tool (func_import): Don't create the $docbase directory if
41648         there is no file to store there.
41649
41650 2006-07-29  Bruno Haible  <bruno@clisp.org>
41651
41652         * gnulib-tool (autoconf_minversion): If a --dir option is given and
41653         relevant, look for configure.ac there, not in the current directory.
41654         Also use a simple search for AC_PREREQ, not "autoconf --trace".
41655
41656 2006-07-29  Bruno Haible  <bruno@clisp.org>
41657
41658         * gnulib-tool (SORT): New variable.
41659         (func_usage): Undocument --assume-autoconf option.
41660         Remove --assume-autoconf option handling.
41661         (autoconf_minversion): Determine from the contents of configure.ac.
41662         (func_import): Remove autoconf_minversion handling.
41663         Suggested by Eric Blake.
41664
41665 2006-07-29  Bruno Haible  <bruno@clisp.org>
41666
41667         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
41668
41669 2006-07-29  Bruno Haible  <bruno@clisp.org>
41670
41671         * config/srclist.txt (*setenv.[ch]): Remove rules.
41672
41673 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41674
41675         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
41676
41677 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41678
41679         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
41680         arpa/inet.h.
41681
41682 2006-07-28  Simon Josefsson  <jas@extundo.com>
41683
41684         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
41685         * modules/inet_pton (Depends-on): Likewise.
41686
41687 2006-07-28  Simon Josefsson  <jas@extundo.com>
41688
41689         * m4/netinet_in_h.m4: New file.
41690
41691 2006-07-28  Simon Josefsson  <jas@extundo.com>
41692
41693         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
41694         #include's.
41695
41696 2006-07-28  Simon Josefsson  <jas@extundo.com>
41697
41698         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
41699         #include's.
41700
41701 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
41702
41703         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
41704         setgid on directories only if they set these bits.
41705         * lib/modechange.h: Remove obsolete comment about masks.
41706
41707 2006-07-28  Eric Blake  <ebb9@byu.net>
41708
41709         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
41710         macro expansion.
41711
41712 2006-07-28  Bruno Haible  <bruno@clisp.org>
41713
41714         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
41715
41716 2006-07-28  Bruno Haible  <bruno@clisp.org>
41717
41718         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
41719
41720 2006-07-28  Bruno Haible  <bruno@clisp.org>
41721
41722         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
41723         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
41724         Define fallbacks.
41725         Avoids link error on FreeBSD 4.x.
41726         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
41727
41728         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
41729         encoding.
41730         * lib/mbswidth.c (iswcntrl): Likewise.
41731
41732 2006-07-27  Bruno Haible  <bruno@clisp.org>
41733
41734         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
41735         test.
41736
41737 2006-07-27  Bruno Haible  <bruno@clisp.org>
41738
41739         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
41740         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
41741         defined.
41742
41743 2006-07-26  Eric Blake  <ebb9@byu.net>
41744
41745         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
41746
41747 2006-07-26  Eric Blake  <ebb9@byu.net>
41748
41749         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
41750         like mingw that lack mkstemp.
41751         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
41752         avoid compilation warning on mingw.
41753
41754 2006-07-26  Bruno Haible  <bruno@clisp.org>
41755
41756         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
41757         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
41758         INT_FAST*_MIN, INTPTR_MIN.
41759
41760 2006-07-25  Bruno Haible  <bruno@clisp.org>
41761
41762         * modules/version-etc (Depends-on): Add stdarg.
41763
41764 2006-07-25  Bruno Haible  <bruno@clisp.org>
41765
41766         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
41767         complex commands.
41768
41769 2006-07-25  Bruno Haible  <bruno@clisp.org>
41770
41771         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
41772         defined in <stdarg.h> or config.h.
41773
41774 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
41775
41776         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
41777         (gl_STDIO_SAFER): Remove.
41778
41779 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
41780
41781         * MODULES.html.sh (File stream based Input/Output):
41782         Add fopen-safer, tmpfile-safer; remove stdio-safer.
41783         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
41784         * modules/fopen-safer, modules/tmpfile-safer: New files.
41785         * modules/stdio-safer: Remove.
41786
41787 2006-07-24  Bruno Haible  <bruno@clisp.org>
41788
41789         * modules/tmpdir: New file.
41790         * MODULES.html.sh (File system functions): Add it.
41791
41792 2006-07-24  Bruno Haible  <bruno@clisp.org>
41793
41794         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
41795         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
41796
41797 2006-07-24  Bruno Haible  <bruno@clisp.org>
41798
41799         * modules/clean-temp: New file.
41800
41801 2006-07-24  Bruno Haible  <bruno@clisp.org>
41802
41803         * m4/tmpdir.m4: New file, from GNU gettext.
41804
41805 2006-07-24  Bruno Haible  <bruno@clisp.org>
41806
41807         * lib/tmpdir.h: New file, from GNU gettext.
41808         * lib/tmpdir.c: New file, from GNU gettext.
41809
41810 2006-07-24  Bruno Haible  <bruno@clisp.org>
41811
41812         * lib/clean-temp.h: New file, from GNU gettext.
41813         * lib/clean-temp.c: New file, from GNU gettext.
41814
41815 2006-07-23  Eric Blake  <ebb9@byu.net>
41816
41817         * modules/stdio-safer (Files): Add tmpfile-safer.c.
41818         (Depends-on): Add binary-io.
41819
41820 2006-07-23  Eric Blake  <ebb9@byu.net>
41821
41822         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
41823
41824 2006-07-23  Eric Blake  <ebb9@byu.net>
41825
41826         * lib/tmpfile-safer.c: New file.
41827         * lib/stdio-safer.h (fopen_safer): Add prototype.
41828         * lib/stdio--.h (tmpfile): Make safer.
41829
41830 2006-07-23  Bruno Haible  <bruno@clisp.org>
41831
41832         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
41833         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
41834         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
41835         gl_linked_remove_at): Use it.
41836
41837 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41838         and Simon Josefsson <jas@extundo.com>
41839
41840         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
41841
41842         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
41843
41844 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
41845
41846         * modules/close-stream: New file.
41847         * modules/closeout (Description): Make it clear that it exits
41848         with a diagnostic on error.
41849         (Depends-on): Add close-stream.  Remove fpending, stdbool.
41850         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
41851
41852 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
41853
41854         * m4/close-stream.m4: New file.
41855
41856 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
41857
41858         * lib/close-stream.c, lib/close-stream.h: New files.
41859
41860 2006-07-22  Bruno Haible  <bruno@clisp.org>
41861
41862         Merge from GNU gettext 0.15.
41863
41864         2006-05-01  Bruno Haible  <bruno@clisp.org>
41865
41866                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
41867
41868         2006-07-22  Bruno Haible  <bruno@clisp.org>
41869
41870                 * modules/javaversion: New file.
41871                 * MODULES.html.sh (Java): Add javaversion.
41872
41873         2006-03-12  Bruno Haible  <bruno@clisp.org>
41874
41875                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
41876
41877         2005-12-04  Bruno Haible  <bruno@clisp.org>
41878
41879                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
41880                 (untested).
41881
41882         2006-06-21  Bruno Haible  <bruno@clisp.org>
41883
41884                 Avoid warnings from recent versions of mcs.
41885                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
41886                 -o, -L, -r any more. Use options documented since mcs-1.0
41887                 instead. Similarly for -g.
41888
41889         2005-12-04  Bruno Haible  <bruno@clisp.org>
41890
41891                 * build-aux/csharpcomp.sh.in: Suffix for resources is
41892                 .resources, not .resource.
41893
41894         2005-07-09  Bruno Haible  <bruno@clisp.org>
41895
41896                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
41897                 add a .dll suffix.
41898                 Reported by Mark Junker <mjscod@gmx.de>.
41899
41900         2006-07-22  Bruno Haible  <bruno@clisp.org>
41901
41902                 * modules/gettext: Upgrade to gettext-0.15.
41903                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
41904                 m4/visibility.m4.
41905                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
41906
41907 2006-07-22  Bruno Haible  <bruno@clisp.org>
41908
41909         Merge from GNU gettext 0.15.
41910
41911         2006-03-25  Bruno Haible  <bruno@clisp.org>
41912
41913                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
41914
41915         2006-07-21  Bruno Haible  <bruno@clisp.org>
41916
41917                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
41918                 "1.1".
41919
41920         2006-05-09  Bruno Haible  <bruno@clisp.org>
41921
41922                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
41923                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
41924                 for the conftestver execution.
41925
41926         2006-05-01  Bruno Haible  <bruno@clisp.org>
41927
41928                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
41929                 optional target-version argument. Verify that the compiler
41930                 groks source of the specified source-version, or add -source
41931                 option as necessary. Verify that the compiler produces
41932                 bytecode in the specified target-version, or add -target and
41933                 -source options as necessary. Make the result of the test
41934                 available as variable CONF_JAVAC. Also log error output in
41935                 config.log.
41936
41937         2006-03-11  Bruno Haible  <bruno@clisp.org>
41938
41939                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
41940
41941         2006-05-09  Bruno Haible  <bruno@clisp.org>
41942
41943                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
41944                 CLASSPATH_SEPARATOR to a semicolon.
41945
41946         2006-03-12  Bruno Haible  <bruno@clisp.org>
41947
41948                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
41949                 available as variable CONF_JAVA, for subsequent autoconf
41950                 tests. Also log error output in config.log.
41951
41952         2006-07-19  Bruno Haible  <bruno@clisp.org>
41953
41954                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
41955                 that getline works on glibc2 systems. Needed to avoid trouble
41956                 in relocatable.c.
41957                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
41958
41959         2005-12-04  Bruno Haible  <bruno@clisp.org>
41960
41961                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
41962                 launcher (untested).
41963
41964         2005-12-04  Bruno Haible  <bruno@clisp.org>
41965
41966                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
41967
41968         2006-07-22  Bruno Haible  <bruno@clisp.org>
41969
41970                 * gettext.m4: Update from GNU gettext-0.15.
41971                 * nls.m4: Likewise.
41972                 * po.m4: Likewise.
41973                 * inttypes-pri.m4: Likewise.
41974                 * inttypes-h.m4: Renamed from inttypes.m4.
41975                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
41976
41977 2006-07-22  Bruno Haible  <bruno@clisp.org>
41978
41979         Merge from GNU gettext 0.15.
41980
41981         2005-07-05  Bruno Haible  <bruno@clisp.org>
41982
41983                 * printf-args.c (printf_fetchargs): Work around broken
41984                 definition of wint_t on mingw.
41985
41986         2005-02-12  Bruno Haible  <bruno@clisp.org>
41987
41988                 * xallocsa.h: Add extern "C" for C++.
41989
41990         2006-05-17  Bruno Haible  <bruno@clisp.org>
41991
41992                 Cygwin portability.
41993                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
41994
41995         2006-04-30  Bruno Haible  <bruno@clisp.org>
41996
41997                 * progreloc.c: Include <mach-o/dyld.h> if available.
41998                 (find_executable): Use _NSGetExecutablePath when possible.
41999
42000         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
42001
42002                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
42003                 function.
42004
42005         2005-12-29  Bruno Haible  <bruno@clisp.org>
42006
42007                 * progreloc.c (set_program_name_and_installdir): Fix
42008                 compilation error.
42009
42010         2005-12-04  Bruno Haible  <bruno@clisp.org>
42011
42012                 Cygwin portability.
42013                 * progreloc.c: Include <windows.h> also on Cygwin.
42014                 (find_executable): Add support for Cygwin.
42015                 (set_program_name_and_installdir): Handle also platforms with
42016                 nonempty EXEEXT.
42017
42018         2006-07-11  Bruno Haible  <bruno@clisp.org>
42019
42020                 * javacomp.c: Fix a comment.
42021                 Reported by Jim Meyering.
42022
42023         2006-04-30  Bruno Haible  <bruno@clisp.org>
42024
42025                 * javacomp.h (compile_java_class): Add source_version,
42026                 target_version arguments.
42027                 * javacomp.c: Rewritten to choose only a compiler that
42028                 respects the specified source_version and target_version.
42029
42030         2006-06-27  Bruno Haible  <bruno@clisp.org>
42031
42032                 Assume correct S_ISDIR macro.
42033                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
42034
42035         2006-07-22  Bruno Haible  <bruno@clisp.org>
42036
42037                 * javaversion.h: New file, from GNU gettext.
42038                 * javaversion.c: New file, from GNU gettext.
42039                 * javaversion.java: New file, from GNU gettext.
42040                 * javaversion.class: New file, from GNU gettext.
42041
42042         2006-05-17  Bruno Haible  <bruno@clisp.org>
42043
42044                 Cygwin portability.
42045                 * javaexec.c (execute_java_class): Test for jview program
42046                 also on Cygwin.
42047
42048         2006-04-09  Bruno Haible  <bruno@clisp.org>
42049
42050                 * fatal-signal.c: Don't include string.h.
42051                 (at_fatal_signal): Use a copying loop instead of memcpy.
42052
42053         2005-12-04  Bruno Haible  <bruno@clisp.org>
42054
42055                 * csharpexec.c: Add support for 'clix' launcher (untested).
42056                 (execute_csharp_using_sscli): New function.
42057                 (execute_csharp_program): Call it.
42058
42059         2006-06-21  Bruno Haible  <bruno@clisp.org>
42060
42061                 Avoid warnings from recent versions of mcs.
42062                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
42063                 -o, -L, -r any more. Use options documented since mcs-1.0
42064                 instead. Similarly for -g.
42065
42066         2005-07-09  Bruno Haible  <bruno@clisp.org>
42067
42068                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
42069                 add a .dll suffix.
42070                 Reported by Mark Junker <mjscod@gmx.de>.
42071
42072         2006-06-17  Bruno Haible  <bruno@clisp.org>
42073
42074                 * config.charset: Update for NetBSD 3.0.
42075
42076         2006-05-17  Bruno Haible  <bruno@clisp.org>
42077
42078                 Cygwin portability.
42079                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
42080
42081         2006-05-16  Bruno Haible  <bruno@clisp.org>
42082
42083                 * localcharset.c [CYGWIN]: Include <windows.h>.
42084                 (get_charset_aliases): For Cygwin, return the same CPxxx
42085                 aliases list as under WIN32.
42086                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
42087                 the environment variables. Fall back to GetACP().
42088
42089         2006-04-05  Bruno Haible  <bruno@clisp.org>
42090
42091                 * config.charset: Update Juan Manuel Guerrero's address.
42092
42093         2005-02-12  Bruno Haible  <bruno@clisp.org>
42094
42095                 * allocsa.h: Add extern "C" for C++.
42096
42097         2005-02-10  Bruno Haible  <bruno@clisp.org>
42098
42099                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
42100                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
42101
42102         2006-07-22  Bruno Haible  <bruno@clisp.org>
42103
42104                 * gettext.h: Update to GNU gettext-0.15.
42105
42106 2006-07-22  Bruno Haible  <bruno@clisp.org>
42107
42108         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
42109         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
42110         lib-prefix.m4, longdouble.m4, ssize_t.m4.
42111
42112 2006-07-21  Eric Blake  <ebb9@byu.net>
42113
42114         * modules/stdlib-safer: New file.
42115         * MODULES.html.sh (File stream based Input/Output): Add
42116         stdlib-safer.
42117
42118 2006-07-21  Eric Blake  <ebb9@byu.net>
42119
42120         * lib/stdlib-safer.h: New file from coreutils, required by
42121         stdlib--.h.
42122
42123 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
42124
42125         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
42126
42127 2006-07-20  Bruno Haible  <bruno@clisp.org>
42128
42129         * gnulib-tool: Recognize new option --assume-autoconf.
42130         (autoconf_minversion): New variable.
42131         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
42132
42133 2006-07-20  Bruno Haible  <bruno@clisp.org>
42134
42135         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
42136
42137 2006-07-19  Derek R. Price  <derek@ximbiot.com>
42138
42139         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
42140         Reindent and repaginate.
42141
42142 2006-07-19  Derek Price  <derek@ximbiot.com>
42143
42144         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
42145         Correct grammar.
42146
42147 2006-07-17  Bruno Haible  <bruno@clisp.org>
42148
42149         * modules/list: New file.
42150         * modules/array-list: New file.
42151         * modules/carray-list, modules/carray-list-tests: New files.
42152         * modules/linked-list, modules/linked-list-tests: New files.
42153         * modules/avltree-list, modules/avltree-list-tests: New files.
42154         * modules/rbtree-list, modules/rbtree-list-tests: New files.
42155         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
42156         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
42157         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
42158         * modules/oset: New file.
42159         * modules/array-oset: New file.
42160         * modules/avltree-oset, modules/avltree-oset-tests: New files.
42161         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
42162         * tests/test-carray_list.c: New file.
42163         * tests/test-linked_list.c: New file.
42164         * tests/test-avltree_list.c: New file.
42165         * tests/test-rbtree_list.c: New file.
42166         * tests/test-linkedhash_list.c: New file.
42167         * tests/test-avltreehash_list.c: New file.
42168         * tests/test-rbtreehash_list.c: New file.
42169         * tests/test-avltree_oset.c: New file.
42170         * tests/test-rbtree_oset.c: New file.
42171         * MODULES.html.sh (Container data structures): New section.
42172
42173 2006-07-17  Bruno Haible  <bruno@clisp.org>
42174
42175         * m4/gl_list.m4: New file.
42176
42177 2006-07-17  Bruno Haible  <bruno@clisp.org>
42178
42179         * lib/gl_list.h: New file.
42180         * lib/gl_list.c: New file.
42181         * lib/gl_array_list.h: New file.
42182         * lib/gl_array_list.c: New file.
42183         * lib/gl_carray_list.h: New file.
42184         * lib/gl_carray_list.c: New file.
42185         * lib/gl_linked_list.h: New file.
42186         * lib/gl_linked_list.c: New file.
42187         * lib/gl_anylinked_list1.h: New file.
42188         * lib/gl_anylinked_list2.h: New file.
42189         * lib/gl_avltree_list.h: New file.
42190         * lib/gl_avltree_list.c: New file.
42191         * lib/gl_anyavltree_list1.h: New file.
42192         * lib/gl_anyavltree_list2.h: New file.
42193         * lib/gl_rbtree_list.h: New file.
42194         * lib/gl_rbtree_list.c: New file.
42195         * lib/gl_anyrbtree_list1.h: New file.
42196         * lib/gl_anyrbtree_list2.h: New file.
42197         * lib/gl_anytree_list1.h: New file.
42198         * lib/gl_anytree_list2.h: New file.
42199         * lib/gl_linkedhash_list.h: New file.
42200         * lib/gl_linkedhash_list.c: New file.
42201         * lib/gl_anyhash_list1.h: New file.
42202         * lib/gl_anyhash_list2.h: New file.
42203         * lib/gl_avltreehash_list.h: New file.
42204         * lib/gl_avltreehash_list.c: New file.
42205         * lib/gl_rbtreehash_list.h: New file.
42206         * lib/gl_rbtreehash_list.c: New file.
42207         * lib/gl_anytreehash_list1.h: New file.
42208         * lib/gl_anytreehash_list2.h: New file.
42209
42210         * lib/gl_oset.h: New file.
42211         * lib/gl_oset.c: New file.
42212         * lib/gl_array_oset.h: New file.
42213         * lib/gl_array_oset.c: New file.
42214         * lib/gl_avltree_oset.h: New file.
42215         * lib/gl_avltree_oset.c: New file.
42216         * lib/gl_rbtree_oset.h: New file.
42217         * lib/gl_rbtree_oset.c: New file.
42218         * lib/gl_anytree_oset.h: New file.
42219
42220 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
42221
42222         * m4/mkancesdirs.m4: New file.
42223         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
42224         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
42225         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
42226         it.
42227
42228 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
42229
42230         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
42231         * lib/mkancesdirs.h: New files.
42232         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
42233         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
42234         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
42235         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
42236         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
42237         callers changed.  Revamp internals significantly, by not
42238         attempting to create directories that are temporarily more
42239         permissive than the final results.  Do not attempt to use
42240         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
42241         This removes some race conditions, fixes some bugs, and simplifies
42242         things.  Use new dirchownmod function to do owner and mode changes.
42243         * lib/mkdir-p.h: Likewise.
42244         * lib/modechange.c (octal_to_mode): New function.
42245         (struct mode_change): New member mentioned.
42246         (make_node_op_equals): New arg mentioned.  All callers changed.
42247         (mode_compile): Keep track of which mode bits the user has explicitly
42248         mentioned.
42249         (mode_adjust): New arg DIR, so that we implement the X op correctly.
42250         New arg PMODE_BITS, to keep track of which mode bits the user
42251         mentioned; it treats S_ISUID and S_ISGID speciall.
42252         All callers changed.
42253         * lib/modechange.h: Likewise.
42254
42255 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
42256
42257         * MODULES.html.sh: Add mkancestors.
42258         * modules/mkancesdirs: New module.
42259         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
42260         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
42261         The chdir-safer and afs files are now orphans; I'll remove them
42262         unless someone speaks up.
42263         Add lib/dirchownmod.c, lib/dirchownmod.h.
42264         (Depends-on): Remove alloca, chown, save-cwd, dirname.
42265         Add lchown, mkancesdirs.
42266         (Maintainer): Add self.
42267
42268 2006-07-15  Karl Berry  <karl@gnu.org>
42269
42270         * gnulib-tool: help message wording/arrangement.
42271
42272 2006-07-14  Simon Josefsson  <jas@extundo.com>
42273
42274         * doc/gnulib.texi (Libtool and Windows): New section.
42275
42276 2006-07-12  Simon Josefsson  <jas@extundo.com>
42277
42278         * modules/gendocs (License): Fix license, approved by Karl.
42279
42280 2006-07-12  Eric Blake  <ebb9@byu.net>
42281
42282         * MODULES.html.sh: Add gendocs.
42283
42284 2006-07-11  Eric Blake  <ebb9@byu.net>
42285
42286         * modules/fdl: New module, to install doc/fdl.texi.
42287         * MODULES.html.sh: Add new section for documentation modules.
42288         * gnulib-tool: Avoid space-tab.
42289         (--doc-base): New option, to manage files from doc.
42290
42291 2006-07-11  Eric Blake  <ebb9@byu.net>
42292
42293         * m4/absolute-header.m4: Fix comments to match recent change.
42294
42295 2006-07-11  Eric Blake  <ebb9@byu.net>
42296
42297         * gnulib-tool: List --doc-base before --tests-base.
42298
42299 2006-07-11  Derek R. Price  <derek@ximbiot.com>
42300
42301         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
42302
42303 2006-07-11  Bruno Haible  <bruno@clisp.org>
42304
42305         * README: Mention where to put documentation.
42306
42307 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42308
42309         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
42310
42311 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
42312
42313         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
42314         to stdint.m4.
42315
42316 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
42317
42318         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
42319         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
42320         "no/such/file/stdint.h" when there is no such file, so that
42321         the resulting C code can be parsed by dodgy compilers.
42322         Problems reported by Bob Proulx.
42323
42324 2006-07-10  Derek R. Price  <derek@ximbiot.com>
42325
42326         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
42327         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
42328         macros into the GNU _D_EXACT_NAMLEN.
42329         * lib/savedir.c:  Likewise.
42330         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
42331
42332 2006-07-10  Derek R. Price  <derek@ximbiot.com>
42333         and Paul Eggert  <eggert@cs.ucla.edu>
42334
42335         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
42336         * m4/savedir.m4:
42337         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
42338         macros into the GNU _D_EXACT_NAMLEN.
42339
42340 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
42341
42342         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
42343         around the absolute name, to work around a problem with the HP-UX
42344         11.23 native C compiler, reported by Bob Proulx.
42345
42346 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
42347
42348         * doc/maintain.texi, make-stds.texi: Sync from
42349         <http://savannah.gnu.org/projects/gnustandards>.
42350
42351 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
42352
42353         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
42354
42355 2006-07-09  Jim Meyering  <jim@meyering.net>
42356
42357         * m4/glob.m4: Remove a doubled word in a comment.
42358
42359 2006-07-09  Jim Meyering  <jim@meyering.net>
42360
42361         * lib/argp-pv.c: Remove a doubled word in a comment.
42362         * lib/check-version.c (check_version): Likewise.
42363         * lib/javacomp.c (compile_java_class): Likewise.
42364
42365 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
42366
42367         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
42368         for the benefit of people using Autoconf 2.60.  If you want to
42369         support older Autoconf versions you can copy m4/onceonly_2_57.m4
42370         (or m4/onceonly.m4, if pre-2.57) manually.
42371
42372 2006-07-08  Jim Meyering  <jim@meyering.net>
42373
42374         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
42375         comment.
42376         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
42377         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
42378         comment.
42379
42380 2006-07-08  Jim Meyering  <jim@meyering.net>
42381
42382         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
42383
42384 2006-07-07  Simon Josefsson  <jas@extundo.com>
42385
42386         * tests/test-crc.c: Change expected crc value, the test vector
42387         were probably computed using the old broken crc.c?
42388
42389 2006-07-06  Simon Josefsson  <jas@extundo.com>
42390
42391         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
42392         now the canonical place for the M4 file).
42393
42394         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
42395         from the sys_socket dependency now.
42396
42397         * modules/inet_pton (Files): Ditto.
42398
42399         * modules/inet_ntop (Files): Ditto.
42400
42401 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
42402
42403         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
42404         not gl_PREREQ_GETUSERSHELL.
42405
42406 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42407
42408         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
42409         with only one argument, for Autoconf 2.60.
42410         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
42411         expand to nothing, so add a shell command to avoid syntax error.
42412         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
42413
42414 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42415
42416         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
42417
42418 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
42419
42420         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
42421         no longer needed.  Check for isblank decl.
42422         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
42423         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
42424         of existence.
42425
42426 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
42427
42428         * lib/getloadavg.c: Use __VMS, not VMS.
42429         * lib/getopt.c: Likewise.
42430         * lib/getpagesize.h: Likewise.
42431         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
42432         and probably does not work.
42433
42434 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
42435
42436         * lib/.cppi-disable: Add wcwidth.
42437         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
42438         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
42439         (ISGRAPH): Remove.  All uses changed to isgraph.
42440         (FOLD) [!defined _LIBC]: Remove special case.
42441         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
42442         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
42443         HAVE_ISBLANK.
42444         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
42445         case.
42446
42447 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
42448
42449         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
42450         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
42451         brackets.  Other minor changes to suppress some compiler
42452         warnings.
42453
42454 2006-07-06  Derek R. Price  <derek@ximbiot.com>
42455         and Paul Eggert  <eggert@cs.ucla.edu>
42456
42457         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
42458         of invoking obsolescent AC_HEADER_DIRENT macro.
42459         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
42460         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
42461         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
42462         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
42463         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
42464         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
42465         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
42466         * m4/readdir.m4: Remove; no longer needed.
42467
42468 2006-07-06  Derek R. Price  <derek@ximbiot.com>
42469         and Paul Eggert  <eggert@cs.ucla.edu>
42470
42471         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
42472         Don't worry about this obsolete case any more.
42473         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
42474         directories.
42475         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
42476         worry about this obsolete case any more.
42477         * lib/fts.c: Likewise.
42478         * lib/getcwd.c: Likewise.
42479         * lib/glob.h: Likewise.
42480         * lib/savedir.c: Likewise.
42481
42482 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
42483
42484         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
42485         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
42486         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
42487         needed.
42488         All uses removed.
42489         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
42490         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
42491         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
42492         needed.
42493         * m4/getdate.m4 (gl_GETDATE): Likewise.
42494         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
42495         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
42496         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
42497         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
42498         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
42499         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
42500         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
42501         needed.
42502
42503 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
42504
42505         * lib/memcasecmp.c: Include <limits.h>.
42506         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
42507         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
42508         Don't assume isdigit succeeds only on '0' through '9'.
42509
42510 2006-07-05  Eric Blake  <ebb9@byu.net>
42511
42512         * modules/getaddrinfo (Depends-on): Add snprintf.
42513
42514 2006-07-05  Eric Blake  <ebb9@byu.net>
42515
42516         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
42517         to avoid 'header present but could not be compiled' on cygwin.
42518
42519 2006-07-05  Eric Blake  <ebb9@byu.net>
42520
42521         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
42522         missing from netdb.h.
42523         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
42524
42525 2006-07-05  Derek R. Price  <derek@ximbiot.com>
42526
42527         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
42528         no longer needed.
42529         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
42530         * m4/getdate.m4 (gl_GETDATE): Likewise.
42531         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
42532         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
42533         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
42534         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
42535         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
42536
42537 2006-07-05  Derek R. Price  <derek@ximbiot.com>
42538
42539         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
42540         All uses of is_space replaced by isspace.
42541         * lib/exit.h: Don't talk about STDC_HEADERS.
42542         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
42543         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
42544         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
42545         replaced by isprint etc.
42546         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
42547         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
42548         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
42549         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
42550         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
42551         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
42552
42553 2006-07-05  Bruno Haible  <bruno@clisp.org>
42554
42555         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
42556         the function exists, before testing against AIX.
42557         Reported by Martin Lambers <marlam@marlam.de>.
42558
42559 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
42560
42561         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
42562         From Mark D. Baushke.
42563
42564 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
42565
42566         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
42567         to the absolute name, not just one, to bypass Sun C 5.8's
42568         "warning: #include of /usr/include/... may be non-portable".
42569
42570 2006-07-04  Eric Blake  <ebb9@byu.net>
42571
42572         * modules/dirname-tests: New test module.
42573         * tests/test-dirname.c: New file, replacing dirname.c
42574         TEST_DIRNAME section that was recently deleted.
42575
42576 2006-07-04  Bruno Haible  <bruno@clisp.org>
42577
42578         Assume ANSI C header files and <ctype.h> functions.
42579         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
42580         (mbsnwidth): Use isprint, iscntrl instead.
42581
42582 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
42583
42584         Merge from coreutils.
42585         * MODULES.html.sh: Add xstrtold.
42586         * modules/xstrtold: New file.
42587         * modules/cycle-check (Files): Add lib/same-inode.h.
42588         * modules/dirname (Files): Add m4/double-slash-root.m4.
42589         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
42590         * modules/mkdir-p (Files): Add lib/same-inode.h.
42591         * modules/same (Files): Add lib/same-inode.h.
42592
42593 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
42594
42595         * m4/absolute-header.m4: Renamed from full-header-path.m4.
42596         This is to keep the terminology clean; POSIX talks about
42597         "absolute pathnames", not "full pathnames", but the GNU
42598         Coding Standards say to use "path" for something else;
42599         so use "absolute" to keep both sides happy.
42600         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
42601         Set gl_absolute_header, not gl_full_header_path.
42602         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
42603         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
42604         All uses changed.
42605
42606         Merge from coreutils.
42607
42608         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
42609
42610         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
42611         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
42612         want to require the building of c-strtod.o.
42613         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
42614         needs -lm directly.
42615         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
42616
42617         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
42618
42619         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
42620         --as-needed option if available.  Problem reported by Albert Chin in
42621         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
42622         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
42623         cc merely issues a bunch of annoying warnings for --as-needed
42624         (this problem was reported by Bob Proulx).  Also, try linking with
42625         -lm to detect a bug in binutils 2.16 (this problem was reported
42626         by Ralf Wildenhues).
42627
42628         2006-06-18  Jim Meyering  <jim@meyering.net>
42629
42630         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
42631         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
42632         macro.
42633         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
42634         also check for glibc-2.4's abort-inducing bug.
42635
42636         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
42637         Low-probability clean-up should be to use rmdir to get rid of
42638         the just-created directory, not unlink.
42639
42640         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
42641         configure fail, and request a bug report to inform us about it.
42642         Add a comment that, barring reports to the contrary, in 2007 we'll
42643         assume ftruncate is universally available.
42644
42645         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
42646
42647         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
42648
42649         2006-03-12  Jim Meyering  <jim@meyering.net>
42650
42651         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
42652         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
42653         * m4/same.m4 (gl_SAME): Likewise.
42654         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
42655
42656         2006-03-11  Eric Blake  <ebb9@byu.net>
42657
42658         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
42659         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
42660         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
42661         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
42662
42663 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
42664
42665         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
42666         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
42667         reported by Mark D. Baushke, one in
42668         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
42669
42670         Merge from coreutils.
42671
42672         * lib/.cppi-disable: Add stdint_.h.
42673         * lib/.cvsignore: Add stdint.h.
42674
42675         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
42676
42677         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
42678         both double and long double versions.
42679         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
42680         * lib/xstrtold.c: New file.
42681         * lib/xstrtod.h (xstrtold): New decl.
42682
42683         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
42684
42685         * lib/filemode.c (setst): Remove.
42686         (strmode): Rewrite to avoid setst.  This makes the code shorter,
42687         (arguably) clearer, and the generated code is a bit smaller on my
42688         Debian GNU/Linux stable x86 host.
42689
42690         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
42691
42692         * lib/filemode.c: Include "filemode.h" first, to test the interface.
42693         Assume that filemode.h includes sys/types.h and sys/stat.h.
42694         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
42695         (ftypelet): Reorder to put common cases first, for efficiency.
42696         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
42697         to do 'M'.
42698         (strmode): Renamed from mode_string, and now stores 12 bytes instead
42699         of 10, for compatibility with FreeBSD.  All callers changed.
42700         (filemodestring): Now stores 12 bytes instead of 10, and sets file
42701         types that can't be deduced solely from st_mode.  First arg is now a
42702         const pointer.
42703         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
42704         (strmode): Renamed from mode_string.
42705         (filemodestring): New decl.
42706         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
42707         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
42708         needed.
42709         (S_ISPORT, S_ISWHT): New macros, if not already defined.
42710
42711         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
42712
42713         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
42714         fsusage.h now does that.  Include fsusage.h first, to test interface.
42715         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
42716         at most one method (the old code could have generated decls that
42717         didn't conform to C89, not that this was ever exercised).
42718         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
42719
42720         2006-03-19  Jim Meyering  <jim@meyering.net>
42721
42722         Work even in a chroot where d_ino values for entries in "/"
42723         don't match the stat.st_ino values for the same names.
42724         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
42725         number, iterate through all entries again, using lstat instead.
42726         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
42727         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
42728
42729         * lib/getcwd.c (__getcwd): Clarify a comment.
42730         Use memcpy in place of a call to strcpy.
42731
42732         2006-03-12  Jim Meyering  <jim@meyering.net>
42733
42734         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
42735         matches that of the current directory (which we're about to chdir ".."
42736         out of), then save the dev-ino of the parent, instead.
42737
42738         * lib/same-inode.h (SAME_INODE): New file/macro.
42739         * lib/chdir-safer.c (SAME_INODE): Remove definition.
42740         Include "same-inode.h", instead.
42741         * lib/same.c: Likewise.
42742         * lib/cycle-check.h: Include "same-inode.h".
42743         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
42744         * lib/cycle-check.c (SAME_INODE): Remove definition.
42745         * lib/root-dev-ino.h: Include "same-inode.h".
42746
42747         2006-03-11  Eric Blake  <ebb9@byu.net>
42748
42749         * lib/same.c (same_name): s/base_name/last_component/
42750         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
42751         * lib/filenamecat.c (file_name_concat): Likewise.
42752
42753         2006-03-11  Eric Blake  <ebb9@byu.net>,
42754                     Paul Eggert  <eggert@cs.ucla.edu>
42755
42756         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
42757         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
42758         drive prefix.
42759         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
42760         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
42761         (last_component): New method.
42762         * lib/dirname.c (dir_len): Determine when drive letters need a
42763         subsequent slash.  Preserve // when it is special.
42764         (dir_name): Don't append dot when drive letter is absolute.
42765         [TEST_DIRNAME]: Move into a full-blown gnulib test.
42766         * lib/basename.c (base_name): New semantics - malloc the result.
42767         Preserve // when it is special.  Preserve relative files that look
42768         like drive letters.
42769         (base_len): Preserve // when it is special.
42770         (last_component): New method, similar to old base_name semantics.
42771         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
42772         base_name.  Strip redundant slashes from ///.
42773
42774 2006-07-03  Jim Meyering  <jim@meyering.net>
42775
42776         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
42777         macro is used before the first cycle_check call.
42778
42779 2006-07-03  Eric Blake  <ebb9@byu.net>
42780
42781         * modules/dirname (Depends-on): Add xstrndup.
42782
42783 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
42784
42785         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
42786         test cases, so that config.log is a bit easier to follow.
42787
42788 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
42789
42790         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
42791         both are 64 bits, since this seems to be the tradition, and this
42792         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
42793         we ever run into a host that prefers long long to long in this
42794         case, we'll need another configure-time test.  Problem reported by
42795         Jim Meyering.
42796
42797 2006-07-02  Eric Blake  <ebb9@byu.net>
42798
42799         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
42800
42801 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
42802
42803         * modules/inttypes (Depends-on): No longer depends on stdint.
42804         * modules/stdint (Description): Say more about assumptions.
42805         Say that the fast types might differ.  Say macros are used.
42806         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
42807         (Makefile.am): Revise list of substituted symbols to match
42808         new stdint.m4.
42809         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
42810         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
42811         * tests/test-stdint.c (verify_same_types)
42812         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
42813         the code conforms to C99/C89.
42814         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
42815         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
42816
42817 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
42818
42819         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
42820         but fix a bug, by requiring at least 64 bits.
42821         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
42822         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
42823         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
42824         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
42825
42826         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
42827         changes.  Make 2.59 a prerequisite.  Check and substitute for
42828         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
42829         inttypes.h.  Do not use special include files; just use the
42830         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
42831         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
42832         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
42833         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
42834         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
42835         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
42836         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
42837         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
42838         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
42839         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
42840         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
42841         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
42842         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
42843         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
42844         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
42845         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
42846         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
42847         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
42848         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
42849         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
42850         WINT_MAX.  Check for C99 conformance more strictly, by detecting
42851         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
42852         not check for things that C99 does not require, e.g., int8_t.  If
42853         a test isn't needed unless <stdint.h> isn't working, and is
42854         unlikely to be needed for any other reason, then don't do it
42855         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
42856         size_t, since we assume C89 freestanding at least.  Do not check
42857         for sig_atomic_t, wchar_t, or wint_t, since the code now does
42858         the right thing even if the types are not defined.  Instead use:
42859         (gl_STDINT_TYPE_PROPERTIES): New macro.
42860         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
42861         testing whether <sys/types.h> clashes, as Autoconf does this for
42862         us now.  All uses removed.
42863         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
42864         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
42865         (gl_CHECK_TYPE_SAME):
42866         Remove; no longer needed.
42867         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
42868         exists, since we'll return 0 anyway in that case.
42869         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
42870
42871 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
42872
42873         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
42874         possible collision with system files.
42875         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
42876         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
42877         WCHAR_MIN and WCHAR_MAX in this case.
42878         (<stddef.h>): Do not include; no longer needed.
42879         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
42880         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
42881         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
42882         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
42883         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
42884         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
42885         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
42886         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
42887         !defined(__c99))]: Include in this case too, since it's harmless
42888         now.
42889         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
42890         dangerous to do so.
42891         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
42892         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
42893         (_STDINT_MIN, _STDINT_MAX): New macros.
42894         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
42895         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
42896         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
42897         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
42898         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
42899         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
42900         macros, not typedefs; this simplifies things quite a bit.
42901         Use long int for all types narrower than int64_t.
42902         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
42903         Define in terms of long long int or int64_t or long int,
42904         not int64_t or int32_t.  This saves some compile-time testing.
42905         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
42906         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
42907         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
42908         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
42909         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
42910         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
42911         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
42912         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
42913         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
42914         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
42915         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
42916         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
42917         undef any previous version and define our own version, for
42918         simplicity and consistency with the new macros for types.
42919         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
42920         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
42921         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
42922         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
42923         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
42924         @WINT_T_SUFFIX@ to keep things simple here.
42925         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
42926         Simplify by assuming typical 8/16/32/64 host, since we're
42927         already doing that elsewhere anyway.
42928         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
42929         and assume long long int is 64 bits if available.  This
42930         speeds up 'configure'.
42931
42932 2006-07-01  Eric Blake  <ebb9@byu.net>
42933
42934         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
42935         Reported by Andreas Buening.
42936
42937 2006-07-01  Eric Blake  <ebb9@byu.net>
42938
42939         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
42940
42941 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
42942
42943         * lib/getaddrinfo.c: fixed typo
42944
42945 2006-06-29  Jim Meyering  <jim@meyering.net>
42946
42947         * modules/strftime (Maintainer): Add my name, since with the
42948         FPRINTFTIME changes strftime.c has forked from glibc.
42949
42950 2006-06-29  Eric Blake  <ebb9@byu.net>
42951
42952         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
42953
42954 2006-06-29  Eric Blake  <ebb9@byu.net>
42955
42956         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
42957
42958 2006-06-29  Eric Blake  <ebb9@byu.net>
42959
42960         * lib/stat_.h: New file.
42961
42962 2006-06-29  Eric Blake  <ebb9@byu.net>
42963
42964         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
42965         unused static function.
42966
42967 2006-06-29  Eric Blake  <ebb9@byu.net>
42968
42969         * doc/functions.texi (Function Portability): Document missing lstat
42970         on mingw.
42971
42972 2006-06-29  Eric Blake  <ebb9@byu.net>
42973
42974         * MODULES.html.sh: Add sys_stat.
42975         * modules/sys_stat: New module.
42976         * modules/mkstemp (Depends-on): Add sys_stat.
42977
42978 2006-06-29  Derek R. Price  <derek@ximbiot.com>
42979
42980         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
42981
42982 2006-06-29  Derek R. Price  <derek@ximbiot.com>
42983
42984         * m4/c-bs-a.m4: Removed.
42985
42986 2006-06-29  Derek R. Price  <derek@ximbiot.com>
42987
42988         * lib/strftime.c: Assume strftime() exists.
42989
42990 2006-06-29  Derek Price  <derek@ximbiot.com>
42991
42992         * modules/c-bs-a: Removed - \a is C89.
42993         * MODULES.html.sh: Remove c-bs-a.
42994
42995 2006-06-29  Bruno Haible  <bruno@clisp.org>
42996
42997         * modules/wcwidth (License): Change to LGPL.
42998
42999 2006-06-28  Simon Josefsson  <jas@extundo.com>
43000
43001         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
43002         on _WIN32.
43003
43004         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
43005         getnameinfo.
43006
43007 2006-06-28  Simon Josefsson  <jas@extundo.com>
43008
43009         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
43010
43011 2006-06-28  Simon Josefsson  <jas@extundo.com>
43012
43013         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
43014         functions there.  It will succeed on Windows XP, but on Windows
43015         2000 and (presumably) earlier, it will fail, and use the internal
43016         re-implementation.
43017         (use_win32_p): New function.
43018         (getaddrinfo): Use strtoul on servname, to support numeric ports.
43019         Support AI_NUMERICSERV to disable getservbyname.
43020         (getnameinfo): New function, only supports
43021         NI_NUMERICHOST|NI_NUMERICSERV for now.
43022
43023         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
43024         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
43025         getnameinfo.
43026
43027 2006-06-28  Eric Blake  <ebb9@byu.net>
43028
43029         * modules/wcwidth: New file.
43030         * modules/mbchar (Depends-on): Add wcwidth.
43031         * modules/mbswidth (Depends-on): Add wcwidth.
43032         * MODULES.html.sh: Add wcwidth.
43033
43034 2006-06-28  Eric Blake  <ebb9@byu.net>
43035
43036         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
43037         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
43038
43039 2006-06-28  Eric Blake  <ebb9@byu.net>
43040
43041         * lib/xvasprintf.h: Fix comments.
43042
43043 2006-06-28  Eric Blake  <ebb9@byu.net>
43044
43045         * lib/mbchar.h (wcwidth): Include wcwidth.h.
43046         * lib/mbswidth.c (wcwidth): Move from here...
43047         * lib/wcwidth.h: ...to this new file.
43048
43049 2006-06-28  Derek R. Price  <derek@ximbiot.com>
43050
43051         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
43052
43053         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
43054         it's obsolete.
43055         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
43056
43057 2006-06-28  Derek R. Price  <derek@ximbiot.com>
43058
43059         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
43060         Autoconf 2.60 says this stuff was obsolete.
43061
43062 2006-06-28  Bruno Haible  <bruno@clisp.org>
43063
43064         * modules/wcwidth (Files): Add m4/wchar_t.m4.
43065
43066 2006-06-28  Bruno Haible  <bruno@clisp.org>
43067
43068         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
43069         gt_TYPE_WCHAR_T.
43070
43071 2006-06-28  Bruno Haible  <bruno@clisp.org>
43072
43073         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
43074         declaration for wcwidth.
43075         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
43076
43077 2006-06-28  Bruno Haible  <bruno@clisp.org>
43078
43079         * lib/mkdtemp.c [MINGW]: Include <io.h>.
43080         (mkdir): Define using _mkdir.
43081
43082 2006-06-28  Bruno Haible  <bruno@clisp.org>
43083
43084         * lib/getaddrinfo.h: Fix POSIX URL.
43085         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
43086         _WIN32.
43087         (use_win32_p): Make static.
43088         (getaddrinfo): Reject service name if it is empty or does not consist
43089         solely of decimal digits, or if its value is > 65535.
43090         (getnameinfo): Remove useless casts.
43091
43092 2006-06-27  Simon Josefsson  <jas@extundo.com>
43093
43094         * modules/sys_select: New file, suggested by Bruno Haible, Paul
43095         Eggert and Martin Lambers.
43096
43097 2006-06-27  Simon Josefsson  <jas@extundo.com>
43098
43099         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
43100         Eggert and Martin Lambers.
43101
43102 2006-06-27  Bruno Haible  <bruno@clisp.org>
43103
43104         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
43105         result to 0, not to empty.
43106         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
43107
43108 2006-06-27  Bruno Haible  <bruno@clisp.org>
43109
43110         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
43111
43112 2006-06-26  Simon Josefsson  <jas@extundo.com>
43113
43114         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
43115         present.
43116
43117 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
43118
43119         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
43120         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
43121         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
43122
43123 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
43124
43125         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
43126
43127 2006-06-26  Bruno Haible  <bruno@clisp.org>
43128
43129         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
43130
43131 2006-06-26  Bruno Haible  <bruno@clisp.org>
43132
43133         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
43134
43135 2006-06-26  Bruno Haible  <bruno@clisp.org>
43136
43137         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
43138         SGI C compiler in pre-C99 mode.
43139         Suggested by Mark D. Baushke and Larry Jones.
43140
43141 2006-06-26  Bruno Haible  <bruno@clisp.org>
43142
43143         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
43144         WCHAR_MAX.
43145         Reported by Mark D. Baushke and Larry Jones.
43146
43147 2006-06-26  Bruno Haible  <bruno@clisp.org>
43148
43149         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
43150         in pre-C99 mode.
43151         Suggested by Mark D. Baushke and Larry Jones.
43152
43153 2006-06-23  Simon Josefsson  <jas@extundo.com>
43154             Bruno Haible  <bruno@clisp.org>
43155
43156         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
43157         Emit mostlyclean-local rule.
43158         (func_emit_tests_Makefile_am): Likewise.
43159         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
43160
43161 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
43162
43163         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
43164
43165 2006-06-23  Bruno Haible  <bruno@clisp.org>
43166
43167         * tests/test-stdint.c: Update to match ISO C 99 Technical
43168         Corrigendum 1.
43169
43170 2006-06-23  Bruno Haible  <bruno@clisp.org>
43171
43172         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
43173
43174 2006-06-23  Bruno Haible  <bruno@clisp.org>
43175
43176         * lib/stdint_.h: Treat IRIX like OpenBSD.
43177
43178 2006-06-23  Bruno Haible  <bruno@clisp.org>
43179
43180         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
43181         ISO C 99 Technical Corrigendum 1.
43182
43183 2006-06-22  Simon Josefsson  <jas@extundo.com>
43184
43185         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
43186         MinGW.
43187
43188 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
43189
43190         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
43191         needed.  Some compiler complained about some of them.  Problem reported
43192         by Larry Jones in
43193         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
43194
43195 2006-06-21  Simon Josefsson  <jas@extundo.com>
43196
43197         * tests/test-getaddrinfo.c: New file.
43198
43199         * modules/getaddrinfo-tests: New file.
43200
43201         * MODULES.html.sh: Add inet_pton.
43202
43203         * modules/inet_pton: New file.
43204
43205 2006-06-21  Simon Josefsson  <jas@extundo.com>
43206
43207         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
43208         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
43209         of using the (limited) gnulib implementation on Windows XP.
43210
43211         * m4/inet_pton.m4: New file.
43212
43213 2006-06-21  Simon Josefsson  <jas@extundo.com>
43214
43215         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
43216         variable.
43217
43218         * lib/socket_.h: Don't define WINVER.
43219
43220         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
43221         slightly modified to work in gnulib.
43222
43223 2006-06-21  Simon Josefsson  <jas@extundo.com>
43224
43225         * doc/gnulib.texi (Windows sockets): Add.
43226
43227 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
43228
43229         * lib/read-file.c (fread_file): Start with buffer allocation of
43230         0 bytes rather than 1 byte; this simplifies the code.
43231         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
43232         code to free buffer and save/restore errno.
43233         (internal_read_file): Remove unused local.
43234
43235 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
43236
43237         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
43238         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
43239         Problem reported by Denis Excoffier in
43240         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
43241
43242 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43243
43244         * modules/sys_socket, modules/socklen: Include sys/types since
43245         FreeBSD 4.x's sys/socket.h needs it.
43246
43247 2006-06-19  Simon Josefsson  <jas@extundo.com>
43248
43249         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
43250
43251 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
43252
43253         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
43254
43255 2006-06-19  Bruno Haible  <bruno@clisp.org>
43256
43257         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
43258         and FULL_PATH_INTTYPES_H in angle brackets.
43259         Reported by Mark D. Baushke <mdb@gnu.org>.
43260
43261 2006-06-17  Eric Blake  <ebb9@byu.net>
43262
43263         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
43264         errno.
43265
43266 2006-06-17  Bruno Haible  <bruno@clisp.org>
43267
43268         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
43269         <sys/inttypes.h>.
43270
43271 2006-06-17  Bruno Haible  <bruno@clisp.org>
43272
43273         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
43274         whether errno is declared. Assume <errno.h> declares errno.
43275
43276 2006-06-17  Bruno Haible  <bruno@clisp.org>
43277
43278         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
43279
43280 2006-06-17  Bruno Haible  <bruno@clisp.org>
43281
43282         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
43283         problem on Solaris 2.5.1.
43284
43285 2006-06-16  Eric Blake  <ebb9@byu.net>
43286
43287         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
43288         * lib/unicodeio.c [!defined errno]: Likewise.
43289         * lib/strtol.c [!defined errno]: Likewise.
43290         * lib/strtod.c [!defined errno]: Likewise.
43291
43292 2006-06-15  Eric Blake  <ebb9@byu.net>
43293
43294         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
43295
43296 2006-06-15  Eric Blake  <ebb9@byu.net>
43297
43298         * config/srclist.txt (ssize_t.m4): Lose sync.
43299
43300 2006-06-15  Bruno Haible  <bruno@clisp.org>
43301
43302         * modules/stdint (Files): Include m4/full-header-path.m4,
43303         m4/size_max.m4, m4/wchar_t.m4.
43304         (Makefile.am): Many more substitutions.
43305         * modules/stdint-tests: New file.
43306         * tests/test-stdint.c: New file.
43307
43308 2006-06-15  Bruno Haible  <bruno@clisp.org>
43309
43310         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
43311         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
43312         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
43313         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
43314         gl_CHECK_TYPE_SAME): New macros.
43315
43316 2006-06-15  Bruno Haible  <bruno@clisp.org>
43317
43318         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
43319
43320 2006-06-15  Bruno Haible  <bruno@clisp.org>
43321
43322         * lib/stdint_.h: Rewritten to be fully auto-configured.
43323         Fixes bug on HP-UX/IA64.
43324
43325 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
43326
43327         * lib/getdate.y (__attribute__): Don't define if already defined.
43328         Problem reported by Larry Jones.
43329         * lib/utimens.c (__attribute__): Likewise.
43330
43331 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
43332
43333         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
43334         reported by Andreas Schwab.
43335
43336 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43337             Bruno Haible  <bruno@clisp.org>
43338
43339         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
43340         check for the declaration of strnlen and a run test that exposes the
43341         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
43342         rpl_strndup.
43343
43344 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43345             Bruno Haible  <bruno@clisp.org>
43346
43347         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
43348
43349 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43350
43351         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
43352         compile test, for Tru64 4.0D.
43353
43354 2006-05-28  Karl Berry  <karl@gnu.org>
43355
43356         * config/srclist.txt (printf-args.c): lose sync.
43357
43358 2006-05-26  Martin Lambers  <marlam@marlam.de>
43359
43360         * lib/getpass.c: Updates the test for the native W32 API, and adds
43361         missing includes, thus fixing compilation warnings.
43362
43363 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
43364
43365         * lib/exclude.c (exclude_fnmatch): New function.
43366         (excluded_file_name): Call exclude_fnmatch.
43367         * lib/exclude.h (excluded_file_name): New prototype
43368
43369 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
43370
43371         * lib/tempname.c (small_open, large_open): New macros.
43372         (__open, __open64) [!_LIBC]: Remove.
43373         (__gen_tempname): Use small_open and large_open instead of __open
43374         and __open64.  This fixes a portability bug on HP-UX 11.11i
43375         reported by Simon Wing-Tang in
43376         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
43377
43378 2006-05-24  Bruno Haible  <bruno@clisp.org>
43379
43380         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
43381         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
43382         Reported by Thorsten Maerz <torte@netztorte.de> via
43383         Aaron Stone <aaron@serendipity.cx>.
43384
43385 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
43386
43387         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
43388         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
43389         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
43390         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
43391         not really conditional on the cache.
43392         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
43393
43394 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
43395
43396         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
43397         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
43398         (my_usleep): Don't mishandle maximum value.
43399
43400 2006-05-19  Jim Meyering  <jim@meyering.net>
43401
43402         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
43403
43404 2006-05-17  Bruno Haible  <bruno@clisp.org>
43405
43406         Cygwin portability.
43407         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
43408
43409 2006-05-17  Bruno Haible  <bruno@clisp.org>
43410
43411         * lib/stdint_.h: Fix recognition of Cygwin.
43412
43413 2006-05-15  Bruno Haible  <bruno@clisp.org>
43414
43415         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
43416         on libtool patch by Ralf Wildenhues.
43417
43418 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
43419
43420         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
43421         test for C99 conformance; (bool) 0.5 is an integer constant
43422         expression, but (bool) -0.5 is not.  Problem reported by Fedor
43423         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
43424
43425 2006-05-11  Simon Josefsson  <jas@extundo.com>
43426
43427         * m4/xvasprintf.m4: Fix obvious typo.
43428
43429 2006-05-11  Jim Meyering  <jim@meyering.net>
43430
43431         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
43432         James Lemley.
43433
43434 2006-05-10  Simon Josefsson  <jas@extundo.com>
43435
43436         * lib/md4.c: Typo fix, update copyright years.
43437         (K1, K2): Don't use L because it turn computations into 64-bit on
43438         64-bit platforms.
43439
43440 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
43441
43442         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
43443         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
43444         unwanted sign propagation, e.g., on hosts with 64-bit int.
43445         There still are some problems with reeelly weird theoretical hosts
43446         (e.g., 33-bit int) but it's not worth worrying about now.
43447         * lib/sha1.c (rol): Likewise.
43448         (K1, K2, K3, K4): Remove unnecessary L suffix.
43449
43450 2006-05-10  Bruno Haible  <bruno@clisp.org>
43451
43452         * lib/des.c: Cast to avoid warnings.
43453
43454 2006-05-09  Bruno Haible  <bruno@clisp.org>
43455
43456         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
43457         (Depends-on): Depend also on xsize, stdarg.
43458         (configure.ac): Add gl_XVASPRINTF.
43459
43460 2006-05-09  Bruno Haible  <bruno@clisp.org>
43461
43462         * m4/xvasprintf.m4: New file.
43463
43464 2006-05-09  Bruno Haible  <bruno@clisp.org>
43465
43466         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
43467         (EOVERFLOW): Define fallback value.
43468         (xstrcat): New function.
43469         (xvasprintf): Recognize the special case of a string concatenation.
43470
43471 2006-05-08  Eric Blake  <ebb9@byu.net>
43472
43473         * gnulib-tool (func_version): Base copyright year on CVS date.
43474         (func_emit_copyright_notice): New function.
43475         (func_emit_lib_Makefile_am): Use it.
43476         (func_emit_tests_Makefile_am): Likewise.
43477         (func_import): Likewise.
43478
43479 2006-05-08  Bruno Haible  <bruno@clisp.org>
43480
43481         * modules/stdarg: New file.
43482         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
43483
43484 2006-05-08  Bruno Haible  <bruno@clisp.org>
43485
43486         * m4/stdarg.m4: New file, from GNU gettext.
43487
43488 2006-05-08  Bruno Haible  <bruno@clisp.org>
43489
43490         * config/srclist.txt (build-aux/config.rpath): different from latest
43491         release.
43492
43493 2006-05-08  Bruno Haible  <bruno@clisp.org>
43494
43495         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
43496
43497 2006-05-05  Jim Meyering  <jim@meyering.net>
43498
43499         * m4/warning.m4: New file, derived from bison's file by the same name.
43500
43501 2006-05-03  Bruno Haible  <bruno@clisp.org>
43502
43503         * lib/stdint_.h: Shorter URL.
43504         * lib/inttypes.h: Likewise.
43505
43506 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
43507
43508         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
43509
43510 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
43511
43512         * lib/verify.h: Document the internals better.  Most of this change
43513         was written by Bruno Haible.
43514
43515 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
43516
43517         * doc/verify.texi: New file, partly based on a proposal by
43518         Bruno Haible.
43519
43520 2006-05-02  Bruno Haible  <bruno@clisp.org>
43521
43522         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
43523         test from here...
43524         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
43525
43526 2006-04-29  Bruno Haible  <bruno@clisp.org>
43527
43528         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
43529         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
43530
43531 2006-04-29  Bruno Haible  <bruno@clisp.org>
43532
43533         * gnulib-tool: Make --update option actually work.
43534
43535 2006-04-29  Bruno Haible  <bruno@clisp.org>
43536
43537         * doc/gcd.texi: New file.
43538         * doc/gnulib.texi: Include it.
43539
43540 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
43541
43542         * lib/getdate.y (get_date): When adding relative date, start with the
43543         initial time, not with the result of the first mktime call.
43544
43545 2006-04-25  Bruno Haible  <bruno@clisp.org>
43546
43547         * gnulib-tool (func_import): Output the include directives in three
43548         blocks, sorted separately.
43549         Reported by Ben Pfaff <blp@cs.stanford.edu>.
43550
43551 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
43552
43553         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
43554         to define main with arguments, for C++.  Reported by Eric Blake.
43555         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
43556         Prefer 'int main ()' to 'int main (void)', for C++.
43557         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
43558         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
43559         for 'main', for C99 and C++.
43560
43561 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
43562
43563         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
43564         Don't assume that exit status -1 is valid.
43565         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
43566         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
43567         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
43568         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
43569         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
43570         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
43571         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
43572         functions can be used without declaring them, or that you can
43573         exit with status -1.
43574         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
43575
43576 2006-04-24  Karl Berry  <karl@gnu.org>
43577
43578         * config/srclist.txt (longdouble.m4): sync lost.
43579
43580 2006-04-24  Eric Blake  <ebb9@byu.net>
43581
43582         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
43583
43584 2006-04-24  Bruno Haible  <bruno@clisp.org>
43585
43586         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
43587         poll() implementation in AIX.
43588         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
43589
43590 2006-04-24  Bruno Haible  <bruno@clisp.org>
43591
43592         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
43593         assigned exactly once.
43594
43595 2006-04-23  Claudio Fontana  <claudio@gnu.org>
43596             Bruno Haible  <bruno@clisp.org>
43597
43598         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
43599         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
43600         for AM_CPPFLAGS.
43601
43602 2006-04-23  Bruno Haible  <bruno@clisp.org>
43603
43604         * modules/copy-file: Depend on unistd.
43605         * modules/execute: Likewise.
43606         * modules/fatal-signal: Likewise.
43607         * modules/findprog: Likewise.
43608         * modules/mkdtemp : Likewise.
43609         * modules/pipe: Likewise.
43610         * modules/wait-process: Likewise.
43611
43612 2006-04-23  Bruno Haible  <bruno@clisp.org>
43613
43614         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
43615         condition was already detected.
43616         Reported by Ben Pfaff <blp@cs.stanford.edu>.
43617
43618 2006-04-23  Bruno Haible  <bruno@clisp.org>
43619
43620         * lib/copy-file.c: Include <unistd.h> unconditionally.
43621         * lib/execute.c: Likewise.
43622         * lib/fatal-signal.c: Likewise.
43623         * lib/findprog.c: Likewise.
43624         * lib/mkdtemp.c: Likewise.
43625         * lib/pipe.h: Likewise.
43626         * lib/pipe.c: Likewise.
43627         * lib/wait-process.h: Likewise.
43628
43629 2006-04-23  Bruno Haible  <bruno@clisp.org>
43630
43631         * gnulib-tool (func_usage): Fix --import description. Document
43632         --update.
43633         (func_import): Create temporary file in a temporary directory, if
43634         --dry-run is specified. Silence errors from 'grep' when there are no
43635         m4 files in $m4dir.
43636         (func_create_testdir): Silence errors from 'grep' when there are no
43637         m4 files in $m4dir.
43638         Reported by Karl Berry <karl@freefriends.org>.
43639
43640 2006-04-20  Bruno Haible  <bruno@clisp.org>
43641
43642         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
43643         one argument, so that the code will be portable to Autoconf 2.60.
43644         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
43645         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
43646         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
43647
43648 2006-04-19  Derek Price  <derek@ximbiot.com>
43649             Eric Blake  <ebb9@byu.net>
43650
43651         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
43652         rather than "/full/path.h".  Update comment to match.  Shorten &
43653         generalize m4_translit call via AS_TR_CPP.
43654
43655 2006-04-19  Derek Price  <derek@ximbiot.com>
43656             Eric Blake  <ebb9@byu.net>
43657
43658         * lib/inttypes.h: Correct grammar in comment.
43659
43660 2006-04-18  Derek Price  <derek@ximbiot.com>
43661             Paul Eggert  <eggert@cs.ucla.edu>
43662
43663         * modules/inttypes: New file.
43664         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
43665
43666 2006-04-18  Derek Price  <derek@ximbiot.com>
43667             Paul Eggert  <eggert@cs.ucla.edu>
43668
43669         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
43670         New files.
43671
43672 2006-04-18  Derek Price  <derek@ximbiot.com>
43673             Paul Eggert  <eggert@cs.ucla.edu>
43674
43675         * lib/inttypes.h: New file.
43676         * lib/strtoimax.c: Assume <inttypes.h>.
43677
43678 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
43679
43680         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
43681         isn't mounted.  Problem reported by Kir Kolyshkin.
43682
43683 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
43684
43685         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
43686         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
43687         Derek R. Price.
43688         * lib/regex.h (RE_DUP_MAX): Update comment to match current
43689         implementation.
43690
43691 2006-04-12  Eric Blake  <ebb9@byu.net>
43692
43693         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
43694         is now done automatically by the corresponding Autoconf macro.
43695
43696 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
43697
43698         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
43699         time_r.h.
43700
43701 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
43702
43703         Merge regex changes from libc, removing some of our
43704         POSIX-conformance changes that were rejected and redoing them in a
43705         less-intrusive way.
43706
43707         * lib/regcomp.c (re_compile_internal, init_dfa):
43708         Length arg is now size_t, not Idx.  All uses changed.
43709         (peek_token): Forward decl now says internal_function.
43710         (__re_error_msgid, __re_error_msgid_idx):
43711         Now static rather than extern with attribute_hidden.
43712         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
43713         For some reason libc prefers K&R style defns for external functions.
43714         (regerror) [!defined _LIBC]: Likewise.
43715         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
43716         (seek_collating_symbol_entry, lookup_collation_sequence_value):
43717         (build_range_exp, build_collating_symbol):
43718         Use K&R-style defn.
43719         (re_compile_fastmap): Use '\0' to memset, not 0.
43720         (utf8_sb_map): Make the calculations more obvious.
43721         (init_dfa, parse_bracket_exp, build_charclass_op):
43722         Call calloc and cast result, as glibc does.
43723         (init_word_char, fetch_token, peek_token, peek_token_bracket):
43724         (build_range_exp, build_collating_symbol):
43725         Now internal functions.
43726
43727         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
43728
43729         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
43730         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
43731         Don't depend on VMS; depend on __VMS instead, for POSIX
43732         namespace cleanness.
43733         (regoff_t): Define to ssize_t, not long int.
43734
43735         Remove the REG_ macros named below.  Instead, make the old names
43736         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
43737         __USE_GNU_REGEX.
43738         (REG_BACKSLASH_ESCAPE_IN_LISTS):
43739         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
43740         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
43741         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
43742         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
43743         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
43744         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
43745         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
43746         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
43747         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
43748         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
43749         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
43750         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
43751         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
43752         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
43753         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
43754         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
43755         (REG_NREGS):
43756         Remove.  All uses replaced by the old RE_* names.
43757         (RE_BACKSLASH_ESCAPE_IN_LISTS):
43758         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
43759         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
43760         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
43761         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
43762         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
43763         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
43764         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
43765         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
43766         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
43767         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
43768         Don't bother having these macros be independent of each others'
43769         values, since they no longer exist in the POSIX name space.
43770
43771         Rename the following member names back to their old names,
43772         unless !__USE_GNU_REGEX.  All uses changed back.
43773         (buffer): Renamed from re_buffer.
43774         (allocated): Renamed from re_allocated.
43775         (used): Renamed from re_used.
43776         (syntax): Renamed from re_syntax.
43777         (fastmap): Renamed from re_fastmap.
43778         (translate): Renamed from re_translate.
43779         (can_be_null): Renamed from re_can_be_null.
43780         (regs_allocated): Renamed from re_regs_allocated.
43781         (fastmap_accurate): Renamed from re_fastmap_accurate.
43782         (no_sub): Renamed from re_no_sub.
43783         (not_bol): Renamed from re_not_bol.
43784         (not_eol): Renamed from re_not_eol.
43785         (newline_anchor): Renamed from re_newline_anchor.
43786         (num_regs): Renamed from rm_num_regs.
43787         (start): Renamed from rm_start.
43788         (end): Renamed from rm_end.
43789
43790         (free_state): Move up a bit.
43791
43792         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
43793         #define to be empty.
43794         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
43795         when that is what is intended.
43796         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
43797         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
43798         (MAX): New macro.
43799         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
43800         All uses changed back to re_malloc, etc.  It's now the caller's
43801         responsibility to check for overflow; all callers changed.
43802         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
43803         (re_x2nrealloc): Remove.
43804         (free_state): Remove decl.
43805
43806         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
43807         (re_set_registers, re_exec):
43808         Use K&R-style defn.
43809
43810         2006-01-31  Roland McGrath  <roland@redhat.com>
43811
43812         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
43813         Reported by Mike Frysinger <vapier@gentoo.org>.
43814
43815         2006-01-15  Andreas Jaeger  <aj@suse.de>
43816
43817         [BZ #1950]
43818         * lib/regex_internal.c (re_string_reconstruct): Adjust for
43819         build_wcs_upper_buffer change.
43820         (build_wcs_upper_buffer): Change return type.
43821
43822         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
43823
43824         * lib/regex_internal.h: Include <stdint.h> if available.
43825
43826         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
43827
43828         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
43829
43830         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
43831
43832         * lib/regcomp.c: Adjust for changed secondary hash function.
43833
43834         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
43835
43836         * lib/regex.h: Pretty printing.
43837         Clean up namespace a bit.
43838
43839         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
43840
43841         * lib/regexec.c (update_cur_sifted_state, check_arrival,
43842         check_arrival_add_next_nodes): Avoid using uninitialized variable.
43843
43844         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
43845                     Ulrich Drepper  <drepper@redhat.com>
43846
43847         [BZ #1302]
43848         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
43849         changed.
43850         (bitset_word_t): Renamed from bitset_word.  All uses changed.
43851
43852         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
43853
43854         [BZ #281]
43855         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
43856         * lib/regcomp.c: Remove unnecessary uses of
43857         unsigned RE_TRANSLATE_TYPE.
43858         * lib/regex_internal.h: Likewise.
43859         * lib/regex_internal.c: Likewise.
43860         * lib/regexec.c: Likewise.
43861         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
43862
43863         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
43864
43865         * lib/regexec.c (find_recover_state): Remove unnecessary
43866         initialization.
43867         (transit_state_bkref): Make DFA a const pointer.
43868         (get_subexp): Likewise.
43869         (check_arrival): Likewise.
43870         (update_cur_sifted_state): Likewise.
43871         (re_search_internal): Likewise.
43872         (prune_impossible_nodes): Likewise.
43873         (acquire_init_state_context): Likewise.
43874         (proceed_next_node): Likewise.
43875         (set_regs): Likewise.
43876         (free_fail_stack_return): Likewise.
43877         (check_arrival_expand_ecl): Mark DFA parameter as const.
43878         (check_arrival_expand_ecl_sub): Likewise.
43879         (check_subexp_limits): Likewise.
43880         (sub_epsilon_src_nodes):  Likewise.
43881         (add_epsilon_src_nodes):  Likewise.
43882         (merge_state_array): Likewise.
43883         (update_regs): Likewise.
43884         (build_trtable): Likewise.
43885         (sift_states_backward): Mark MCTX parameter as const.
43886         (build_sifted_states): Likewise.
43887         (update_cur_sifted_state): Likewise.
43888         (sift_states_mkref): Likewise.
43889         (check_arrival_expand_ecl): Mark eclosure as const.
43890         (check_dst_limits_calc_pos_1): Likewise.
43891         * lib/regex_internal.h (re_match_context_t): Make dfa a const
43892         pointer.
43893
43894         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
43895
43896         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
43897         (transit_state_sb): Likewise.
43898         (transit_state_mb): Likewise.
43899         (sift_states_iter_mb): Likewise.
43900         (check_arrival_add_next_nodes): Likewise.
43901         (check_node_accept_bytes): Change first parameter to pointer-to-const.
43902         [_LIBC] (re_search_2_stub): Use mempcpy.
43903
43904         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
43905         mbrtowc for very simple UTF-8 case.
43906
43907         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
43908         a pointer-to-const.
43909         (re_acquire_state_context): Likewise.
43910         * lib/regex_internal.h: Adjust prototypes.
43911
43912         * lib/regex.c: Prevent using C++ compilers.
43913
43914         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
43915         (re_acquire_state_context): Likewise.
43916
43917 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
43918
43919         * modules/regex (Depends-on): Add ssize_t.
43920
43921 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
43922
43923         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
43924         translation table.
43925
43926 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
43927
43928         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
43929
43930 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
43931             Bruno Haible  <bruno@clisp.org>
43932
43933         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
43934         <sys/types.h> and <inttypes.h>.
43935
43936 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43937
43938         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
43939         `__error_t_defined', so argp.h will not typedef the former.
43940
43941 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
43942
43943         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
43944         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
43945         glibc names.  Even if glibc is changed to conform to POSIX, the
43946         traditional names will be available anyway, since regex depends on
43947         the extensions module.  Also, fix a longstanding typo in the
43948         implementation of Spencer ERE test #75 from grep 2.3.  Problems
43949         reported by Emanuele Giaquinta.  Also, change sense of cached
43950         variable, so that the message makes sense.
43951
43952 2006-03-24  Simon Josefsson  <jas@extundo.com>
43953
43954         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
43955         including some doc fixes.
43956         (base64_encode_alloc): Fix +1 bug on allocation failures.
43957
43958 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43959
43960         * lib/base64.c (base64_encode): Do not read past end of array with
43961         unsanitized input on systems with CHAR_BIT > 8.
43962
43963 2006-03-24  Eric Blake  <ebb9@byu.net>
43964
43965         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
43966
43967 2006-03-22  Karl Berry  <karl@gnu.org>
43968
43969         * config/srclist.txt (*setenv.[ch]): get from coreutils.
43970         * config/srclistvars.sh (COREUTILS): new var.
43971
43972 2006-03-17  Jim Meyering  <jim@meyering.net>
43973
43974         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
43975         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
43976
43977 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
43978
43979         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
43980         no longer needs it.  Instead, check that regoff_t is as least
43981         as wide as ptrdiff_t.
43982
43983         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
43984         so that our regex.h stays compatible with the installed regex.
43985         This is helpful for installers who configure --without-included-regex.
43986         Problem reported by Emanuele Giaquinta.
43987
43988 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
43989
43990         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
43991         Typedef to long int, not to off_, as POSIX will likely change
43992         in that direction.
43993
43994 2006-03-15  Eric Blake  <ebb9@byu.net>
43995
43996         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
43997
43998 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
43999
44000         * lib/argp-help.c (validate_uparams): Fix typo
44001         * lib/argp-parse.c (argp_default_options): Consistently begin help
44002         messages with a lowercase letter.
44003
44004 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
44005
44006         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
44007         overrun buffers and shouldn't be used (much as gets shouldn't be
44008         used).
44009         * lib/time_r.c (asctime_r, ctime_r): Likewise.
44010
44011 2006-03-08  Simon Josefsson  <jas@extundo.com>
44012
44013         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
44014         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44015
44016 2006-03-08  Simon Josefsson  <jas@extundo.com>
44017
44018         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
44019         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44020
44021 2006-03-08  Simon Josefsson  <jas@extundo.com>
44022
44023         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
44024         signal that configure disabled the device.
44025
44026 2006-03-08  Simon Josefsson  <jas@extundo.com>
44027
44028         * build-aux/maint.mk: Fix refresh-po, to handle no translated
44029         languages.
44030
44031 2006-03-07  Simon Josefsson  <jas@extundo.com>
44032
44033         * modules/getopt (Depends-on): Add unistd.
44034
44035         * modules/unistd: New file.
44036
44037 2006-03-07  Simon Josefsson  <jas@extundo.com>
44038
44039         * modules/gc-random: New file.
44040
44041 2006-03-07  Simon Josefsson  <jas@extundo.com>
44042
44043         * m4/unistd_h.m4: New file.
44044
44045 2006-03-07  Simon Josefsson  <jas@extundo.com>
44046
44047         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
44048         test to be side-effect free by storing the result in the cache
44049         variable gl_cv_lib_readline, and moving the assignment of
44050         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
44051         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44052
44053 2006-03-07  Simon Josefsson  <jas@extundo.com>
44054
44055         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
44056         error on missing devices (the functions will return an error).
44057
44058         * m4/gc.m4: Move random stuff to gc-random.m4
44059
44060 2006-03-07  Simon Josefsson  <jas@extundo.com>
44061
44062         * lib/unistd_.h: New file.
44063
44064 2006-03-07  Simon Josefsson  <jas@extundo.com>
44065
44066         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
44067
44068 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
44069
44070         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
44071         Problem reported by Juan Manuel Guerrero.
44072
44073 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
44074
44075         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
44076         the unistd module.
44077         * lib/getlogin_r.c: Likewise.
44078         * lib/getlogin_r.h: Likewise.
44079         * lib/glob.c: Likewise.
44080         * lib/pagealign_alloc.c: Likewise.
44081         * lib/unistd_.h: Remove; no longer needed.
44082
44083 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
44084
44085         * MODULES.html.sh (Support for systems lacking POSIX:2001):
44086         Add unistd.
44087         * modules/c-stack (Depends-on): Add unistd.
44088         * modules/getlogin_r: Likewise.
44089         * modules/glob: Likewise.
44090         * modules/pagealign_alloc: Likewise.
44091         * modules/unistd (Files): Remove lib/unistd_.h.
44092         (EXTRA_DIST): Remove.
44093         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
44094         need unistd_.h.
44095         (MOSTLYCLEANFILES): Remove unistd.h-t.
44096
44097 2006-03-03  Simon Josefsson  <jas@extundo.com>
44098
44099         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
44100
44101 2006-03-03  Simon Josefsson  <jas@extundo.com>
44102
44103         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
44104         libidn and bison.
44105
44106 2006-03-03  Simon Josefsson  <jas@extundo.com>
44107
44108         * build-aux/maint.mk: Add indent target.
44109
44110 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
44111
44112         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
44113         our replacement poll.h in any case, to avoid a differing
44114         declaration from a system header.  Seen on AIX.
44115
44116 2006-03-01  Simon Josefsson  <jas@extundo.com>
44117
44118         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
44119         <kasal@ucw.cz>.
44120
44121 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
44122
44123         * modules/gettime (Depends-on): Add extensions module.
44124         * modules/nanosleep (Depends-on): Likewise.
44125         * modules/settime (Depends-on): Likewise.
44126
44127 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
44128
44129         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
44130         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
44131         pedantically.
44132         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
44133         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
44134
44135         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
44136         not "==".  Reported by Ralf Wildenhues.
44137
44138 2006-03-01  Karl Berry  <karl@gnu.org>
44139
44140         * doc/Copyright/request-*: new files, synced from gnuorg.
44141
44142 2006-03-01  Karl Berry  <karl@gnu.org>
44143
44144         * config/srclist.txt (Copyright/*): new entries.
44145
44146 2006-02-28  Simon Josefsson  <jas@extundo.com>
44147
44148         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
44149
44150 2006-02-27  Simon Josefsson  <jas@extundo.com>
44151
44152         * lib/base64.h: Indent #define's.  From Jim Meyering
44153         <jim@meyering.net>.
44154
44155 2006-02-27  Jim Meyering  <jim@meyering.net>
44156
44157         Revert the change of 2006-02-24, so these files can continue
44158         to be sync'd from gettext.
44159         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
44160         of `config.h'.
44161
44162 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
44163
44164         * modules/intprops: New file.
44165         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
44166         Add intprops.
44167         * modules/getloadavg (Files): Remove lib/intprops.h.
44168         (Depends-on): Add intprops.
44169         * modules/human: Likewise.
44170         * modules/inttostr: Likewise.
44171         * modules/openat: Likewise.
44172         * modules/sig2str: Likewise.
44173         * modules/userspec: Likewise.
44174         * modules/utimecmp: Likewise.
44175         * modules/xnanosleep: Likewise.
44176         * modules/xstrtol: Likewise.
44177
44178 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
44179
44180         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
44181         * modules/lock-tests (TESTS): Use $(EXEEXT).
44182         * modules/tls-tests: Likewise.
44183         * modules/argp-tests: Likewise.
44184         (check_PROGRAMS): New var, replacing...
44185         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
44186
44187 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44188
44189         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
44190         `config.h'.
44191
44192 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
44193
44194         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
44195
44196 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44197
44198         Sync from coreutils.
44199         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
44200         gl_CHDIR_SAFER.
44201
44202 2006-02-22  Jim Meyering  <jim@meyering.net>
44203
44204         Sync from coreutils.
44205         * m4/chdir-safer.m4: New file.
44206
44207 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
44208
44209         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
44210         AT_FDCWD exceeds INT_MAX.
44211         * lib/openat.h (AT_FDCWD): Likewise.
44212
44213 2006-02-17  Eric Blake  <address@hidden>
44214
44215         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
44216
44217 2006-02-16  Simon Josefsson  <jas@extundo.com>
44218
44219         * modules/getaddrinfo (Depends-on): Add sys_socket.
44220
44221 2006-02-15  Simon Josefsson  <jas@extundo.com>
44222
44223         * build-aux/maint.mk: Add dsyntax-check rule.
44224
44225 2006-02-15  Eric Blake  <ebb9@byu.net>
44226
44227         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
44228         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
44229         'present but cannot compile' warnings on cygwin.
44230         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
44231         use ws2tcpip.h if sys/socket.h works.
44232         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
44233         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
44234
44235 2006-02-14  Simon Josefsson  <jas@extundo.com>
44236
44237         * modules/maintainer-makefile (Files): Rename.
44238
44239         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
44240         and (the local) Makefile.cfg to maint-cfg.mk.
44241
44242         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
44243         to the latter.
44244
44245         * modules/maintainer-makefile: New module.
44246
44247         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
44248         severaly stripped to make it possible to build it up from scratch
44249         with reliable tests.
44250
44251         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
44252         fixes to permit overriding the default actions when configure and
44253         makefile are not available.
44254
44255 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
44256
44257         Sync from coreutils.
44258         * modules/lstat (Depends-on): Don't depend on xalloc.
44259         (License): Change from GPL to LGPL, since this is now simply a
44260         replacement for a libc function.
44261
44262 2006-02-14  Jim Meyering  <jim@meyering.net>
44263
44264         Sync from coreutils.
44265
44266         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
44267         failure on deficient systems, and simplify gnulib lgpl dependencies.
44268         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
44269         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
44270
44271         * lib/xalloc-die.c: Remove unused definition of N_.
44272
44273 2006-02-14  Jim Meyering  <jim@meyering.net>
44274
44275         Sync from coreutils.
44276         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
44277         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
44278         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
44279         double-quote uses of that variable, to accommodate the rare case in
44280         which getmntent is available in none of the libraries checked.  This
44281         happens at least on FreeBSD 5.0.
44282
44283 2006-02-13  Simon Josefsson  <jas@extundo.com>
44284
44285         * gnulib-tool (Usage): Fix --import, from
44286         karl@freefriends.org (Karl Berry).
44287
44288 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
44289
44290         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
44291
44292 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
44293
44294         * lib/argp-namefrob.h: Restore changes accidentally lost during the
44295         "autoupdate" on 2005-12-12.
44296
44297 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
44298
44299         * modules/closeout (Depends-on): Remove atexit.
44300
44301 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
44302
44303         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
44304         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
44305
44306 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
44307
44308         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
44309         __EXTENSIONS__ if this causes compilation to fail.  Problem
44310         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
44311         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
44312
44313 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
44314
44315         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
44316         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
44317         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
44318         All uses changed.
44319
44320 2006-01-26  Simon Josefsson  <jas@extundo.com>
44321
44322         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
44323         prototype is visible on mingw32.
44324
44325         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
44326         for mingw32.
44327
44328         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
44329         mingw32).
44330
44331 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
44332
44333         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
44334         attempt to open for write; this always fails, at least on POSIX
44335         hosts.  This reinstates the 2006-01-09 change, which was
44336         inadvertently removed.
44337
44338 2006-01-26  Bruno Haible  <bruno@clisp.org>
44339
44340         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
44341         Reported by Paul Eggert.
44342
44343 2006-01-26  Bruno Haible  <bruno@clisp.org>
44344             Paul Eggert  <eggert@cs.ucla.edu>
44345
44346         * lib/stdbool_.h (_Bool)
44347         [(! (defined __cplusplus || defined __BEOS__)
44348           && !defined __GNUC__
44349           && !(defined __HP_cc || defined __xlc__
44350                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
44351                || defined __sgi))]:
44352         #define to signed char in these cases too; this simplifies
44353         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
44354         etc., separately) and makes it more conservative.
44355
44356 2006-01-25  Simon Josefsson  <jas@extundo.com>
44357
44358         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
44359         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
44360         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
44361
44362 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
44363
44364         * lib/argp-namefrob.h: Bugfix. Remove stray #
44365
44366 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
44367
44368         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
44369         so that we test the test.
44370         Check for yet another HP-UX cc bug involving *bool |= bool.
44371
44372 2006-01-25  Karl Berry  <karl@gnu.org>
44373
44374         * config/srclist.txt (vasnprintf.c): sync lost.
44375
44376 2006-01-25  Jim Meyering  <jim@meyering.net>
44377
44378         Sync from the stable (b5) branch of coreutils:
44379
44380         * lib/fts.c (fts_children): Don't let close() clobber errno from
44381         failed fchdir().
44382
44383         * lib/fts.c (fts_stat): When following a symlink-to-directory,
44384         don't necessarily interpret stat-fails+lstat-succeeds as indicating
44385         a dangling symlink.  That can also happen at least for ELOOP.
44386         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
44387         FYI, this bug predates the inclusion of fts.c in coreutils.
44388
44389         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
44390         in their own block, so pre-c99 compilers don't object.
44391
44392         Avoid the double-free (first in fts_read, second in fts_close) that
44393         would occur when an `active' directory is made inaccessible (e.g.,
44394         via chmod a-x) during a traversal.
44395         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
44396         before returning.  Reproduce this failure by
44397         mkdir -p a/b; cd a; chmod a-x . b
44398         Reported by Stavros Passas.
44399
44400 2006-01-25  Jim Meyering  <jim@meyering.net>
44401
44402         * lib/fileblocks.c: Remove more useless parentheses.
44403         * lib/readutmp.h: Likewise.
44404
44405 2006-01-25  Bruno Haible  <bruno@clisp.org>
44406
44407         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
44408         warnings.
44409         Reported by Paul Eggert.
44410
44411 2006-01-25  Bruno Haible  <bruno@clisp.org>
44412
44413         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
44414         rid of a trap command. For Solaris sh.
44415         Reported by Mark D. Baushke <mdb@gnu.org>.
44416
44417 2006-01-24  Simon Josefsson  <jas@extundo.com>
44418
44419         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
44420         Bruno.
44421
44422 2006-01-24  Karl Berry  <karl@gnu.org>
44423
44424         * config/srclist.txt (argp-namefrob.h): sync lost.
44425
44426 2006-01-24  Jim Meyering  <jim@meyering.net>
44427
44428         * modules/openat (Files): Add lib/intprops.h.
44429         From Mark D. Baushke.
44430
44431 2006-01-24  Jim Meyering  <jim@meyering.net>
44432
44433         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
44434         Reported by Mark D. Baushke.
44435
44436 2006-01-24  Jim Meyering  <jim@meyering.net>
44437
44438         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
44439
44440 2006-01-24  Bruno Haible  <bruno@clisp.org>
44441
44442         * modules/strnlen (Maintainer): Change from glibc to all.
44443
44444 2006-01-24  Bruno Haible  <bruno@clisp.org>
44445
44446         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
44447         Patch by Paul Eggert.
44448
44449 2006-01-24  Bruno Haible  <bruno@clisp.org>
44450
44451         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
44452         already has it.
44453         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
44454         2005-11-26.
44455
44456         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
44457         'signed char' to avoid problems with the built-in _Bool type.
44458         Reported by Paul Eggert on 2005-11-26.
44459
44460 2006-01-24  Bruno Haible  <bruno@clisp.org>
44461
44462         * gnulib-tool (func_import): Avoid constructing complicated sed
44463         expressions inside backquote.
44464         Report and solution by Mark D. Baushke <mdb@gnu.org>.
44465
44466 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
44467
44468         These changes imported from libc.
44469         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
44470         test and two separate function calls.
44471         * lib/strndup.c (__strndup): Add libc_hidden_def.
44472
44473 2006-01-23  Simon Josefsson  <jas@extundo.com>
44474
44475         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
44476         Remove the test_*_SOURCES variable: automake infers it by default.
44477         * modules/tls-tests: Likewise.
44478
44479 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
44480
44481         Work around porting bugs reported by Dieter in
44482         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
44483         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
44484         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
44485         Include "getopt.h" first, to check interface.
44486         (getenv): Declare only if defined HAVE_DECL_GETENV &&
44487         !HAVE_DECL_GETENV.
44488         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
44489         (__strndup): Revert to K&R-style function dfns, the glibc style.
44490         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
44491         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
44492         Include strnlen.h first, to get prototype properly.
44493         (strnlen): Renamed from __strnlen.
44494         Remove weak alias.
44495
44496 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
44497
44498         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
44499
44500 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
44501
44502         * config/srclist.txt: Adjust to reflect glibc reorganization.
44503         This affects only comments.
44504
44505 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
44506
44507          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
44508          Reported by Bruce Korb <bkorb@gnu.org>.
44509
44510 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
44511
44512         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
44513         to pacify gcc -Wswitch-default.
44514
44515 2006-01-22  Bruno Haible  <bruno@clisp.org>
44516
44517         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
44518         temporary buffer for sprintf, take into account the precision also
44519         for 'd', 'i', 'u', 'o', 'x', 'X'.
44520
44521 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
44522
44523         * modules/argp-tests: New module
44524         * tests/test-argp.c: New file
44525         * tests/test-argp-2.sh: New file
44526
44527 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
44528
44529         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
44530         (__argp_base_name): Removed
44531         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
44532         typo.
44533         (__argp_base_name): Provide macro definition or extern declaration
44534         depending on the configuration
44535
44536 2006-01-20  Simon Josefsson  <jas@extundo.com>
44537
44538         * modules/inet_ntop (Depends-on): Depend on sys_socket.
44539
44540 2006-01-20  Simon Josefsson  <jas@extundo.com>
44541
44542         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
44543
44544 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
44545
44546         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
44547         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
44548         Suggested by Bruno Haible.
44549
44550 2006-01-20  Karl Berry  <karl@gnu.org>
44551
44552         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
44553         until changes propagate, I guess.
44554
44555 2006-01-19  Simon Josefsson  <jas@extundo.com>
44556
44557         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
44558
44559 2006-01-19  Simon Josefsson  <jas@extundo.com>
44560
44561         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
44562
44563 2006-01-19  Simon Josefsson  <jas@extundo.com>
44564
44565         * gnulib-tool: Set check_PROGRAMS.
44566
44567         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
44568         modules/des-tests, modules/gc-arcfour-tests,
44569         modules/gc-arctwo-tests, modules/gc-des-tests,
44570         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
44571         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
44572         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
44573         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
44574         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
44575         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
44576         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
44577         test_*_SOURCES.
44578
44579 2006-01-18  Simon Josefsson  <jas@extundo.com>
44580
44581         * modules/socklen (Depends-on): Depend on sys_socket.
44582
44583 2006-01-18  Simon Josefsson  <jas@extundo.com>
44584
44585         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
44586         modules/des-tests, modules/gc-arcfour-tests,
44587         modules/gc-arctwo-tests, modules/gc-des-tests,
44588         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
44589         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
44590         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
44591         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
44592         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
44593         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
44594         $(EXEEXT) to automake TESTS variable, for mingw32.
44595
44596 2006-01-17  Simon Josefsson  <jas@extundo.com>
44597
44598         * modules/socklen (Include): Need sys/socket.h.
44599
44600 2006-01-17  Bruno Haible  <bruno@clisp.org>
44601
44602         * modules/ssize_t (Include): Add <sys/types.h>.
44603
44604 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
44605
44606         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
44607         it's not portable and it doesn't work with cross-compiles.
44608         Problem reported by Bruno Haible.  Fix missing-$ typo in
44609         'test "gl_cv_ignore_unused_libraries" ...' that prevented
44610         -zignore from being used with Sun's C compiler.
44611
44612 2006-01-12  Simon Josefsson  <jas@extundo.com>
44613
44614         * lib/base64.c: Fix warning, reported by Bruno Haible
44615         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
44616
44617 2006-01-12  Bruno Haible  <bruno@clisp.org>
44618
44619         * modules/ldd: New file.
44620         * build-aux/ldd.sh.in: New file.
44621         * MODULES.html.sh (Support for building libraries and executables): Add
44622         ldd.
44623
44624 2006-01-12  Bruno Haible  <bruno@clisp.org>
44625
44626         * m4/ldd.m4: New file.
44627
44628 2006-01-12  Bruno Haible  <bruno@clisp.org>
44629
44630         * gnulib-tool (func_import, func_create_testdir): Don't go into an
44631         endless loop while replacing $auxdir with build-aux.
44632
44633 2006-01-11  Simon Josefsson  <jas@extundo.com>
44634
44635         * lib/stdint_.h (SIZE_MAX): Add missing (.
44636
44637 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
44638
44639         Sync from coreutils.
44640         * lib/md5.c: Fix commentary typos.
44641         (alignof, UNALIGNED_P): No need for a GCC-specific version.
44642         * lib/md5.h (__attribute__): Remove; unused.
44643         * lib/sha1.c: Fix commentary to match md5 better.
44644         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
44645         so that we don't need to worry about alignment.  All uses changed.
44646         This merges the 2005-10-28 md5 change into sha1.
44647
44648 2006-01-11  Jim Meyering  <jim@meyering.net>
44649
44650         Sync from coreutils.
44651         * lib/md5.c (OP): Fix spacing.
44652
44653 2006-01-11  Bruno Haible  <bruno@clisp.org>
44654
44655         Ensure automatic ordering between gl_LOCK and gl_ARGP.
44656         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
44657         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
44658
44659 2006-01-11  Bruno Haible  <bruno@clisp.org>
44660
44661         Ensure automatic ordering between gl_LOCK and gl_ARGP.
44662         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
44663         the "early" section as well.
44664
44665 2006-01-11  Bruno Haible  <bruno@clisp.org>
44666
44667         Avoid "ar: no archive members specified" error on MacOS X.
44668         * gnulib-tool (func_modules_add_dummy): New function.
44669         (func_import, func_create_testdir): Invoke it.
44670
44671 2006-01-11  Bruno Haible  <bruno@clisp.org>
44672
44673         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
44674         with $auxdir in AC_CONFIG_FILES statements.
44675
44676 2006-01-11  Bruno Haible  <bruno@clisp.org>
44677
44678         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
44679         Initialize also noinst_HEADERS to empty.
44680
44681 2006-01-11  Bruno Haible  <bruno@clisp.org>
44682
44683         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
44684         variables.
44685         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
44686         autoreconf.
44687
44688 2006-01-11  Bruno Haible  <bruno@clisp.org>
44689
44690         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
44691         overridable by the user.
44692         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44693
44694 2006-01-10  Simon Josefsson  <jas@extundo.com>
44695
44696         * modules/sys_socket: New file.
44697
44698 2006-01-10  Simon Josefsson  <jas@extundo.com>
44699
44700         * m4/sys_socket_h.m4: New file.
44701
44702 2006-01-10  Simon Josefsson  <jas@extundo.com>
44703
44704         * lib/socket_.h: New file.
44705
44706 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
44707
44708         * modules/readutmp (Maintainer): Add myself.
44709
44710 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
44711
44712         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
44713         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
44714         People who are still concerned with buggy memcmp implementations
44715         can invoke gl_FUNC_MEMCMP themselves.
44716
44717 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
44718
44719         * lib/regex_internal.h (BITSET_WORD_BITS):
44720         Work around a bug in 64-bit PGC (before version 6.1-2), where the
44721         preprocessor mishandles large unsigned values as if they were signed.
44722         Problem reported by Claudio Fontana in
44723         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
44724
44725 2006-01-10  Jim Meyering  <jim@meyering.net>
44726
44727         Avoid the double-free (first in fts_read, second in fts_close) that
44728         would occur when an `active' directory is made inaccessible (e.g.,
44729         via chmod a-x) during a traversal.
44730         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
44731         before returning.  Reproduce this failure by
44732         mkdir -p a/b; cd a; chmod a-x . b
44733         Reported by Stavros Passas.
44734
44735         Sync from coreutils.
44736         * lib/sha1.c: Tweak grammar in a comment.
44737
44738 2006-01-10  Jim Meyering  <jim@meyering.net>
44739
44740         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
44741         Patch by Joerg Sonnenberger.
44742
44743 2006-01-10  Bruno Haible  <bruno@clisp.org>
44744
44745         * modules/readutmp: Depend on module free.
44746         * modules/strtok_r: Depend on module restrict.
44747
44748 2006-01-10  Bruno Haible  <bruno@clisp.org>
44749
44750         * modules/gettext (configure.ac): Add an invocation of
44751         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
44752
44753 2006-01-10  Bruno Haible  <bruno@clisp.org>
44754
44755         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
44756         Reported by Werner Lemberg <wl@gnu.org>.
44757
44758 2006-01-10  Bruno Haible  <bruno@clisp.org>
44759
44760         * lib/localcharset.c: Update from GNU gettext.
44761
44762 2006-01-10  Bruno Haible  <bruno@clisp.org>
44763
44764         * lib/argp.h (__const): Remove macro. Use const instead.
44765         * lib/argp-fmtstream.h (__const): Likewise.
44766         * lib/glob_.h (__const): Remove macro.
44767         * lib/glob-libc.h: Use const instead of __const.
44768
44769 2006-01-10  Bruno Haible  <bruno@clisp.org>
44770
44771         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
44772         variable.
44773         Needed to avoid an automake error regarding the 'gettext' module.
44774
44775 2006-01-09  Simon Josefsson  <jas@extundo.com>
44776
44777         * modules/inet_ntop (Depends-on): Add restrict.
44778
44779 2006-01-09  Simon Josefsson  <jas@extundo.com>
44780
44781         * modules/gc-rijndael-tests (License): Put under LGPL.
44782
44783         * modules/gc-des-tests (License): Likewise.
44784
44785         * modules/gc-arcfour-tests (License): Likewise.
44786
44787         * modules/gc-arctwo-tests (License): Likewise.
44788
44789         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
44790
44791         * modules/gc-hmac-sha1-tests (Files): Likewise.
44792
44793         * modules/gc-hmac-md5-tests (License): Likewise.
44794
44795         * modules/gc-sha1-tests (License): Likewise.
44796
44797         * modules/gc-md5-tests (License): Likewise.
44798
44799         * modules/gc-md4-tests (License): Likewise.
44800
44801         * modules/gc-md2-tests (License): Likewise.
44802
44803         * modules/gc-tests (License): Likewise.
44804
44805         * modules/des-tests (License): Likewise.
44806
44807         * modules/md4-tests (License): Likewise.
44808
44809         * modules/md2-tests (License): Likewise.
44810
44811 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
44812
44813         Sync from coreutils:
44814
44815         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
44816         * modules/lib-ignore: New file.
44817         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
44818         chdir-safer.m4, lchmod.m4.
44819         * modules/openat: Add mkdirat.c, openat-priv.h.
44820
44821 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
44822
44823         Sync from coreutils.
44824         * m4/lib-ignore.m4: New file.
44825         * m4/lchmod.m4: New file.
44826
44827 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
44828
44829         Sync from coreutils.
44830         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
44831         for write access: POSIX says that must fail.
44832         * lib/fts.c (diropen): Likewise.
44833         * lib/save-cwd.c (save_cwd): Likewise.
44834         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
44835         well, for minor improvements on hosts that lack O_DIRECTORY.
44836         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
44837         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
44838         Fall back on chown if open failed with EACCES.
44839
44840         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
44841         Report an error at compile-time if only a 1-second nominal clock
44842         resolution is found.
44843
44844         * lib/lchmod.h: New file.
44845         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
44846         (make_dir_parents): Use lchown rather than chown, and
44847         lchmod rather than chmod.
44848
44849         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
44850         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
44851         "proc" reported by n0dalus.
44852
44853         * lib/mountlist.c: Include <limits.h>.
44854         (dev_from_mount_options)
44855         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
44856         New function.  It no longer assumes "dev=" has the System V meaning
44857         on Linux (since it doesn't).  It also parses "dev=" more carefully.
44858         (read_file_system_list)
44859         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
44860         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
44861         dev= in that case.
44862
44863         * lib/posixtm.h (PDS_PRE_2000): New macro.
44864         * lib/posixtm.c (year): Arg is now syntax_bits rather than
44865         allow_century.  All usages changed.  Reject dates outside the range
44866         1969-1999 if PDS_PRE_2000 is used.
44867
44868 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
44869
44870         Sync from coreutils.
44871         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
44872         (Time of day items): Mention the possibility of leap seconds.
44873         Problem reported by Dr. David Alan Gilbert.
44874
44875 2006-01-09  Jim Meyering  <jim@meyering.net>
44876
44877         Sync from coreutils.
44878
44879         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
44880
44881         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
44882
44883         * lib/modechange.c (mode_compile): Reject an invalid mode string
44884         that starts with an octal digit.  From Andreas Gruenbacher.
44885
44886         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
44887         and dup to open_safer and dup_safer, respectively.
44888         (openat_permissive): Fix typo in comment.
44889
44890         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
44891         "gettext.h"; either no longer needed or are guaranteed by openat.h.
44892         (_): Remove; no longer needed.
44893         (openat): Renamed from rpl_openat; no need for rpl_openat
44894         since openat.h renames openat for us.
44895         Replace most of the body with a call to openat_permissive,
44896         to avoid duplicate code.
44897         Port to (probably hypothetical) environments were mode_t is
44898         wider than int.
44899         (openat_permissive): Require mode arg, so that we can check
44900         types better.  Put it just after flags.  Change cwd failure
44901         indicator from pointer-to-bool to pointer-to-errno-value.
44902         All callers changed.
44903         Invoke openat_save_fail and/or openat_restore_fail if
44904         cwd_errno is null, so that openat can call us.
44905         (openat_permissive, fdopendir, fstatat, unlinkat):
44906         Simplify errno handling to avoid some duplicate code,
44907         as it's OK to set errno on success.
44908         * lib/openat.h: Revamp code so that function macros depend on
44909         __OPENAT_PREFIX only, not also on AT_FDCWD.
44910         (openat_ro): Remove.  Caller changed to use openat_permissive.
44911         (openat_permissive): Now a macro, if not a function.
44912         (openat_restore_fail, openat_save_fail): Now always functions,
44913         since mkdirat needs them even if __OPENAT_PREFIX is defined.
44914
44915         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
44916         and openat.c.
44917         * lib/mkdirat.c: Include openat-priv.h.
44918         Remove definitions of macros defined therein.
44919         * lib/openat.c: Likewise.
44920
44921         * lib/mkdirat.c (mkdirat): New file and function.
44922         * lib/openat.h (mkdirat): Declare.
44923
44924         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
44925
44926         * lib/openat.h (openat_permissive): Declare.
44927         (openat_ro): Define.
44928
44929         * lib/openat.c (EXPECTED_ERRNO): New macro.
44930         (openat_permissive): New function -- used in remove.c rewrite.
44931         (all functions): Set errno just before returning, only if there
44932         was an actual failure.
44933         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
44934
44935         Emulate openat-family functions using Linux's procfs, if possible.
44936         Idea and some code based on Ulrich Drepper's glibc changes.
44937
44938         * lib/openat.c: (BUILD_PROC_NAME): New macro.
44939         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
44940         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
44941         before falling back on save_cwd and restore_cwd.
44942         (fdopendir, fstatat, unlinkat): Likewise.
44943
44944         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
44945         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
44946
44947         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
44948         as second argument to va_arg.  Otherwise, some versions of gcc
44949         warn that `if this code is reached, the program will abort'.
44950
44951 2006-01-09  Jim Meyering  <jim@meyering.net>
44952
44953         Sync from coreutils.
44954         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
44955         Require openat-priv.h.
44956
44957 2006-01-09  Bruno Haible  <bruno@clisp.org>
44958
44959         * modules/strnlen (Include): Use strnlen.h.
44960
44961 2006-01-09  Bruno Haible  <bruno@clisp.org>
44962
44963         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
44964
44965 2006-01-09  Bruno Haible  <bruno@clisp.org>
44966
44967         * lib/sysexit_.h (EX_OK): New macro.
44968         Suggested by Martin Lambers <marlam@marlam.de>.
44969
44970 2006-01-09  Bruno Haible  <bruno@clisp.org>
44971
44972         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
44973         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
44974
44975 2006-01-09  Bruno Haible  <bruno@clisp.org>
44976
44977         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
44978         numbers.
44979
44980 2006-01-09  Bruno Haible  <bruno@clisp.org>
44981
44982         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
44983         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
44984         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
44985         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
44986
44987 2006-01-09  Bruno Haible  <bruno@clisp.org>
44988
44989         * build-aux/javacomp.sh.in: New file, moved from lib/.
44990         * modules/javacomp-script (Files): Update.
44991         (configure.ac): Add AC_CONFIG_FILES invocation.
44992         (EXTRA_DIST): Remove variable.
44993
44994         * build-aux/javaexec.sh.in: New file, moved from lib/.
44995         * modules/javaexec (Files): Update.
44996         (configure.ac): Add AC_CONFIG_FILES invocation.
44997         (EXTRA_DIST): Remove javaexec.sh.in.
44998
44999         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
45000         * modules/csharpcomp-script (Files): Update.
45001         (configure.ac): Add AC_CONFIG_FILES invocation.
45002         (EXTRA_DIST): Remove variable.
45003
45004         * build-aux/csharpexec.sh.in: New file, moved from lib/.
45005         * modules/csharpexec (Files): Update.
45006         (configure.ac): Add AC_CONFIG_FILES invocation.
45007         (EXTRA_DIST): Remove csharpexec.sh.in.
45008
45009 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
45010
45011         Sync from coreutils.
45012
45013         Add POSIX ACL support
45014         * lib/acl.h (copy_acl, set_acl): Add declarations.
45015         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
45016         systems other than Linux.
45017         (chmod_or_fchmod): New function: use fchmod when possible,
45018         and chmod otherwise.
45019         (file_has_acl): Add a POSIX ACL implementation, with a
45020         Linux-specific subcase.
45021         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
45022         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
45023         acls are unsupported.
45024         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
45025         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
45026         are unsupported.
45027
45028 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
45029
45030         Sync from coreutils.
45031         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
45032
45033 2006-01-07  Bruno Haible  <bruno@clisp.org>
45034
45035         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
45036         gl_EARLY.
45037
45038 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
45039
45040         * lib/strftime.c (tzname): Don't declare if it is already #defined.
45041         Problem reported for Mingw by Mark Junker.
45042
45043 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
45044
45045         * README: Gnulib normally doesn't generate a tarball.
45046
45047 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
45048
45049         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
45050         long int, not int, for nanosecond counts, so that people who are
45051         used to POSIX struct timespec won't be surprised.  Reported by Jim
45052         Meyering.
45053
45054 2005-12-28  Bruno Haible  <bruno@clisp.org>
45055
45056         * build-aux/config.rpath: Update from GNU gettext.
45057
45058 2005-12-16  Jim Meyering  <jim@meyering.net>
45059
45060         * modules/fprintftime: New module.
45061         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
45062
45063 2005-12-16  Jim Meyering  <jim@meyering.net>
45064
45065         * m4/fprintftime.m4: New file.
45066
45067 2005-12-16  Jim Meyering  <jim@meyering.net>
45068
45069         * lib/fprintftime.c, lib/fprintftime.h: New files.
45070
45071 2005-12-15  Simon Josefsson  <jas@extundo.com>
45072
45073         * modules/socklen (configure.ac): Fix M4 macro name, to align with
45074         new m4/socklen.m4.
45075
45076 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
45077
45078         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
45079         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
45080
45081 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
45082
45083         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
45084         * lib/argp-help.c (fill_in_uparams): Check if the constructed
45085         struct uparams is valid. Fall back to the default values if it is
45086         not.
45087
45088 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
45089
45090         * modules/argp (Files): Add argp-pin.c
45091         (Depends-on): dirname
45092         (lib_SOURCES): Add argp-pin.c
45093
45094 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
45095
45096         * m4/argp.m4:  Check if program_invocation_name and
45097         program_invocation_short_name are declared and define appropriate
45098         macros if they are not.
45099
45100 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
45101
45102         * lib/argp-help.c (__argp_base_name): New function
45103         (__argp_short_program_name): Rewrite using __argp_base_name
45104         * lib/argp-namefrob.h: Define program_invocation_name and
45105         program_invocation_short_name if requested
45106         (__argp_base_name): Add prototype
45107         * lib/argp-parse.c (argp_def): Use gettext wrappers
45108         (argp_default_parser): Use __argp_base_name
45109         * lib/argp-pin.c: New file. Defines program_invocation_name and
45110         program_invocation_short_name on systems that lack them.
45111
45112 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
45113
45114         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
45115         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
45116         porting problem reported by Georg Schwarz in
45117         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
45118
45119 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
45120
45121         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
45122         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
45123         porting problem reported by Georg Schwarz in
45124         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
45125
45126 2005-12-05  Bruno Haible  <bruno@clisp.org>
45127
45128         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
45129         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
45130         Reported by Mark Junker <mjscod@gmx.de>.
45131
45132 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
45133
45134         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
45135         Use implementation from Albert Chin, with some
45136         comments/corrections by Stepan Kasal and myself.
45137
45138 2005-12-02  Bruno Haible  <bruno@clisp.org>
45139
45140         * gnulib-tool (func_import): Accept GPLed build tool modules when
45141         --lgpl is given.
45142         * modules/csharpcomp-script: New file.
45143         * modules/csharpcomp: Depend on it.
45144         * modules/javacomp-script: New file.
45145         * modules/javacomp: Depend on it.
45146         Suggested by Simon Josefsson.
45147
45148 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
45149
45150         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
45151         statement, to work around an HP-UX 10.20 compiler bug reported by
45152         Peter O'Gorman.
45153
45154 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
45155
45156         * modules/savedir (Depends-on): Add openat.
45157
45158 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
45159
45160         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
45161         (uintmax_t) [defined uintmax_t]: Do not declare.
45162         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
45163         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
45164         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
45165         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
45166         sake of portability to weird hosts that C allows (though we don't
45167         know of any practical examples).
45168
45169         * lib/savedir.h (fdsavedir): New decl.
45170         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
45171         contains most of the former guts of savedir.
45172         (savedir): Use savedirstream.
45173         Include "openat.h".
45174
45175 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
45176
45177         * modules/obstack (Files): Add m4/ulonglong.m4.
45178         Problem reported by Davide Angelocola.
45179
45180 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
45181
45182         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
45183         coreutils no longer futzes with rounding modes.
45184
45185 2005-11-14  Jim Meyering  <jim@meyering.net>
45186
45187         * lib/mkstemp-safer.c: Include <config.h>, required for possible
45188         replacement of mkstemp.
45189
45190 2005-11-10  Simon Josefsson  <jas@extundo.com>
45191
45192         * lib/readline.c: Remove EOL.
45193
45194 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
45195
45196         * modules/gethrxtime (Depends-on): Add gettime.
45197
45198 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
45199
45200         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
45201         or gettimeofday; no longer needed.
45202
45203 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
45204
45205         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
45206         time business.
45207         (gethrxtime) [! (HAVE_NANOUPTIME
45208         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
45209         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
45210         our own approximation.
45211
45212 2005-11-08  Eric Blake  <ebb9@byu.net>
45213
45214         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
45215
45216 2005-11-08  Eric Blake  <ebb9@byu.net>
45217
45218         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
45219
45220 2005-11-04  Bruno Haible  <bruno@clisp.org>
45221
45222         * gnulib-tool: Implement --update mode.
45223
45224 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
45225
45226         Fix porting problem reported by Theodoros V. Kalamatianos.
45227         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
45228         Don't assume that futimes failing means we must fail.
45229
45230 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
45231
45232         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
45233         variables to suggest the intended function of the PATH_MAX check.
45234
45235 2005-10-30  Kean Johnston  <jkj@sco.com>
45236
45237         Trivial changes to support SCO systems.
45238         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
45239         as PATH_MAX.
45240         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
45241         where __ptr is null when no I/O is pending.
45242
45243 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
45244
45245         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
45246         leave errno alone.  Problem reported by Dmitry V. Levin.
45247
45248 2005-10-28  Simon Josefsson  <jas@extundo.com>
45249
45250         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
45251         Test more.
45252
45253         * tests/test-gc-md2.c, tests/test-md2.c: New files.
45254
45255         * modules/md2, modules/md2-tests: New files.
45256
45257 2005-10-28  Simon Josefsson  <jas@extundo.com>
45258
45259         * m4/inet_ntop.m4: More tests.
45260
45261         * m4/gc-md2.m4, md2.m4: New file.
45262
45263 2005-10-28  Simon Josefsson  <jas@extundo.com>
45264
45265         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
45266         "restrict" keywords, as per POSIX.  Protect the function
45267         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
45268         Don't use K&R prototypes.  Check the sprintf return values.
45269         Re-define EAFNOSUPPORT if not present.  Indent.
45270
45271         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
45272         suggested by Bruno Haible <bruno@clisp.org>.
45273
45274         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
45275
45276         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
45277
45278         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
45279         libgcrypt).
45280
45281         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
45282
45283         * lib/md2.h, lib/md2.c: New files.
45284
45285 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
45286
45287         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
45288         errno alone.  Problem reported by Frederic Jolliton.
45289
45290 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
45291
45292         * modules/verify (License): Change from GPL to LGPL.  This is a
45293         tiny module and there are apparently near-equivalents that are
45294         under the BSD license.
45295
45296 2005-10-24  Simon Josefsson  <jas@extundo.com>
45297
45298         * modules/sha1: Relicense to LGPL.
45299
45300 2005-10-24  Simon Josefsson  <jas@extundo.com>
45301
45302         * lib/md4.h: Shrink buffer size, now that we changed the type.
45303
45304 2005-10-23  Simon Josefsson  <jas@extundo.com>
45305
45306         * gnulib-tool (func_import): Fix --tests-base.
45307
45308 2005-10-22  Simon Josefsson  <jas@extundo.com>
45309
45310         * modules/arcfour (Depends-on): Need stdint.
45311
45312 2005-10-22  Simon Josefsson  <jas@extundo.com>
45313
45314         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
45315         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
45316
45317 2005-10-22  Simon Josefsson  <jas@extundo.com>
45318
45319         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
45320         suggested by Bruno Haible <bruno@clisp.org>.
45321
45322 2005-10-22  Simon Josefsson  <jas@extundo.com>
45323
45324         * lib/crc.h: Include stddef.h, for size_t.
45325
45326 2005-10-22  Simon Josefsson  <jas@extundo.com>
45327
45328         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
45329         arcfour_context struct (simplify test vector testing in GNU
45330         Shishi).
45331
45332 2005-10-21  Simon Josefsson  <jas@extundo.com>
45333
45334         * modules/des, modules/des-tests: New files.
45335
45336         * modules/gc-des, modules/gc-des-tests: New files.
45337
45338         * tests/test-des.c, tests/test-gc-des.c: New file.
45339
45340 2005-10-21  Simon Josefsson  <jas@extundo.com>
45341
45342         * modules/arctwo, modules/arctwo-tests: New files.
45343
45344         * tests/test-arctwo.c: New file.
45345
45346         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
45347
45348         * tests/test-gc-arctwo.c: New file.
45349
45350 2005-10-21  Simon Josefsson  <jas@extundo.com>
45351
45352         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
45353         Bruno Haible <bruno@clisp.org>.
45354
45355         * m4/gc-des.m4: New file.
45356
45357 2005-10-21  Simon Josefsson  <jas@extundo.com>
45358
45359         * m4/arctwo.m4: New file.
45360
45361         * m4/gc-arctwo.m4: New file.
45362
45363 2005-10-21  Simon Josefsson  <jas@extundo.com>
45364
45365         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
45366         block.
45367
45368 2005-10-21  Simon Josefsson  <jas@extundo.com>
45369
45370         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
45371         <bruno@clisp.org>.
45372
45373         * lib/hmac-sha1.c (hmac_sha1): Likewise.
45374
45375         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
45376         Bruno Haible <bruno@clisp.org>.
45377
45378         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
45379         <bruno@clisp.org>.
45380
45381 2005-10-21  Simon Josefsson  <jas@extundo.com>
45382
45383         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
45384
45385 2005-10-21  Simon Josefsson  <jas@extundo.com>
45386
45387         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
45388
45389 2005-10-21  Simon Josefsson  <jas@extundo.com>
45390
45391         * lib/des.h, lib/des.c: New files.
45392
45393         * lib/gc-gnulib.c: Support DES.c
45394
45395 2005-10-21  Simon Josefsson  <jas@extundo.com>
45396
45397         * lib/arctwo.h, lib/arctwo.c: New files.
45398
45399         * lib/gc-gnulib.c: Support ARCTWO.
45400
45401 2005-10-21  Simon Josefsson  <jas@extundo.com>
45402
45403         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
45404         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45405
45406 2005-10-21  Simon Josefsson  <jas@extundo.com>
45407
45408         * gnulib-tool (func_import, func_create_testdir): Define automake
45409         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
45410         Makefile.am snippet),
45411         suggested by Bruno Haible <bruno@clisp.org>.
45412
45413         * modules/gc (Makefile.am): Use it.
45414
45415 2005-10-21  Bruno Haible  <bruno@clisp.org>
45416
45417         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
45418         patch.
45419
45420 2005-10-19  Simon Josefsson  <jas@extundo.com>
45421
45422         * tests/test-gc-rijndael.c: New file.
45423
45424         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
45425
45426 2005-10-19  Simon Josefsson  <jas@extundo.com>
45427
45428         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
45429         interface too.
45430
45431 2005-10-19  Simon Josefsson  <jas@extundo.com>
45432
45433         * tests/test-gc-arcfour.c: New file.
45434
45435         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
45436
45437 2005-10-19  Simon Josefsson  <jas@extundo.com>
45438
45439         * modules/gc-md4, modules/gc-md4-tests: New file.
45440
45441         * tests/test-gc-md4.c: New file.
45442
45443 2005-10-19  Simon Josefsson  <jas@extundo.com>
45444
45445         * m4/gc-md4.m4: New file.
45446
45447 2005-10-19  Simon Josefsson  <jas@extundo.com>
45448
45449         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
45450         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
45451         <kasal@ucw.cz>.
45452
45453 2005-10-19  Simon Josefsson  <jas@extundo.com>
45454
45455         * m4/gc-arcfour.m4: New file.
45456
45457         * m4/gc-rijndael.m4: New file.
45458
45459 2005-10-19  Simon Josefsson  <jas@extundo.com>
45460
45461         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
45462
45463 2005-10-19  Simon Josefsson  <jas@extundo.com>
45464
45465         * lib/gc-gnulib.c: Support ARCFOUR.
45466
45467 2005-10-19  Simon Josefsson  <jas@extundo.com>
45468
45469         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
45470         support.
45471
45472         * lib/gc.h: Add ECB enum type.
45473
45474         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
45475
45476 2005-10-18  Simon Josefsson  <jas@extundo.com>
45477
45478         * tests/test-md5.c: New file.
45479
45480         * modules/md5-tests: New file.
45481
45482 2005-10-18  Simon Josefsson  <jas@extundo.com>
45483
45484         * tests/test-md4.c: New file.
45485
45486         * modules/md4, modules/md4-tests: New files.
45487
45488 2005-10-18  Simon Josefsson  <jas@extundo.com>
45489
45490         * m4/md4.m4: New file.
45491
45492 2005-10-18  Simon Josefsson  <jas@extundo.com>
45493
45494         * lib/md4.h, lib/md4.c: New files, based on md5.?.
45495
45496 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
45497
45498         * gnulib-tool (func_create_testdir): Omit the second check whether
45499         BUILT_SOURCES in nonempty.
45500
45501 2005-10-17  Simon Josefsson  <jas@extundo.com>
45502
45503         * tests/test-rijndael.c: New file.
45504
45505 2005-10-17  Simon Josefsson  <jas@extundo.com>
45506
45507         * modules/sha1: Depend on stdint instead of md5.
45508
45509         * modules/md5: Depend on stdint, remove uint32_t.
45510
45511 2005-10-17  Simon Josefsson  <jas@extundo.com>
45512
45513         * modules/gc-sha1-tests: New file.
45514
45515         * tests/test-gc-sha1.c: New file.
45516
45517 2005-10-17  Simon Josefsson  <jas@extundo.com>
45518
45519         * m4/md5.m4: Remove call to uint32_t.m4.
45520
45521 2005-10-17  Simon Josefsson  <jas@extundo.com>
45522
45523         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
45524
45525         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
45526         md5.h.
45527
45528         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
45529
45530         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
45531
45532 2005-10-17  Simon Josefsson  <jas@extundo.com>
45533
45534         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
45535
45536 2005-10-17  Simon Josefsson  <jas@extundo.com>
45537
45538         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
45539
45540 2005-10-17  Simon Josefsson  <jas@extundo.com>
45541
45542         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
45543
45544         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
45545
45546 2005-10-17  Bruno Haible  <bruno@clisp.org>
45547
45548         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
45549         that it can also be used in a test.
45550
45551 2005-10-16  Bruno Haible  <bruno@clisp.org>
45552
45553         * gnulib-tool (func_emit_tests_Makefile_am): Also define
45554         TESTS_ENVIRONMENT, so that individual tests can augment it.
45555
45556         * gnulib-tool (func_create_testdir): Use an intermediate target for
45557         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
45558         macros, like $(ALLOCA_H), which cannot be passed through the command
45559         line.
45560
45561 2005-10-15  Simon Josefsson  <jas@extundo.com>
45562
45563         * modules/rijndael-tests: New file.
45564
45565         * modules/rijndael: New file.
45566
45567 2005-10-15  Simon Josefsson  <jas@extundo.com>
45568
45569         * m4/rijndael.m4: New file.
45570
45571 2005-10-15  Simon Josefsson  <jas@extundo.com>
45572
45573         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
45574
45575         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
45576
45577 2005-10-14  Simon Josefsson  <jas@extundo.com>
45578
45579         * tests/test-arcfour.c: New file.
45580
45581         * modules/arcfour, modules/arcfour-tests: New files.
45582
45583 2005-10-14  Simon Josefsson  <jas@extundo.com>
45584
45585         * m4/arcfour.m4: New file.
45586
45587 2005-10-14  Simon Josefsson  <jas@extundo.com>
45588
45589         * lib/arcfour.h, lib/arcfour.c: New files.
45590
45591 2005-10-14  Roland McGrath  <roland@redhat.com>
45592
45593         Import from libc.  [BZ #1331]
45594         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
45595         macro argument.
45596         Reported by Matej Vela <vela@debian.org>.
45597
45598 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
45599
45600         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
45601         include <wchar.h>; no longer needed.
45602
45603 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
45604
45605         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
45606
45607 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
45608         and  Ulrich Drepper  <drepper@redhat.com>
45609
45610         Import from libc.
45611         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
45612         instead of inline stream orientation test and two separate
45613         function calls.  Pay no attention to USE_IN_LIBIO.
45614
45615 2005-10-13  Simon Josefsson  <jas@extundo.com>
45616
45617         * modules/gc-hmac-md5-tests: New file.
45618
45619         * tests/test-gc-hmac-sha1.c: New file.
45620
45621         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
45622
45623         * modules/gc-hmac-md5-tests: New file.
45624
45625         * tests/test-gc-md5.c: New file.
45626
45627         * modules/gc-md5-tests: New file.
45628
45629 2005-10-13  Simon Josefsson  <jas@extundo.com>
45630
45631         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
45632         Move memory allocation outside of loop.
45633
45634 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
45635
45636         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
45637         intermediate directory is in a read-only file system.  Problem
45638         reported by Eric Blake.
45639
45640 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
45641
45642         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
45643
45644 2005-10-12  Simon Josefsson  <jas@extundo.com>
45645
45646         * tests/test-hmac-sha1.c: New file.
45647
45648         * modules/hmac-sha1-tests: New file.
45649
45650         * modules/hmac-sha1: New file.
45651
45652 2005-10-12  Simon Josefsson  <jas@extundo.com>
45653
45654         * modules/gc-sha1: New file.
45655
45656 2005-10-12  Simon Josefsson  <jas@extundo.com>
45657
45658         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
45659
45660         * tests/test-gc-pbkdf2-sha1.c: New file.
45661
45662 2005-10-12  Simon Josefsson  <jas@extundo.com>
45663
45664         * modules/gc-md5, modules/gc-hmac-md5: New files.
45665
45666         * modules/gc (Files): Remove md5, memxor and hmac files.
45667
45668 2005-10-12  Simon Josefsson  <jas@extundo.com>
45669
45670         * m4/gc-pbkdf2-sha1.m4: New file.
45671
45672         * m4/gc-hmac-sha1.m4: New file.
45673
45674         * m4/gc-sha1: New file.
45675
45676         * m4/hmac-sha1.m4: New file.
45677
45678 2005-10-12  Simon Josefsson  <jas@extundo.com>
45679
45680         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
45681
45682         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
45683
45684 2005-10-12  Simon Josefsson  <jas@extundo.com>
45685
45686         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
45687         suggested by Bruno Haible <bruno@clisp.org>.
45688
45689 2005-10-12  Simon Josefsson  <jas@extundo.com>
45690
45691         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
45692
45693 2005-10-12  Simon Josefsson  <jas@extundo.com>
45694
45695         * lib/gc-pbkdf2-sha1.c: New file.
45696
45697         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
45698
45699 2005-10-12  Simon Josefsson  <jas@extundo.com>
45700
45701         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
45702
45703         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
45704
45705 2005-10-12  Simon Josefsson  <jas@extundo.com>
45706
45707         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
45708         GC_USE_HMAC_MD5, respectively.
45709
45710         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
45711         (gc_md5): Fix typo.
45712
45713         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
45714
45715         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
45716
45717         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
45718
45719 2005-10-12  Bruno Haible  <bruno@clisp.org>
45720
45721         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
45722         Reported by Stepan Kasal <kasal@ucw.cz>.
45723
45724 2005-10-11  Simon Josefsson  <jas@extundo.com>
45725
45726         * tests/test-crc.c: New file.
45727
45728         * modules/crc, modules/crc-tests: New files.
45729
45730 2005-10-11  Simon Josefsson  <jas@extundo.com>
45731
45732         * m4/crc.m4: New file.
45733
45734 2005-10-11  Simon Josefsson  <jas@extundo.com>
45735
45736         * lib/gc.h: Add gc_hash and gc_hash_buffer.
45737
45738         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
45739
45740         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
45741
45742 2005-10-11  Simon Josefsson  <jas@extundo.com>
45743
45744         * lib/crc.h, lib/crc.c: New files.
45745
45746         * lib/gc.h (gc_hash_buffer): Add doc.
45747
45748 2005-10-11  Bruno Haible  <bruno@clisp.org>
45749
45750         * modules/c-strcasestr: New file.
45751         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
45752
45753 2005-10-11  Bruno Haible  <bruno@clisp.org>
45754
45755         * modules/c-strcase: New file.
45756         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
45757
45758 2005-10-11  Bruno Haible  <bruno@clisp.org>
45759
45760         * lib/strcasecmp.c: Include limits.h.
45761         (strcasecmp): Avoid integer overflow on exotic platforms.
45762         * lib/strncasecmp.c: Include limits.h.
45763         (strncasecmp): Avoid integer overflow on exotic platforms.
45764         Reported by Paul Eggert.
45765
45766 2005-10-11  Bruno Haible  <bruno@clisp.org>
45767
45768         * lib/c-strcasestr.h: New file, from GNU gettext.
45769         * lib/c-strcasestr.c: New file, from GNU gettext.
45770
45771 2005-10-11  Bruno Haible  <bruno@clisp.org>
45772
45773         * lib/c-strcase.h: New file, from GNU gettext.
45774         * lib/c-strcasecmp.c: New file, from GNU gettext.
45775         * lib/c-strncasecmp.c: New file, from GNU gettext.
45776
45777 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
45778
45779         * modules/mempcpy (License): GPL -> LGPL.
45780         * modules/strchrnul (License): Likewise.
45781         * modules/sysexits (License): Likewise.
45782
45783 2005-10-08  Simon Josefsson  <jas@extundo.com>
45784
45785         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
45786
45787 2005-10-07  Simon Josefsson  <jas@extundo.com>
45788
45789         * m4/memxor.m4: Remove gl_C_RESTRICT call.
45790
45791 2005-10-06  Simon Josefsson  <jas@extundo.com>
45792
45793         * tests/test-hmac-md5.c: New file.
45794
45795         * modules/hmac-md5-tests: New file.
45796
45797         * modules/hmac-md5: New file.
45798
45799 2005-10-06  Simon Josefsson  <jas@extundo.com>
45800
45801         * m4/hmac-md5.m4: New file.
45802
45803         * m4/memxor.m4: Require gl_C_RESTRICT.
45804
45805 2005-10-06  Simon Josefsson  <jas@extundo.com>
45806
45807         * lib/memxor.c (memxor): Avoid casts and warnings.
45808
45809 2005-10-06  Simon Josefsson  <jas@extundo.com>
45810
45811         * lib/hmac-md5.c: New file.
45812
45813         * lib/hmac.h: New file.
45814
45815 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
45816
45817         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
45818         promotes to int, not unsigned int, to catch the AIX 5.3
45819         compiler bug.
45820
45821 2005-10-05  Simon Josefsson  <jas@extundo.com>
45822
45823         * modules/memxor: New file.
45824
45825         * modules/iconv (Files): Move config.rpath to havelib, it is used
45826         there.
45827
45828         * modules/havelib (Files): Add config.rpath.
45829
45830 2005-10-05  Simon Josefsson  <jas@extundo.com>
45831
45832         * m4/memxor.m4: New file.
45833
45834 2005-10-05  Simon Josefsson  <jas@extundo.com>
45835
45836         * lib/memxor.c (memxor): Fix compiler error.
45837
45838         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
45839         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
45840
45841         * lib/memxor.h, lib/memxor.c: New files.
45842
45843         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
45844         we assume all systems have it, suggested by Jim Meyering
45845         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
45846         any systems lack sys/socket.h; mingw32 is known to lack it, but we
45847         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
45848         same reasons.
45849
45850 2005-10-05  Simon Josefsson  <jas@extundo.com>
45851
45852         * config/srclist.txt: Add glibc bug 1423 for md5.h.
45853
45854 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
45855
45856         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
45857         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
45858         needed, since the source code now assumes these .h files.
45859
45860 2005-10-05  Derek Price  <derek@ximbiot.com>
45861
45862         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
45863
45864 2005-10-05  Bruno Haible  <bruno@clisp.org>
45865
45866         * modules/stdint (License): Change to LGPL.
45867
45868 2005-10-04  Simon Josefsson  <jas@extundo.com>
45869
45870         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
45871         D. Baushke" <mdb@gnu.org>.
45872
45873 2005-10-04  Bruno Haible  <bruno@clisp.org>
45874
45875         * lib/verify.h (verify_true): Provide alternative definition for C++.
45876
45877 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
45878
45879         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
45880         (SSIZE_MAX): New macro, if not already defined.
45881         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
45882         than 2 GiB.
45883
45884 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
45885
45886         Sync from coreutils.
45887         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
45888         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
45889         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
45890         ULLONG_MAX doesn't work with 2.7.2.1.
45891
45892 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
45893
45894         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
45895         From Ben Pfaff.
45896
45897         * modules/exclude (Depends-on): Depend on verify.
45898         * modules/strtoimax (Depends-on): Likewise.
45899         * modules/utimecmp (Depends-on): Likewise.
45900
45901 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
45902
45903         * lib/exclude.c: Include verify.h.
45904         (verify): Remove.  All callers changed to use verify.h's version.
45905         * lib/strtoimax.c: Likewise.
45906         * lib/utimecmp.c: Likewis.e
45907
45908         Sync from coreutils.
45909         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
45910         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
45911         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
45912         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
45913         bother returning ENOSYS if settimeofday or stime fails; just let
45914         them return whatever errno they want to return.
45915         * lib/utimens.c: Include unistd.h, for dup2.
45916         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
45917         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
45918
45919 2005-10-02  Jim Meyering  <jim@meyering.net>
45920
45921         Sync from coreutils.
45922         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
45923         from glibc-2.2.5 that fails for read-only files.
45924
45925 2005-10-02  Jim Meyering  <jim@meyering.net>
45926
45927         Sync from coreutils.
45928         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
45929         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
45930         `#if HAVE_CONFIG_H'.
45931         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
45932         Remove AT_FDCWD test.
45933         Do not consume the fd unless successful.
45934         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
45935         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
45936         block, so that we don't even try to compile it if settimeofday is
45937         available.  This works around a compilation failure on OSF1 V5.1,
45938         due to stime requiring a `long int*' while tv_sec is `int'.
45939
45940 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
45941
45942         Sync from coreutils.
45943         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
45944         against `yes', rather than just testing for nonempty.
45945
45946 2005-10-01  Simon Josefsson  <jas@extundo.com>
45947
45948         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
45949         and Darwin.
45950
45951         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
45952         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
45953         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
45954         freeaddrinfo and gai_strerror are declared by the POSIX headers.
45955         Check if struct addrinfo is declared.
45956
45957 2005-10-01  Simon Josefsson  <jas@extundo.com>
45958
45959         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
45960         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
45961         AI_* and EAI_* definitions.  Protect function declarations.
45962
45963 2005-10-01  Jim Meyering  <jim@meyering.net>
45964
45965         Sync from coreutils.
45966
45967         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
45968         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
45969         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
45970         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
45971         in the inet and nsl libraries.  Required on Solaris 5.7.
45972
45973 2005-10-01  Jim Meyering  <jim@meyering.net>
45974
45975         Sync from coreutils.
45976         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
45977         in the inet and nsl libraries.  Required on Solaris 5.7.
45978
45979 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
45980
45981         * lib/getdelim.c (getdelim): Remove unused variables.
45982
45983 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
45984
45985         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
45986         so that the code works even with ancient cpp.  Portability problem
45987         with GCC 2.7.2.1 reported by Thomas M.Ott.
45988
45989 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
45990
45991         * modules/regex (Depends-on): Add strcase.
45992
45993         * modules/gethostname (Licence): Change from GPL to LGPL, since
45994         gethostname.c is a trivial implementation of a standard library
45995         function.
45996         * modules/poll (License): Change from GPL to LGPL, since it's
45997         derived from LGPL code.
45998
45999 2005-09-27  Jim Meyering  <jim@meyering.net>
46000
46001         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
46002         HAVE_CONFIG_H.
46003
46004         * lib/intprops.h (signed_type_or_expr__): Define.
46005         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
46006         for unsigned types.
46007
46008 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
46009
46010         * lib/verify.h (verify_expr): Remove, replacing with:
46011         (verify_true): New macro that returns true instead of void.
46012         (verify_type__): Remove.
46013         (verify): Use verify_true rather than verify_type__.
46014
46015 2005-09-26  Bruno Haible  <bruno@clisp.org>
46016
46017         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
46018         is necessary.
46019         (lib_SOURCES): Remove mbchar.c.
46020         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
46021         (Files): Add m4/mbrtowc.m4.
46022         * modules/mbiter: Likewise.
46023         * modules/mbuiter: Likewise.
46024
46025 2005-09-26  Bruno Haible  <bruno@clisp.org>
46026
46027         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
46028         compile mbchar.c if they are not both present.
46029         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
46030         * m4/mbiter.m4 (gl_MBITER): Likewise.
46031         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
46032         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
46033         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
46034
46035 2005-09-25  Jim Meyering  <jim@meyering.net>
46036
46037         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
46038         also uses socklen_t.
46039
46040 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
46041
46042         * lib/utimens.c (ENOSYS): Define if not already defined.
46043         (futimens): Support having a null PATH if the file descriptor
46044         is nonnegative.
46045
46046         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
46047         Remove.
46048         (__attribute): Define to empty unless GCC 3.1 or later.
46049         This works around a core dump on OpenBSD 3.4, which has GCC
46050         2.95.3, which dumps core when given __attribute__(()).  It also
46051         simplifies other tests, since we really don't want to bother with
46052         worrying about which ancient version of GCC supported what.
46053         Original problem reported by Yoann Vandoorselaere, with part of
46054         the fix suggested by Derek Price.
46055
46056 2005-09-24  Jim Meyering  <jim@meyering.net>
46057
46058         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
46059         so we can once again use a positive bitfield width of 1 -- now we
46060         don't have to explain why we were using a bitfield width of 2.
46061
46062 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
46063
46064         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
46065         and similarly for the other external symbols.  Problem reported
46066         by James Gallager.
46067
46068         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
46069         bug reported by Jim Meyering.
46070
46071         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
46072         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
46073         not needed, since socklen is a prerequisite module.
46074
46075 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
46076
46077         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
46078         Problem reported by Eric Blake.
46079         (getaddrinfo): Initialize se so that it's not garbage.
46080         Redo internal storage allocation so that it doesn't make unportable
46081         assumptions about alignment.
46082         Fix a memory leak.
46083
46084         * lib/utimens.c (futimens): Use futimesat if available.
46085         Prefer it to futimes since it doesn't have the futimes bug.
46086
46087         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
46088         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
46089         Instead, declare a function that returns a pointer to an array,
46090         and use verify_type__ to declare the size of the array.
46091         Problem and germ of a solution reported by Bruno Haible.
46092         (verify_type__): Use 2, not 1, for bitfield size, to avoid
46093         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
46094
46095 2005-09-23  Jim Meyering  <jim@meyering.net>
46096
46097         Sync from coreutils.
46098         Correct build failure (socklen_t not defined) on at least
46099         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
46100         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
46101
46102 2005-09-23  Jim Meyering  <jim@meyering.net>
46103
46104         * modules/getaddrinfo (Depends-on): Add socklen.
46105
46106 2005-09-23  Bruno Haible  <bruno@clisp.org>
46107
46108         * tests/test-verify.c: New file.
46109
46110 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
46111
46112         Sync from coreutils.
46113
46114         * modules/argmatch (Depends-on): Add verify.
46115         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
46116         unistd-safer.
46117         * modules/save-cwd (Depends-on): Likewise.
46118
46119         * modules/openat (Files): Add lib/openat-die.c.
46120         (Depends-on): Remove error, exitfail.
46121         Add dirname.
46122
46123         * modules/verify: New file.
46124         * MODULES.html.sh (Diagnostics <assert.h>): New section,
46125         with "verify" module.
46126
46127 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
46128
46129         Sync from coreutils.
46130
46131         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
46132         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
46133         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
46134         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
46135         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
46136         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
46137         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
46138         Don't bother checking for string.h, stdlib.h, unistd.h.
46139         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
46140         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
46141         module's job.
46142         * m4/jm-macros.m4 (gl_MACROS): Likewise.
46143         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
46144
46145         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
46146         (gl_GETDATE): Use it.
46147
46148         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
46149
46150 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
46151
46152         Sync from coreutils.
46153
46154         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
46155         stat-time.h.
46156         * lib/argmatch.h: Include verify.h
46157         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
46158         (ARGMATCH_ASSERT): Remove; unused.
46159         * lib/canonicalize.c: Assume STDC_HEADERS.
46160         * lib/exclude.c: Include "strcase.h".
46161         * lib/regex_internal.h [!defined _LIBC]: Likewise.
46162         * lib/getusershell.c: Include stdio--.h rather than stdio.h
46163         and stdio-safer.h.
46164         (getusershell): Call fopen, not fopen_safer.
46165         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
46166         Do not include unistd-safer.h.
46167         (save_cwd): Don't call fd_safer; no longer needed
46168         now that we include fcntl--.h.
46169
46170         * lib/getdate.y (relative_time): New type.
46171         (RELATIVE_TIME_0): New constant.
46172         (parser_control): Use relative_time instead of doing it ourselves.
46173         (%union): Add new relative_time rel member.
46174         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
46175         Now typeless.
46176         (relunit, relunit_snumber): Now of type rel.
46177         (zone, rel, relunit, get_date): Adjust to above changes.
46178
46179         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
46180         Do not include unistd-safer.h.
46181         (getloadavg): Don't call fd_safer; no longer needed
46182         now that we include fcntl--.h.
46183
46184         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
46185         (make_dir_parents): Treat ENOSYS like EEXIST.
46186
46187         Improve quality of diagnostics on restore_cwd failure.
46188         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
46189         (make_dir_parents): Last arg is now int * (for errno), not bool *.
46190         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
46191         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
46192         each time through the loop.  Do not diagnose restore_cwd failure;
46193         that is the caller's job (and perhaps the caller does not care).
46194
46195         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
46196         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
46197         If the file already exists but is not a directory, don't bother
46198         to try to make its parents.
46199         Close potential file descriptor leak if we can't chdir("/") (!).
46200         Don't always return true if chdir($PWD) fails; return true only
46201         if the requested action was done successfully (except for the
46202         chdir($PWD)).
46203         Don't log final directory unless we actually made it.
46204         Refactor to avoid duplicate code to fix up permissions.
46205         Don't attempt to fix up parent permissions if chdir($PWD) fails.
46206
46207         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
46208         to make it a bit faster and (I hope) clearer.
46209         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
46210         Fix bug in formats like %2N.
46211
46212         * lib/verify.h: New file.
46213
46214 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
46215
46216         Sync from coreutils.
46217         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
46218
46219 2005-09-22  Jim Meyering  <jim@meyering.net>
46220
46221         Sync from coreutils.
46222
46223         * m4/lstat.m4 (gl_FUNC_LSTAT):
46224         Use AC_LIBSOURCES to require lstat.c and lstat.h.
46225         Remove obsolete comment.
46226         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
46227         * m4/xstrtod.m4: Likewise.
46228
46229         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
46230
46231 2005-09-22  Jim Meyering  <jim@meyering.net>
46232
46233         Sync from coreutils.
46234
46235         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
46236
46237         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
46238         the .tm_year member, since otherwise gcc-4.0 would now warn about
46239         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
46240
46241         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
46242         order to avoid an unsuppressible warning from gcc on 64-bit systems.
46243
46244         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
46245         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
46246         when run in a time zone for which daylight savings time is in effect
46247         for the starting date.
46248
46249         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
46250         stop us from restricting permissions of just-created absolute-named
46251         directories.
46252         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
46253         to restore initial working directory.
46254         * lib/mkdir-p.c (make_dir_parents): New parameter:
46255         different_working_dir, to tell caller if/when we change the working
46256         directory and are unable to return to the initial one.
46257         * lib/mkdir-p.h (make_dir_parents): Update prototype.
46258         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
46259         `return false'.  This fixes a bug introduced on 2004-07-30.
46260
46261         * lib/openat.c (fdopendir): Be sure to close the supplied
46262         file descriptor before returning.  This makes our replacement
46263         implementation a little closer to Solaris's, where fdopendir
46264         ties the file descriptor to the returned DIR* pointer.
46265         * lib/openat.c (unlinkat): New function.
46266         * lib/openat.h (unlinkat): Add prototype.
46267         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
46268         (openat_restore_fail): Rename from openat_restore_die.
46269         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
46270
46271         Provide an alternative to exiting immediately upon save_cwd or
46272         restore_cwd failure.  Now, an application can arrange e.g.,
46273         to perform a longjump in that case.
46274         * lib/openat.c: Include dirname.h.
46275         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
46276         (rpl_openat, fdopendir, fstatat): Call openat_save_die
46277         and openat_restore_die rather than calling error directly.
46278         Don't include "error.h" or "exitfail.h"; they're no longer needed.
46279
46280         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
46281         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
46282         define.
46283
46284         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
46285         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
46286                             int utc, int nanoseconds);
46287         Background:
46288         date should not have to allocate a megabyte of virtual memory to
46289         handle a format argument like +%1048575T.  When implemented with
46290         strftime, it must allocate such a buffer, use strftime to fill it
46291         in, print it, then free it.
46292         With fprintftime, it simply prints everything and exits.
46293         With no need for memory allocation, that's one fewer way to fail.
46294         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
46295         optional field width, not before, so we accept %9:z, not %:9z.
46296         (my_strftime): Be sure to use L_('x') for literals.
46297
46298         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
46299         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
46300         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
46301         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
46302         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
46303         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
46304         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
46305         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
46306         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
46307         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
46308         * lib/xgethostname.c, lib/xreadlink.c:
46309         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
46310
46311         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
46312         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
46313         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
46314         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
46315         and don't include <sys/file.h>).
46316
46317 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
46318
46319         Sync from coreutils.
46320
46321         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
46322         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
46323         [!LDAV_DONE]: Avoid unused variable warning.
46324
46325 2005-09-21  Bruno Haible  <bruno@clisp.org>
46326
46327         * lib/unicodeio.h (unicode_to_mb): New declaration.
46328
46329 2005-09-20  Derek Price  <derek@ximbiot.com>
46330
46331         * lib/getaddrinfo.c: Don't include <netdb.h> included from
46332         getaddrinfo.h.
46333
46334 2005-09-20  Bruno Haible  <bruno@clisp.org>
46335
46336         * gnulib-tool: Remove trailing slashes from the values specified for
46337         --source-base, --m4-base, --tests-base, --aux-dir.
46338         Suggested by Simon Josefsson <jas@extundo.com>.
46339
46340 2005-09-20  Bruno Haible  <bruno@clisp.org>
46341
46342         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
46343         func_modules_to_filelist, func_import, func_create_testdir): Make all
46344         sorting results locale-independent, so that gnulib-cache.m4 doesn't
46345         change when gnulib-tool is invoked in a different locale.
46346
46347 2005-09-19  Simon Josefsson  <jas@extundo.com>
46348
46349         * m4/socklen.m4: Fix typo.
46350
46351 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46352
46353         Use a consistent style for including <config.h>.
46354         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
46355         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
46356         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
46357         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
46358         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
46359         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
46360         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
46361         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
46362         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
46363         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
46364         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
46365         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
46366         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
46367         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
46368         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
46369         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
46370         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
46371         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
46372         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
46373         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
46374         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
46375         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
46376         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
46377         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
46378         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
46379         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
46380         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
46381         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
46382         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
46383         lib/xstrtoumax.c, lib/yesno.c:
46384         Standardize inclusion of config.h.
46385         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
46386         lib/inttostr.h:  Removed inclusion of config.h from header files.
46387         * lib/inttostr.c:  Adjusted in-tree users.
46388         * lib/timespec.h: Remove superfluous warning to include config.h.
46389         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
46390         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
46391         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
46392         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
46393         config.h with HAVE_CONFIG_H.
46394
46395 2005-09-19  Jim Meyering  <jim@meyering.net>
46396
46397         * modules/pathmax (License): Change to LGPL.
46398
46399 2005-09-19  Derek Price  <derek@ximbiot.com>
46400
46401         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
46402
46403 2005-09-19  Bruno Haible  <bruno@clisp.org>
46404
46405         * gnulib-tool (import): Provide default for --tests-base.
46406
46407 2005-09-19  Bruno Haible  <bruno@clisp.org>
46408
46409         * doc/quote.texi: New file, extracted from gnulib.texi.
46410         * doc/ctime.texi: New file, extracted from gnulib.texi.
46411         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
46412         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
46413         * doc/gnulib.texi: Include them.
46414
46415 2005-09-18  Bruno Haible  <bruno@clisp.org>
46416
46417         Portability fix.
46418         * gnulib-tool (func_readlink): New function.
46419         (func_ln_if_changed): Use it.
46420
46421 2005-09-18  Bruno Haible  <bruno@clisp.org>
46422
46423         * gnulib-tool: Support --with-tests also with --import.
46424         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
46425         (func_import): Use variables $testsbase and $inctests. Emit a
46426         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
46427         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
46428         SUBDIRS += $testsdir.
46429         (func_create_testdir): Update.
46430
46431 2005-09-18  Bruno Haible  <bruno@clisp.org>
46432
46433         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
46434         instead of $dry_run.
46435         (func_cp_if_changed, func_mv_if_changed): Remove functions.
46436         (func_ln_if_changed): Don't handle dry-run here.
46437         (func_import): In dry-run mode, detect more precisely which actions
46438         would be performed, and don't use "...ing" verbs.
46439
46440 2005-09-18  Bruno Haible  <bruno@clisp.org>
46441
46442         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
46443         (func_import): Use join on two temporary files instead of three nested
46444         loops, in order to determine which files are new or old.
46445
46446 2005-09-18  Bruno Haible  <bruno@clisp.org>
46447
46448         * gnulib-tool (func_import): Comment out code that spits out the
46449         new files with --dry-run.
46450
46451 2005-09-18  Bruno Haible  <bruno@clisp.org>
46452
46453         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
46454
46455 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
46456
46457         * lib/stat-time.h: New file.
46458         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
46459         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
46460         in a different way.
46461         (timespec_cmp): New function.
46462         * lib/utimecmp.c: Include stat-time.h.
46463         (SYSCALL_RESOLUTION): Depend on whether various struct stat
46464         members exist, not on the obsolescent ST_MTIM_NSEC.
46465         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
46466
46467 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
46468
46469         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
46470
46471 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
46472
46473         * MODULES.html.sh (File system functions): Add stat-time.
46474         * modules/stat-time: New file.
46475         * modules/timespec (Files): Remove m4/st_mtim.m4; this
46476         is now done in a different way, by the stat-time module.
46477         * modules/utimecmp (Depends-on): Add stat-time.
46478
46479 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
46480
46481         * m4/st_mtim.m4: Remove.  Superseded by...
46482         * m4/stat-time.m4: New file.
46483         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
46484         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
46485
46486 2005-09-15  Derek Price  <derek@ximbiot.com>
46487
46488         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
46489
46490 2005-09-15  Derek Price  <derek@ximbiot.com>
46491
46492         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
46493         * lib/regex_internal.c: Ditto, using this...
46494         (__GNUC_PREREQ): ...new macro.
46495         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
46496         using...
46497         (__GNUC_PREREQ): ...this new macro.
46498
46499         * lib/strstr.h: Include string.h. Define strstr as a macro here.
46500
46501 2005-09-15  Derek Price  <derek@ximbiot.com>
46502             Paul Eggert  <eggert@cs.ucla.edu>
46503
46504         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
46505         changes, consolidating in...
46506         * lib/regex_internal.h: ...this file.
46507
46508 2005-09-13  Jim Meyering  <jim@meyering.net>
46509
46510         * lib/canon-host.c: Filter through gnu indent and reword comments
46511         slightly.
46512         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
46513
46514 2005-09-13  Derek Price  <derek@ximbiot.com>
46515
46516         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
46517         failure.
46518         Reported by Jim Meyering  <jim@meyering.net>.
46519
46520 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
46521
46522         * lib/base64.c: Typo.
46523         (base64_encode): Put b64str in initialized data section.
46524
46525 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
46526
46527         Merge glibc and coreutils changes into gnulib, plus a few
46528         extra fixes.
46529         * lib/md5.c: Use #error rather than a string.
46530         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
46531         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
46532         (__attribute__): Define to empty for non recent-GCC.
46533         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
46534         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
46535         Renamed from their non-__ counterparts, with new macros replacing
46536         them if not _LIBC.  Add __THROW attribute.
46537         (rol): Remove.
46538         (struct md5_ctx): Align buffer if using GCC.
46539         * lib/sha1.h (struct sha1_ctx): Likewise.
46540         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
46541         The old name was backwards.
46542         (NOTSWAP): Remove; not used.
46543         (rol): New macro, moved here from md5.h.
46544         (sha1_process_block): Remove a FIXME that doesn't make sense.
46545
46546 2005-09-12  Derek Price  <derek@ximbiot.com>
46547
46548         Return usable errors from canon-host.
46549         * lib/canon-host.h: New file.
46550         * lib/canon-host.c (canon_host): Wrap...
46551         (canon_host_r): ...this new function, which now relies exclusively on
46552         getaddrinfo.
46553         (ch_strerror): New function.
46554         (last_cherror): New global.
46555         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
46556         interface.
46557         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
46558         void *.
46559         (freeaddrinfo): Free ai->ai_canonname when set.
46560
46561 2005-09-12  Derek Price  <derek@ximbiot.com>
46562
46563         Make canon-host require getaddrinfo.
46564         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
46565         AC_LIBSOURCE canon-host.h.  Call...
46566         (gl_PREREQ_CANON_HOST): ...this new function, which requires
46567         gl_GETADDRINFO.
46568         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
46569
46570 2005-09-12  Derek Price  <derek@ximbiot.com>
46571
46572         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
46573         LGPL.
46574         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
46575
46576 2005-09-12  Derek Price  <derek@ximbiot.com>
46577
46578         * lib/gai_strerror.c: Include config.h when available.  Include
46579         getaddrinfo.h before other headers to test interface.
46580         Reported by Larry Jones <lawrence.jones@ugs.com>.
46581
46582 2005-09-12  Derek Price  <derek@ximbiot.com>
46583             Paul Eggert  <eggert@cs.ucla.edu>
46584
46585         * modules/glob (Files): Add glob-libc.h.
46586
46587 2005-09-12  Derek Price  <derek@ximbiot.com>
46588             Paul Eggert  <eggert@cs.ucla.edu>
46589
46590         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
46591         glob_.h, glob-libc.h.
46592         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
46593
46594 2005-09-12  Derek Price  <derek@ximbiot.com>
46595             Paul Eggert  <eggert@cs.ucla.edu>
46596
46597         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
46598         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
46599         protecting things that should be done only in gnulib contexts.
46600         * lib/glob_.h: New file, containing only the glob things needed for
46601         gnulib.
46602         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
46603         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
46604         (glob, globfree, glob_pattern_p): Now defined simply in terms of
46605         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
46606         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
46607         and to respect the namespace rules better.
46608
46609 2005-09-08  Simon Josefsson  <jas@extundo.com>
46610
46611         * modules/socklen: New file.
46612
46613 2005-09-08  Simon Josefsson  <jas@extundo.com>
46614
46615         * m4/socklen.m4: New file.
46616
46617 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
46618
46619         * modules/utimens (Files): Add m4/utimbuf.m4, since
46620         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
46621         Reported by Sergey Poznyakoff.
46622
46623 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
46624
46625         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
46626         definitions, since that's the preferred style in glibc.
46627         Fix a minor spacing issue, and update copyright notice to match
46628         glibc's.
46629
46630 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
46631
46632         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
46633
46634 2005-09-06  Simon Josefsson  <jas@extundo.com>
46635
46636         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
46637         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
46638
46639 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
46640
46641         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
46642         warning.
46643
46644 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
46645
46646         * config/srclist.txt: Add glibc bug 1302.
46647
46648 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
46649
46650         Change bitset word type from unsigned int to unsigned long int,
46651         as this has better performance on typical 64-bit hosts.
46652         Port bitset code to hosts with unusual word sizes.
46653         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
46654         (build_collating_symbol):
46655         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
46656         argument is a bitset.  This is merely a style issue, but it makes
46657         it clearer that an entire array is expected.
46658         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
46659         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
46660         Port to the case where bitset_word is not the same as unsigned int.
46661         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
46662         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
46663         Likewise.
46664         * lib/regexec.c (check_dst_limits_calc_pos_1,
46665         check_subexp_matching_top):
46666         (build_trtable, group_nodes_into_DFAstates):
46667         Likewise.
46668         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
46669         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
46670         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
46671         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
46672         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
46673         * lib/regcomp.c (optimize_subexps, lower_subexp):
46674         Work even if bitset_word has holes in its bitwise representation.
46675         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
46676         * lib/regexec.c (check_dst_limits_calc_pos_1,
46677         check_subexp_matching_top):
46678         Likewise.
46679         * lib/regex_internal.c (re_string_reconstruct):
46680         Don't assume UCHAR_MAX == 255.
46681         * lib/regex_internal.h (bitset_set_all): Likewise.
46682         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
46683         All uses changed.
46684         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
46685         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
46686         All uses changed.
46687         (BITSET_WORD_MAX): New macro.
46688         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
46689         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
46690         (bitset_empty, bitset_copy):
46691         Prefer sizeof (bitset) to multiplying it out ourselves.
46692         (bitset_not_merge): Remove; unused.
46693         (bitset_contain): Return bool, not unsigned int with one bit on.
46694         All callers changed.
46695         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
46696         alignment than re_node_set; do this by defining a new internal
46697         type struct dests_alloc and using it to allocate memory.
46698
46699 2005-09-05  Bruno Haible  <bruno@clisp.org>
46700
46701         * gnulib-tool (func_import): Fix comparison in handling of symbolic
46702         links.
46703
46704 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
46705
46706         * modules/size_max (Makefile.am): Add size_max.h
46707
46708 2005-09-04  Derek Price  <derek@ximbiot.com>
46709
46710         * gnulib-tool (func_import): Fix reversed $symbolic logic.
46711
46712 2005-09-03  Simon Josefsson  <jas@extundo.com>
46713
46714         * gnulib-tool: Fix typo.
46715
46716 2005-09-03  Simon Josefsson  <jas@extundo.com>
46717
46718         * config/srclist.txt: Add glibc bug 1293.
46719
46720 2005-09-03  Derek Price  <derek@ximbiot.com>
46721
46722         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
46723         From Larry Jones <lawrence.jones@ugs.com>.
46724
46725 2005-09-02  Simon Josefsson  <jas@extundo.com>
46726
46727         * modules/socklen: New file.
46728
46729 2005-09-02  Simon Josefsson  <jas@extundo.com>
46730
46731         * modules/havelib: New module.
46732
46733         * modules/gettext, modules/iconv, modules/lock, modules/readline:
46734         Use havelib.
46735
46736 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
46737
46738         Check for arithmetic overflow when calculating sizes, to prevent
46739         some buffer-overflow issues.  These patches are conservative, in the
46740         sense that when I couldn't determine whether an overflow was possible,
46741         I inserted a run-time check.
46742         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
46743         macros.
46744         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
46745         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
46746         (re_xnrealloc, re_x2nrealloc): New inline functions.
46747         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
46748         parse_bracket_exp):
46749         (build_equiv_class, build_charclass): Check for arithmetic overflow
46750         in size expression calculations.
46751         * lib/regex_internal.c (re_string_realloc_buffers):
46752         (build_wcs_upper_buffer, re_node_set_add_intersect):
46753         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
46754         (re_dfa_add_node, register_state): Likewise.
46755         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
46756         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
46757         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
46758         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
46759
46760 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
46761
46762         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
46763         m4/ulonglong.m4.  Problem reported by Martin Lambers.
46764
46765 2005-09-02  Bruno Haible  <bruno@clisp.org>
46766
46767         Support for lib vs. lib64 distinction on biarch platforms.
46768         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
46769         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
46770         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
46771
46772 2005-09-02  Bruno Haible  <bruno@clisp.org>
46773
46774         * gnulib-tool (import): In the other first-use case, provide defaults
46775         as well.
46776
46777 2005-09-02  Bruno Haible  <bruno@clisp.org>
46778
46779         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
46780         patches not yet found in the latest gettext release.
46781
46782 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
46783
46784         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
46785         to avoid a collision with bits/local_lim.h in glibc.
46786         All uses changed.  Problem reported by Dmitry V. Levin in
46787         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
46788
46789         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
46790         bugs in int versus size_t comparisons.
46791         (re_string_context_at): Fix bug where the code assumed that
46792         Idx is signed.
46793
46794         Use bool where appropriate.
46795         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
46796         All callers changed.
46797         (calc_eclosure_iter): Likewise, for ROOT arg.
46798         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
46799         (build_charclass_op): Likewise, for NON_MATCH arg.
46800         * lib/regex_internal.c (re_string_allocate, re_string_construct):
46801         (re_string_construct_common): Likewise, for ICASE arg.
46802         * lib/regexec.c (re_search_2_stub, re_search_stub):
46803         Likewise, for RET_LEN arg.
46804         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
46805         (set_regs): Likewise, for FL_BACKTRACK arg.
46806         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
46807         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
46808         (calc_eclosure_iter, parse_bracket_exp):
46809         Use bool for internal variables that are booleans.
46810         * lib/regexec.c (re_search_internal, check_matching,
46811         proceed_next_node):
46812         (set_regs, build_sifted_states, sift_states_bkref):
46813         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
46814         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
46815         (find_collation_sequence_value):
46816         Likewise.
46817         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
46818         (re_node_set_compare):
46819         Return bool, not int. All callers changed.
46820         * lib/regexec.c (check_halt_node_context, check_dst_limits):
46821         (build_trtable, check_node_accept): Likewise.
46822         * lib/regex_internal.h: Include stdbool.h.
46823
46824         Fix bugs uncovered when converting to bool.
46825         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
46826         failure instead of charging ahead blindly.
46827         * lib/regex_internal.c (register_state): Likewise.
46828         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
46829         for freeing internal storage.
46830         (group_nodes_into_DFA_states): Use unsigned int, not int, for
46831         bitset pieces used as boolean, to avoid undefined behavior
46832         on hosts that do int overflow checking.
46833
46834 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
46835
46836         * config/srclist.txt: Add glibc bugs 1285-1287.
46837
46838 2005-09-01  Jim Meyering  <jim@meyering.net>
46839
46840         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
46841         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
46842         Require gl_STAT_MACROS, too.
46843
46844 2005-09-01  Bruno Haible  <bruno@clisp.org>
46845
46846         * gnulib-tool (import): In the first-use case, provide defaults.
46847
46848 2005-09-01  Bruno Haible  <bruno@clisp.org>
46849
46850         * gnulib-tool (func_import): Remove the .tmp files.
46851
46852 2005-09-01  Bruno Haible  <bruno@clisp.org>
46853
46854         * gnulib-tool (func_import): Fix handling of symbolic links.
46855
46856 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
46857
46858         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
46859         old glibc regex code mishandles strings longer than 2**31 bytes.
46860         This patch fixes this when the regex code is used in gnulib
46861         (i.e., outside glibc).
46862
46863         This patch should not affect the use of the regex code inside
46864         glibc.  No doubt this problem also needs to be handled for glibc
46865         as well, but the result will be an incompatible change to the
46866         glibc ABI, and the old ABI will have to be supported too.  That
46867         can be the the subject for another patch.
46868
46869         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
46870         governing whether the rest of this patch is active.  By default,
46871         the macro is disabled and the patch has no effect.
46872         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
46873         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
46874         (struct re_pattern_buffer, re_search, re_search_2, re_match):
46875         (re_match_2, re_set_registers): Use the new types.
46876         * lib/regex_internal.h (Idx, re_hashval_t): New types.
46877         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
46878         New macros.
46879         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
46880         (re_string_context_at, bin_tree_t, re_dfastate_t):
46881         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
46882         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
46883         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
46884         (re_string_char_size_at, re_string_wchar_at):
46885         (re_string_elem_size_at):
46886         Use the new types and macros to port to 64-bit hosts.
46887         Use unsigned types for internal values, so that the code
46888         mostly works even for arrays larger than SSIZE_MAX.
46889         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
46890         (search_duplicated_node, calc_eclosure_iter, fetch_number):
46891         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
46892         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
46893         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
46894         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
46895         (calc_inveclosure, parse_dup_op, build_range_exp):
46896         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
46897         (fetch_number, create_token_tree, mark_opt_subexp):
46898         Likewise.
46899         * lib/regex_internal.c (re_string_construct_common,
46900         create_ci_newstate):
46901         (create_cd_newstate, re_string_allocate, re_string_construct):
46902         (re_string_realloc_buffers, build_wcs_upper_buffer):
46903         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
46904         (re_string_reconstruct, re_string_peek_byte_case):
46905         (re_string_fetch_byte_case, re_string_context_at):
46906         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
46907         (re_node_set_init_copy, re_node_set_add_intersect):
46908         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
46909         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
46910         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
46911         (re_acquire_state, re_acquire_state_context, register_state):
46912         Likewise.
46913         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
46914         search_cur_bkref_entry):
46915         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
46916         (re_search_internal, re_search_2_stub, re_search_stub)
46917         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
46918         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
46919         (update_cur_sifted_state, check_dst_limits):
46920         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
46921         (check_subexp_limits, sift_states_bkref, merge_state_array):
46922         (check_subexp_matching_top, get_subexp, get_subexp_sub):
46923         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
46924         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
46925         (expand_bkref_cache, check_node_accept_bytes):
46926         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
46927         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
46928         (acquire_init_state_context, check_halt_node_context):
46929         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
46930         (sift_states_backward, clean_state_log_if_needed):
46931         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
46932         (find_recover_state, transit_state_sb, transit_state_mb):
46933         (transit_state_bkref, build_trtable, match_ctx_clean):
46934         Likewise.
46935         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
46936         to work around an assumption that REG_MISSING is negative.
46937
46938         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
46939         (seek_collating_symbol_entry) [defined _LIBC]:
46940         (lookup_collation_sequence_value) [defined _LIBC]:
46941         (build_range_exp, build_collating_symbol) [defined _LIBC]:
46942         Use prototypes rather than old-style function definitions.
46943         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
46944         (transit_state_sb) [0]:
46945         (find_collation_sequence_value) [defined _LIBC]: Likewise.
46946
46947         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
46948         rm_eo.
46949
46950         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
46951         (optimize_subexps, lower_subexp):
46952         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
46953         since the signed shift might overflow.  Use 1u<<31 instead.
46954         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
46955         Likewise.
46956         * lib/regexec.c (check_dst_limits_calc_pos_1,
46957         check_subexp_matching_top): Likewise.
46958
46959         * lib/regcomp.c (optimize_subexps, lower_subexp):
46960         Use CHAR_BIT rather than 8, for clarity.
46961         * lib/regexec.c (check_dst_limits_calc_pos_1):
46962         (check_subexp_matching_top): Likewise.
46963         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
46964         have to worry about portability issues when shifting it left.
46965         Remove no-longer-needed test for table_size > 0.
46966         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
46967         in a word, as the resulting behavior is undefined.
46968         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
46969         in one case, a <= should have been an <, and in another case the
46970         whole test was missing.
46971         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
46972         the standard name CHAR_BIT.
46973         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
46974         this is not true on one's complement and signed-magnitude hosts.
46975
46976         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
46977         next_last_offset.
46978         (struct re_dfa_t): Remove unused member states_alloc.
46979         * lib/regcomp.c (init_dfa): Don't initialize unused members.
46980
46981 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
46982
46983         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
46984         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
46985         and large-file glibc and in 32-bit large-file Solaris.
46986
46987 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
46988
46989         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
46990         lengths fit in regoff_t; this isn't true if regoff_t is the same
46991         width as size_t.
46992         * lib/regex.c (re_search_internal): 5th arg is LAST_START
46993         (= START + RANGE) instead of RANGE.  This avoids overflow
46994         problems when regoff_t is the same width as size_t.
46995         All callers changed.
46996         (re_search_2_stub): Check for overflow when adding the
46997         sizes of the two strings.
46998         (re_search_stub): Check for overflow when adding START
46999         to RANGE; if it occurs, substitute the extreme value.
47000
47001 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
47002
47003         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
47004
47005 2005-08-31  Jim Meyering  <jim@meyering.net>
47006
47007         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
47008         a pointer-to-const.
47009         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
47010         (register_state): Likewise.
47011         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
47012         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
47013         (group_nodes_into_DFAstates): Likewise.
47014
47015 2005-08-31  Jim Meyering  <jim@meyering.net>
47016
47017         * check-module: Add a FIXME comment.
47018
47019 2005-08-31  Eric Blake  <ebb9@byu.net>
47020
47021         * modules/unistd-safer (Files): Add unistd--.h.
47022         * modules/stdio-safer (Files): Add stdio--.h.
47023
47024 2005-08-31  Derek Price  <derek@ximbiot.com>
47025
47026         * lib/getdelim.c (getdelim): Return EOF on EOF.
47027         Reported by Larry Jones <lawrence.jones@ugs.com>.
47028
47029 2005-08-31  Bruno Haible  <bruno@clisp.org>
47030
47031         Avoid unnecessary diffs in the generated lib/Makefile.am.
47032         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
47033         the generated files.
47034         (func_import): Don't set cmd.
47035
47036 2005-08-31  Bruno Haible  <bruno@clisp.org>
47037
47038         * lib/strstr.c: Include <stddef.h>, for NULL.
47039         * lib/strcasestr.c: Likewise.
47040         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
47041
47042 2005-08-31  Bruno Haible  <bruno@clisp.org>
47043
47044         * gnulib-tool: New option --macro-prefix.
47045         (func_import): Use macro_prefix.
47046         (import): Handle option --macro-prefix.
47047
47048 2005-08-31  Bruno Haible  <bruno@clisp.org>
47049
47050         * gnulib-tool (import): Rename most ac_* variables to cached_*.
47051         Also use new variables cached_lgpl, cached_libtool.
47052
47053 2005-08-31  Bruno Haible  <bruno@clisp.org>
47054
47055         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
47056         always instantiating them.
47057
47058 2005-08-31  Bruno Haible  <bruno@clisp.org>
47059
47060         * gnulib-tool (func_import): Read the previous cached settings
47061         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
47062         earlier added by gnulib but are now dropped. Warn when a gnulib file
47063         overwrites a non-gnulib file.
47064
47065 2005-08-31  Bruno Haible  <bruno@clisp.org>
47066
47067         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
47068         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
47069         projects that don't keep autogenerated files in CVS. Put into
47070         actioncmd only the specified modules, not the transitive closure.
47071
47072 2005-08-31  Bruno Haible  <bruno@clisp.org>
47073
47074         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
47075         Create directories that shall be filled.
47076         (import): Don't look for gl_* macros in configure.ac. Recurse across
47077         all directories containing a gnulib-cache.m4 files, if meaningful.
47078
47079 2005-08-31  Bruno Haible  <bruno@clisp.org>
47080
47081         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
47082         (import): Set seen_libtool when we see gl_LIBTOOL.
47083
47084 2005-08-31  Bruno Haible  <bruno@clisp.org>
47085
47086         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
47087         declaration macro definitions from generated gnulib.m4.
47088
47089 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
47090
47091         * lib/iconvme.h: Add prototype for iconv_alloc.
47092
47093 2005-08-29  Simon Josefsson  <jas@extundo.com>
47094
47095         * lib/iconvme.c: Fix errno.
47096
47097 2005-08-29  Bruno Haible  <bruno@clisp.org>
47098
47099         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
47100         that it works when the directory contains spaces.
47101
47102 2005-08-29  Bruno Haible  <bruno@clisp.org>
47103
47104         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
47105
47106 2005-08-29  Bruno Haible  <bruno@clisp.org>
47107
47108         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
47109         Emit more advice.
47110
47111 2005-08-29  Bruno Haible  <bruno@clisp.org>
47112         and Stepan Kasal  <kasal@ucw.cz>
47113
47114         * check-module: If more parameters are given, check each of them
47115         separately; add more exceptions, as noted by Jim Meyering.
47116         (check_module): New procedure.
47117         (%exempt_header): Now contains all exceptions.
47118
47119 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
47120
47121         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
47122
47123 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
47124
47125         * lib/iconvme.c: Split iconv_string into iconv_alloc.
47126
47127 2005-08-28  Bruno Haible  <bruno@clisp.org>
47128
47129         * m4/gnulib-tool.m4: New file.
47130
47131 2005-08-27  Jim Meyering  <jim@meyering.net>
47132
47133         * modules/unistd-safer (Files): Add pipe-safer.c.
47134         * modules/fcntl-safer (Files): Add creat-safer.c.
47135
47136 2005-08-27  Jim Meyering  <jim@meyering.net>
47137
47138         * m4/stdlib-safer.m4: New file.  From coreutils.
47139         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
47140         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
47141         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
47142         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
47143         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
47144
47145 2005-08-27  Jim Meyering  <jim@meyering.net>
47146
47147         * lib/fopen-safer.c: Merge minor changes from coreutils.
47148         * lib/dup-safer.c: Likewise.
47149         * lib/fd-safer.c: Likewise.
47150
47151         Merge from coreutils.
47152         * lib/stdio--.h: New file.
47153         * lib/stdlib--.h: New file.
47154         * lib/mkstemp-safer.c: New file.
47155
47156         GNU tar needs these.
47157         * lib/pipe-safer.c: New file.
47158         * lib/creat-safer.c: New file.
47159         * lib/fcntl--.h (creat): Define to creat_safer.
47160         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
47161         * lib/unistd--.h (pipe): Define to pipe_safer.
47162         * lib/unistd-safer.h: Declare pipe_safer.
47163
47164 2005-08-26  Simon Josefsson  <jas@extundo.com>
47165
47166         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
47167         Haible <bruno@clisp.org>.
47168
47169 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
47170
47171         * lib/regex_internal.h: Remove all references to
47172         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
47173         or better.
47174         (bitset_not, bitset_merge, bitset_not_merge):
47175         (bitset_mask, re_string_allocate, re_string_construct):
47176         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
47177         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
47178         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
47179         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
47180         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
47181         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
47182         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
47183         (re_acquire_state_context):
47184         Remove unnecessary forward decls.
47185         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
47186         Put __attribute at function definition,
47187         now that the function decl has been removed.
47188         * lib/regex_internal.c (re_string_peek_byte_case):
47189         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
47190         Likewise.
47191
47192 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
47193
47194         * m4/regex.m4: Add AC_PREREQ(2.50).
47195         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
47196
47197 2005-08-25  Simon Josefsson  <jas@extundo.com>
47198
47199         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
47200         __fsetlocking.
47201
47202 2005-08-25  Simon Josefsson  <jas@extundo.com>
47203
47204         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
47205         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
47206         GLIBC specific code.
47207
47208 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
47209
47210         Make regex safe for g++.  This fixes one real bug (an "err"
47211         that should have been "*err").  g++ problem reported by
47212         Sam Steingold.
47213         * lib/regex_internal.h (re_calloc): New macro, consistent with
47214         re_malloc etc.  All callers of calloc changed to use re_calloc.
47215         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
47216         not int.  All callers changed.
47217         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
47218         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
47219         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
47220         (find_recover_state): Change "err" to "*err"; this fixes what
47221         appears to be a real bug.
47222         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
47223         versus int.
47224
47225 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
47226
47227         * modules/regex (Depends-on): Add malloc, since the code
47228         assumes that !malloc(0) means failure.
47229
47230 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
47231
47232         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
47233
47234         alloca modernization/simplification for regex.
47235         * lib/regex.c: Remove portability cruft for alloca.  This no longer
47236         needs to be at the start of the file, and can be moved into
47237         regex_internal.h and simplified.
47238         * lib/regex_internal.h: Include <alloca.h>.
47239         (__libc_use_alloca) [!defined _LIBC]: New macro.
47240         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
47241         now works outside glibc.
47242
47243 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
47244
47245         * config/srclist.txt: Add glibc bugs 1241, 1245.
47246
47247 2005-08-25  Jim Meyering  <jim@meyering.net>
47248
47249         * lib/open-safer.c: Include <config.h>.
47250         Otherwise, we'd lose LARGEFILE support in any file using
47251         e.g. "fcntl--.h"
47252
47253 2005-08-25  Bruno Haible  <bruno@clisp.org>
47254
47255         * m4/minmax.m4: Require autoconf 2.52.
47256         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
47257         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
47258         alternatives of translit over the alphabet.
47259         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
47260
47261 2005-08-24  Simon Josefsson  <jas@extundo.com>
47262
47263         * tests/test-getpass.c: New file.
47264
47265 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
47266
47267         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
47268         for GNU regex features.
47269
47270 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
47271
47272         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
47273         * lib/regex.h (regerror): Likewise.
47274
47275         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
47276         requires this.  (The code never needed it.)
47277
47278         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
47279         All uses of recently-renamed identifiers changed to use the new,
47280         POSIX-compliant names.  The code will build and run just fine
47281         without these changes, but it's better to eat our own dog food
47282         and use the standard-conforming names.
47283
47284         * lib/regex.h: Fix a multitude of POSIX name space violations.
47285         These changes have an effect only for programs that define
47286         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
47287         do not change anything for programs compiled in the normal way.
47288         Also, there is no effect on the ABI.
47289
47290         (_REGEX_SOURCE): New macro.
47291         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
47292         defined and _GNU_SOURCE is not; this fixes a name space violation.
47293
47294         Rename the following macros to obey POSIX requirements.
47295         The old names are still visible as macros if _REGEX_SOURCE is defined.
47296         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
47297         RE_BACKSLASH_ESCAPE_IN_LISTS.
47298         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
47299         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
47300         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
47301         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
47302         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
47303         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
47304         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
47305         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
47306         (REG_INTERVALS): renamed from RE_INTERVALS.
47307         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
47308         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
47309         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
47310         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
47311         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
47312         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
47313         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
47314         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
47315         RE_UNMATCHED_RIGHT_PAREN_ORD.
47316         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
47317         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
47318         (REG_DEBUG): renamed from RE_DEBUG.
47319         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
47320         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
47321         unusual, since we can't clash with the POSIX REG_ICASE.
47322         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
47323         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
47324         (REG_NO_SUB): renamed from RE_NO_SUB.
47325         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
47326         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
47327         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
47328         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
47329         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
47330         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
47331         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
47332         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
47333         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
47334         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
47335         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
47336         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
47337         RE_SYNTAX_POSIX_MINIMAL_BASIC.
47338         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
47339         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
47340         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
47341         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
47342         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
47343         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
47344         (REG_FIXED): Renamed from REGS_FIXED.
47345         (REG_NREGS): Renamed from RE_NREGS.
47346
47347         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
47348         of other REG_* macros, since POSIX says the user is allowed to
47349         #undef these macros selectively.
47350
47351         (reg_errcode_t): Update comment stating what other tables need
47352         to be consistent.
47353
47354         Rename the following enum values to obey POSIX requirements.
47355         The old names are still visible as macros.
47356         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
47357         is not defined, since GNU is supposed to be a superset of POSIX as
47358         much as possible, and since we want reg_errcode_t to be a signed
47359         type for implementation consistency.
47360         (_REG_NOERROR): Renamed from REG_NOERROR.
47361         (_REG_NOMATCH): Renamed from REG_NOMATCH.
47362         (_REG_BADPAT): Renamed from REG_BADPAT.
47363         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
47364         (_REG_ECTYPE): Renamed from REG_ECTYPE.
47365         (_REG_EESCAPE): Renamed from REG_EESCAPE.
47366         (_REG_ESUBREG): Renamed from REG_ESUBREG.
47367         (_REG_EBRACK): Renamed from REG_EBRACK.
47368         (_REG_EPAREN): Renamed from REG_EPAREN.
47369         (_REG_EBRACE): Renamed from REG_EBRACE.
47370         (_REG_BADBR): Renamed from REG_BADBR.
47371         (_REG_ERANGE): Renamed from REG_ERANGE.
47372         (_REG_ESPACE): Renamed from REG_ESPACE.
47373         (_REG_BADRPT): Renamed from REG_BADRPT.
47374         (_REG_EEND): Renamed from REG_EEND.
47375         (_REG_ESIZE): Renamed from REG_ESIZE.
47376         (_REG_ERPAREN): Renamed from REG_ERPAREN.
47377         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
47378         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
47379         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
47380         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
47381
47382         (_REG_RE_NAME, _REG_RM_NAME): New macros.
47383         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
47384         changed.  But support the old name if the new one is not defined
47385         and if _REGEX_SOURCE.
47386
47387         Change the following member names in struct re_pattern_buffer.
47388         The old names are still supported if !_REGEX_SOURCE.
47389         The new names are always supported, regardless of _REGEX_SOURCE.
47390         (re_buffer): Renamed from buffer.
47391         (re_allocated): Renamed from allocated.
47392         (re_used): Renamed from used.
47393         (re_syntax): Renamed from syntax.
47394         (re_fastmap): Renamed from fastmap.
47395         (re_translate): Renamed from translate.
47396         (re_can_be_null): Renamed from can_be_null.
47397         (re_regs_allocated): Renamed from regs_allocated.
47398         (re_fastmap_accurate): Renamed from fastmap_accurate.
47399         (re_no_sub): Renamed from no_sub.
47400         (re_not_bol): Renamed from not_bol.
47401         (re_not_eol): Renamed from not_eol.
47402         (re_newline_anchor): Renamed from newline_anchor.
47403
47404         Change the following member names in struct re_registers.
47405         The old names are still supported if !_REGEX_SOURCE.
47406         The new names are always supported, regardless of _REGEX_SOURCE.
47407         (rm_num_regs): Renamed from num_regs.
47408         (rm_start): Renamed from start.
47409         (rm_end): Renamed from end.
47410
47411         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
47412         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
47413         Prepend __ to parameter names.
47414
47415         Undo yesterday's changes.
47416
47417 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
47418
47419         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
47420         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
47421         lib/regex.c.
47422
47423 2005-08-24  Jim Meyering  <jim@meyering.net>
47424
47425         Sync from coreutils.
47426         * m4/fcntl-safer.m4: New file.
47427
47428         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
47429         and object files for this module.
47430
47431 2005-08-24  Jim Meyering  <jim@meyering.net>
47432
47433         Sync from coreutils.
47434         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
47435
47436 2005-08-24  Jim Meyering  <jim@meyering.net>
47437
47438         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
47439         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
47440
47441 2005-08-24  Jim Meyering  <jim@meyering.net>
47442
47443         * modules/fcntl-safer: New module.
47444         * modules/fts (Depends-on): Add fcntl-safer.
47445         * MODULES.html.sh (File descriptor based Input/Output):
47446         Add fcntl-safer.
47447
47448 2005-08-24  Bruno Haible  <bruno@clisp.org>
47449
47450         Support for unit test modules.
47451         * modules/README: Mention tests modules.
47452         * modules/TEMPLATE-TESTS: New file.
47453         * gnulib-tool: New options --extract-tests-module, --with-tests and
47454         --tests-base (unused for the moment).
47455         (testsbase, inctests): New variables.
47456         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
47457         (func_verify_module): Exclude TEMPLATE-TESTS.
47458         (func_verify_nontests_module, func_verify_tests_module): New functions.
47459         (func_get_dependencies): Add implicit dependency for tests modules.
47460         (func_get_tests_module): New function.
47461         (func_modules_transitive_closure): When --with-tests was specified,
47462         include the unit tests as well, unless explicitly avoided.
47463         (func_emit_lib_Makefile_am): Ignore the tests modules here.
47464         (func_emit_tests_Makefile_am): New function.
47465         (func_create_testdir): When --with-tests was specified, emit a
47466         tests/ directory.
47467         * MODULES.html.sh (Future developments): Update.
47468
47469 2005-08-24  Bruno Haible  <bruno@clisp.org>
47470
47471         * modules/tls-tests: New file.
47472         * tests/test-tls.c: New file, from GNU gettext.
47473
47474 2005-08-24  Bruno Haible  <bruno@clisp.org>
47475
47476         * modules/lock-tests: New file.
47477         * tests/test-lock.c: New file, from GNU gettext.
47478
47479 2005-08-24  Bruno Haible  <bruno@clisp.org>
47480
47481         * lib/lock.h: Add multiple inclusion guard.
47482         * lib/tls.h: Add multiple inclusion guard.
47483
47484 2005-08-24  Bruno Haible  <bruno@clisp.org>
47485
47486         * gnulib-tool: Add support for the --aux-dir option to
47487         --create-testdir, --create-megatestdir, --test, --megatest.
47488         (func_create_testdir, func_create_megatestdir): Optionally emit a
47489         AC_CONFIG_AUX_DIR directive.
47490         (create-testdir, create-megatestdir, test, megatest): Provide a
47491         default value for $auxdir.
47492
47493 2005-08-24  Bruno Haible  <bruno@clisp.org>
47494
47495         * gnulib-tool (import): Use compound statement instead of subshell
47496         where possible.
47497
47498 2005-08-24  Bruno Haible  <bruno@clisp.org>
47499
47500         * gnulib-tool (import): Change --aux-dir default to "build-aux".
47501
47502 2005-08-24  Bruno Haible  <bruno@clisp.org>
47503
47504         * gnulib-tool (func_version): Update.
47505
47506 2005-08-24  Bruno Haible  <bruno@clisp.org>
47507
47508         * gnulib-tool (func_import, func_create_testdir,
47509         func_create_megatestdir): Quote all autoconf macro arguments.
47510
47511 2005-08-24  Bruno Haible  <bruno@clisp.org>
47512
47513         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
47514         option --force, because --force causes the aclocal.m4 of each
47515         subdirectory to be newer than the corresponding config.h.in.
47516
47517 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
47518
47519         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
47520         All contents moved to gl_REGEX.
47521         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
47522         assume that it does.
47523
47524 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
47525
47526         * lib/regex.h (REG_NOSYS)
47527         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
47528         Define, since POSIX requires it as of 2001.
47529         (_REG_ENOSYS)
47530         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
47531         New private symbol, used to keep the enum signed in all cases.
47532         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
47533         Youngman in
47534         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
47535
47536         * lib/regex_internal.c (re_string_skip_chars, register_state):
47537         (calc_state_hash):
47538         Remove forward decls; no longer needed now that we use prototypes.
47539         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
47540         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
47541         (clean_state_log_if_needed): Likewise.
47542
47543 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
47544
47545         * config/srclist.txt: Add glibc bugs 1231-1233.
47546
47547 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
47548
47549         Fix problems reported by Sam Steingold in
47550         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
47551         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
47552         assumed that reg_errcode_t is a signed type, which is not
47553         necessarily true if _XOPEN_SOURCE is not defined.
47554         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
47555         since some compilers warn about it otherwise.
47556
47557 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
47558
47559         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
47560         (init_word_char, create_initial_state, duplicate_node_closure):
47561         (fetch_token, peek_token_bracket, build_range_exp):
47562         (build_collating_symbol): Remove forward decls; no longer needed
47563         now that we use prototypes.
47564
47565         * lib/regcomp.c:
47566         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
47567         (re_compile_fastmap_iter, regcomp, regerror, regfree):
47568         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
47569         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
47570         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
47571         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
47572         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
47573         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
47574         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
47575         (build_range_exp, build_collating_symbol, parse_bracket_exp):
47576         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
47577         (build_charclass, build_charclass_op, fetch_number, create_tree):
47578         (create_token_tree, mark_opt_subexp, duplicate_tree):
47579         Use prototypes rather than old-style definitions.
47580
47581         * lib/regex_internal.c:
47582         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
47583         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
47584         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
47585         (re_string_reconstruct, re_string_peek_byte_case):
47586         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
47587         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
47588         (re_node_set_init_copy, re_node_set_add_intersect):
47589         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
47590         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
47591         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
47592         (re_acquire_state, re_acquire_state_context, register_state):
47593         (create_ci_newstate, create_cd_newstate, free_state):
47594         Likewise.
47595         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
47596         re_search_2):
47597         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
47598         (re_search_internal, prune_impossible_nodes):
47599         (acquire_init_state_context, check_matching, static):
47600         (check_halt_node_context, check_halt_state_context, proceed_next_node):
47601         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
47602         (update_regs, sift_states_backward, build_sifted_states):
47603         (clean_state_log_if_needed, merge_state_array):
47604         (update_cur_sifted_state, add_epsilon_src_nodes):
47605         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
47606         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
47607         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
47608         (find_recover_state, check_subexp_matching_top, transit_state_mb):
47609         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
47610         (check_arrival, check_arrival_add_next_nodes):
47611         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
47612         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
47613         (check_node_accept_bytes, check_node_accept, extend_buffers):
47614         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
47615         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
47616         (sift_ctx_init):
47617         Likewise.
47618
47619         * lib/regex_internal.h:
47620         (re_string_allocate, re_string_construct, re_string_reconstruct):
47621         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
47622         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
47623         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
47624         (re_string_context_at, re_string_peek_byte_case):
47625         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
47626         is defined, since we now use prototypes always.
47627
47628         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
47629         C89 or better.  All uses removed.
47630
47631 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
47632
47633         * config/srclist.txt: Add glibc bugs 1220-1227.
47634
47635 2005-08-20  Jim Meyering  <jim@meyering.net>
47636
47637         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
47638         of unused local, dfa.
47639
47640 2005-08-20  Bruno Haible  <bruno@clisp.org>
47641
47642         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
47643
47644 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
47645
47646         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
47647         (re_node_set_insert_last, re_dfa_add_node):
47648         Rename local variables to avoid GCC shadowing warnings.
47649
47650 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
47651
47652         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
47653         [defined lint]: Suppress bogus uninitialized-variable warnings.
47654
47655         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
47656         and let the caller return REG_ESPACE if out of space.  This
47657         removes an uninitialied-variable warning with GCC 4.0.1, and also
47658         avoids taking the address of a local variable.  All callers
47659         changed.
47660
47661 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
47662
47663         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
47664         $LIBCSRC/posix/regexec.c.
47665         Add glibc bug 1217 for regcomp.c.
47666
47667 2005-08-19  Jim Meyering  <jim@meyering.net>
47668
47669         * lib/regexec.c (proceed_next_node): Redo local variables to
47670         avoid GCC shadowing warnings.
47671
47672 2005-08-18  Bruno Haible  <bruno@clisp.org>
47673
47674         * lib/strstr.c (strstr): Fix return value in multibyte case.
47675         * lib/strcasestr.c (strcasestr): Likewise.
47676
47677 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
47678
47679         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
47680
47681 2005-08-17  Jim Meyering  <jim@meyering.net>
47682
47683         Make the %s format (seconds since the epoch) work for a negative
47684         number and when used with a zero-padded field width, e.g. %015s.
47685
47686         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
47687         label so that it precedes the code to set `digits'.  Otherwise,
47688         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
47689         print `00-22'.  Now, it prints `-0022', as it should.
47690
47691 2005-08-17  Bruno Haible  <bruno@clisp.org>
47692
47693         * modules/strstr (Files): Add m4/mbrtowc.m4.
47694         (Depends-on): Add mbuiter.
47695
47696 2005-08-17  Bruno Haible  <bruno@clisp.org>
47697
47698         * modules/strcasestr: New file.
47699         * MODULES.html.sh (String handling, based on ANSI C 89): Add
47700         strcasestr.
47701
47702 2005-08-17  Bruno Haible  <bruno@clisp.org>
47703
47704         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
47705
47706 2005-08-17  Bruno Haible  <bruno@clisp.org>
47707
47708         * modules/mbuiter: New file.
47709         * MODULES.html.sh (Extended multibyte and wide character utilities):
47710         Add mbuiter.
47711
47712 2005-08-17  Bruno Haible  <bruno@clisp.org>
47713
47714         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
47715         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
47716
47717 2005-08-17  Bruno Haible  <bruno@clisp.org>
47718
47719         * m4/strcasestr.m4: New file.
47720
47721 2005-08-17  Bruno Haible  <bruno@clisp.org>
47722
47723         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
47724         * lib/strstr.c: Completely rewritten, with multibyte locale support.
47725
47726 2005-08-17  Bruno Haible  <bruno@clisp.org>
47727
47728         * lib/strcasestr.h: New file.
47729         * lib/strcasestr.c: New file.
47730
47731 2005-08-17  Bruno Haible  <bruno@clisp.org>
47732
47733         * lib/strcasecmp.c: Use mbuiter.h.
47734
47735 2005-08-17  Bruno Haible  <bruno@clisp.org>
47736
47737         * lib/mbuiter.h: New file.
47738
47739 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
47740
47741         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
47742         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
47743         and gl_GETOPT are both invoked via different paths (as happens
47744         with GNU tar CVS because it uses both argp and getopt), the former
47745         wins.
47746
47747 2005-08-16  Bruno Haible  <bruno@clisp.org>
47748
47749         * modules/tls: New file.
47750         * MODULES.html.sh (Multithreading): Add tls.
47751
47752 2005-08-16  Bruno Haible  <bruno@clisp.org>
47753
47754         * modules/strnlen1: New file.
47755         * MODULES.html.sh (String handling): Add strnlen1.
47756
47757 2005-08-16  Bruno Haible  <bruno@clisp.org>
47758
47759         * modules/strcase (Files): Add m4/mbrtowc.m4.
47760         (Depends-on): Add strnlen1, mbchar.
47761
47762 2005-08-16  Bruno Haible  <bruno@clisp.org>
47763
47764         * modules/mbiter: New file.
47765         * MODULES.html.sh (Extended multibyte and wide character utilities):
47766         Add mbiter.
47767
47768 2005-08-16  Bruno Haible  <bruno@clisp.org>
47769
47770         * modules/mbfile: New file.
47771         * MODULES.html.sh (Extended multibyte and wide character utilities):
47772         Add mbfile.
47773
47774 2005-08-16  Bruno Haible  <bruno@clisp.org>
47775
47776         * modules/mbchar: New file.
47777         * MODULES.html.sh (Extended multibyte and wide character utilities):
47778         New section.
47779
47780 2005-08-16  Bruno Haible  <bruno@clisp.org>
47781
47782         * m4/tls.m4: New file, from GNU gettext.
47783
47784 2005-08-16  Bruno Haible  <bruno@clisp.org>
47785
47786         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
47787         always.
47788         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
47789
47790 2005-08-16  Bruno Haible  <bruno@clisp.org>
47791
47792         * m4/mbiter.m4: New file.
47793
47794 2005-08-16  Bruno Haible  <bruno@clisp.org>
47795
47796         * m4/mbfile.m4: New file.
47797
47798 2005-08-16  Bruno Haible  <bruno@clisp.org>
47799
47800         * m4/mbchar.m4: New file.
47801
47802 2005-08-16  Bruno Haible  <bruno@clisp.org>
47803
47804         * lib/tls.h: New file, from GNU gettext.
47805         * lib/tls.c: New file, from GNU gettext.
47806
47807 2005-08-16  Bruno Haible  <bruno@clisp.org>
47808
47809         * lib/strnlen1.h: New file.
47810         * lib/strnlen1.c: New file.
47811
47812 2005-08-16  Bruno Haible  <bruno@clisp.org>
47813
47814         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
47815         (mbi_init): Update.
47816         (mbi_avail, mbi_advance): Let the iteration end before the terminating
47817         NUL byte, not after it.
47818
47819 2005-08-16  Bruno Haible  <bruno@clisp.org>
47820
47821         * lib/strcase.h (strcasecmp): Add note in comments.
47822         * lib/strncasecmp.c: Use code from strcasecmp.c.
47823         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
47824         (strcasecmp): Work correctly in multibyte locales.
47825
47826 2005-08-16  Bruno Haible  <bruno@clisp.org>
47827
47828         * lib/mbiter.h: New file.
47829
47830 2005-08-16  Bruno Haible  <bruno@clisp.org>
47831
47832         * lib/mbfile.h: New file.
47833
47834 2005-08-16  Bruno Haible  <bruno@clisp.org>
47835
47836         * lib/mbchar.h: New file.
47837         * lib/mbchar.c: New file.
47838
47839 2005-08-16  Bruno Haible  <bruno@clisp.org>
47840
47841         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
47842         the valid ones. Makes the comparison operations transitive:
47843         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
47844         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
47845
47846 2005-08-15  Simon Josefsson  <jas@extundo.com>
47847
47848         * modules/ssize_t (License): Change to 'unlimited'.
47849
47850         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
47851
47852 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
47853
47854         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
47855         Add comments for each pending glibc patch.
47856
47857 2005-08-15  Bruno Haible  <bruno@clisp.org>
47858
47859         * lib/regex.h (__restrict_arr): Don't define to __restrict if
47860         __cplusplus is defined.
47861
47862 2005-08-14  Jim Meyering  <jim@meyering.net>
47863
47864         Sync from coreutils.
47865
47866         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
47867         Use the hash-table-based cycle-detection code not just when
47868         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
47869         Reported by James Youngman in
47870         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
47871         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
47872         FTS_TIGHT_CYCLE_CHECK.
47873         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
47874         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
47875         once again.
47876         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
47877         * lib/fts.c (fd_safer): Remove decl.
47878         Include fcntl--.h rather than unistd-safer.h
47879         (fts_safe_changedir): Don't call fd_safer; no longer needed
47880         now that we include fcntl--.h.
47881
47882 2005-08-12  Simon Josefsson  <jas@extundo.com>
47883
47884         * modules/getndelim2: Use ssize_t module.
47885         * modules/getnline: Likewise.
47886         * modules/safe-read: Likewise.
47887         * modules/xreadlink: Likewise.
47888
47889         * modules/ssize_t: New file.
47890
47891 2005-08-12  Simon Josefsson  <jas@extundo.com>
47892
47893         * m4/readline.m4: Look for termcap, curses or ncurses if required.
47894
47895 2005-08-12  Simon Josefsson  <jas@extundo.com>
47896
47897         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
47898         ssize_t.
47899
47900 2005-08-12  Simon Josefsson  <jas@extundo.com>
47901
47902         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
47903         readline, getdelim and check_version.
47904         (Support for systems lacking ISO C 99: Sizes of integer types):
47905         Add size_max.
47906
47907 2005-08-12  Bruno Haible  <bruno@clisp.org>
47908
47909         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
47910
47911 2005-08-11  Simon Josefsson  <jas@extundo.com>
47912
47913         * modules/readline: New file.
47914
47915         * modules/strnlen (Files): Add strnlen.h.
47916
47917 2005-08-11  Simon Josefsson  <jas@extundo.com>
47918
47919         * m4/readline.m4: New file.
47920
47921 2005-08-11  Simon Josefsson  <jas@extundo.com>
47922
47923         * lib/readline.h, readline.c: New file.
47924
47925 2005-08-11  Simon Josefsson  <jas@extundo.com>
47926
47927         * doc/gnulib.texi (Initial import, Finishing touches): Mention
47928         gl_AVOID.
47929
47930 2005-08-11  Bruno Haible  <bruno@clisp.org>
47931
47932         * lib/strnlen.h (strnlen): Change parameter name to match comment.
47933
47934 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
47935
47936         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
47937
47938 2005-08-10  Simon Josefsson  <jas@extundo.com>
47939
47940         * tests/test-iconvme.c: New file.
47941
47942 2005-08-10  Simon Josefsson  <jas@extundo.com>
47943
47944         * m4/strnlen.m4: New file.
47945
47946         * m4/strndup.m4: Don't check for strnlen declaration, done in
47947         strnlen.m4.
47948
47949 2005-08-10  Simon Josefsson  <jas@extundo.com>
47950
47951         * lib/strndup.c: Use strnlen.h.
47952
47953         * lib/strnlen.h: New file.
47954
47955 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
47956
47957         * README: Typos.
47958
47959 2005-08-02  Simon Josefsson  <jas@extundo.com>
47960
47961         * modules/readline: New file.
47962
47963 2005-08-02  Simon Josefsson  <jas@extundo.com>
47964
47965         * modules/getdelim: New file.
47966
47967         * modules/getline: Rewrite, don't use getndelim2.
47968
47969 2005-08-02  Simon Josefsson  <jas@extundo.com>
47970
47971         * m4/getline.m4: Separate out getdelim stuff into separate module.
47972
47973         * m4/getdelim.m4: New file.
47974
47975 2005-08-02  Simon Josefsson  <jas@extundo.com>
47976
47977         * lib/getline.h, getline.c: Rewrite.
47978
47979         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
47980
47981 2005-07-31  Bruno Haible  <bruno@clisp.org>
47982
47983         * lib/lock.h (gl_lock_initializer): New macro.
47984         (gl_lock_define_initialized): Use it.
47985         (gl_rwlock_initializer): New macro.
47986         (gl_rwlock_define_initialized): Use it.
47987         (gl_recursive_lock_initializer): New macro.
47988         (gl_recursive_lock_define_initialized): Use it.
47989
47990 2005-07-30  Karl Berry  <karl@gnu.org>
47991
47992         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
47993         Report from Ben Pfaff, regarding getopt.
47994
47995 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
47996
47997         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
47998         normal way.
47999         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
48000         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
48001         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
48002         (gl_GETOPT): Use the new macros.  Most of the implementation
48003         is moved to the new macros.  This is for programs like Emacs
48004         that don't want all the functionality of gl_GETOPT.
48005
48006 2005-07-26  Bruno Haible  <bruno@clisp.org>
48007
48008         * m4/lock.m4: Update from GNU gettext.
48009
48010 2005-07-26  Bruno Haible  <bruno@clisp.org>
48011
48012         * lib/lock.h: Update from GNU gettext.
48013         * lib/lock.c: Update from GNU gettext.
48014
48015 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
48016
48017         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
48018         obsolescent AC_TRY_RUN.  Include the default includes files, for
48019         'exit'.
48020
48021 2005-07-24  Bruno Haible  <bruno@clisp.org>
48022
48023         * modules/visibility: New file.
48024         * MODULES.html.sh (Misc): Add visibility.
48025
48026 2005-07-24  Bruno Haible  <bruno@clisp.org>
48027
48028         * m4/visibility.m4: New file.
48029
48030 2005-07-24  Bruno Haible  <bruno@clisp.org>
48031
48032         * doc/visibility.texi: New file.
48033
48034 2005-07-22  Bruno Haible  <bruno@clisp.org>
48035
48036         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
48037         $(ALLOCA_H), redundant through BUILT_SOURCES.
48038         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
48039         redundant through BUILT_SOURCES.
48040         * modules/byteswap (Makefile.am): Remove explicit dependency on
48041         $(BYTESWAP_H), redundant through BUILT_SOURCES.
48042         * modules/fnmatch (Makefile.am): Remove explicit dependency on
48043         $(FNMATCH_H), redundant through BUILT_SOURCES.
48044         * modules/getopt (Makefile.am): Remove explicit dependency on
48045         $(GETOPT_H), redundant through BUILT_SOURCES.
48046         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
48047         redundant through BUILT_SOURCES.
48048         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
48049         redundant through BUILT_SOURCES.
48050         * modules/stdbool (Makefile.am): Remove explicit dependency on
48051         $(STDBOOL_H), redundant through BUILT_SOURCES.
48052         * modules/stdint (Makefile.am): Remove explicit dependency on
48053         $(STDINT_H), redundant through BUILT_SOURCES.
48054         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
48055         Remove explicit dependency on $(SYSEXITS_H).
48056         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
48057
48058 2005-07-18  Simon Josefsson  <jas@extundo.com>
48059
48060         * lib/check-version.c (check_version): Accept identical versions too.
48061
48062 2005-07-18  Bruno Haible  <bruno@clisp.org>
48063
48064         * modules/lock: New file.
48065         * MODULES.html.sh (Multithreading): New section.
48066
48067 2005-07-18  Bruno Haible  <bruno@clisp.org>
48068
48069         * m4/lock.m4: New file, from GNU gettext.
48070
48071 2005-07-18  Bruno Haible  <bruno@clisp.org>
48072
48073         * lib/lock.h: New file, from GNU gettext.
48074         * lib/lock.c: New file, from GNU gettext.
48075
48076 2005-07-18  Bruno Haible  <bruno@clisp.org>
48077
48078         * lib/lock.h (gl_once_t): New type.
48079         (gl_once_define, gl_once): New macros.
48080         * lib/lock.c (fresh_once): New variable.
48081         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
48082         functions.
48083
48084 2005-07-16  Simon Josefsson  <jas@extundo.com>
48085
48086         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
48087         workaround, suggested by Bruno.
48088
48089 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
48090
48091         * modules/xalloc (Depends-on): Add xalloc-die.
48092         * modules/xvasprintf (Depends-on): Add xalloc-die.
48093
48094 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
48095
48096         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
48097         with a minor change.
48098
48099 2005-07-15  Bruno Haible  <bruno@clisp.org>
48100
48101         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
48102         When using lib/poll.c, define poll as rpl_poll.
48103
48104 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
48105
48106         * modules/argp (Depends-on): Remove unlocked-io.
48107
48108 2005-07-14  Derek Price  <derek@ximbiot.com>
48109
48110         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
48111         for glob symlink bug.
48112
48113 2005-07-14  Bruno Haible  <bruno@clisp.org>
48114
48115         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
48116         Instead, test for *_unlocked function declarations directly.
48117
48118 2005-07-11  Simon Josefsson  <jas@extundo.com>
48119
48120         * modules/size_max: New file.
48121
48122         * modules/xsize: Depend on size_max module for size_max.m4.
48123
48124 2005-07-11  Simon Josefsson  <jas@extundo.com>
48125
48126         * lib/size_max.h: New file.
48127
48128 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
48129
48130         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
48131         copyright symbol and the year.
48132         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
48133         (version_etc_va): Use parameterized copyright notice.
48134         Reword to conform to the current GNU coding standards.
48135
48136 2005-07-11  Karl Berry  <karl@gnu.org>
48137
48138         * doc/gnulib.texi (Quoting): new node.
48139         (Initial import): more info, from Patrice.
48140
48141 2005-07-11  Bruno Haible  <bruno@clisp.org>
48142
48143         * gnulib-tool (func_usage): Document option --avoid.
48144         (Command line options): Handle --avoid.
48145         (func_acceptable): New function.
48146         (func_modules_transitive_closure): Use it.
48147
48148 2005-07-11  Bruno Haible  <bruno@clisp.org>
48149
48150         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
48151         Reported by Jim Meyering.
48152
48153 2005-07-10  Bruno Haible  <bruno@clisp.org>
48154
48155         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
48156         Needed when size_t is smaller than 'unsigned int'.
48157         Reported by Paul Eggert.
48158
48159 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
48160
48161         * modules/argp (Depends-on): Add unlocked-io
48162
48163 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
48164
48165         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
48166         block of defines.
48167
48168 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
48169
48170         * config/srclist.txt: Comment out regcomp.c, since we have a porting
48171         fix now.
48172
48173 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
48174         and Paul Eggert  <eggert@cs.ucla.edu>
48175
48176         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
48177         in wint_t, not wchar_t.  Remove now-unnecessary cast.
48178
48179 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
48180
48181         * modules/regex (Files): Add lib/regex_internal.c,
48182         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
48183         (Depends-on): Add extensions.
48184         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
48185
48186 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
48187
48188         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
48189         pathconf.
48190         * m4/same.m4 (gl_SAME): Likewise.
48191         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
48192
48193         * m4/regex.m4: Adjust to new libc regex implementation.
48194         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
48195         all the .c and .h parts of (the new) regex.
48196         Quote the m4 stuff better.
48197         Check for RE_ICASE bug of old gnulib.
48198         Check for REG_STARTEND of recent libc.
48199         Rename local variables from jm_* to gl_*.
48200         Quote operand of "test -f".
48201         Say "recent enough" version of libc, not "version 2".
48202         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
48203         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
48204         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
48205         Remove check for btowc, isascii.
48206         Require AM_LANGINFO_CODESET.
48207
48208 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
48209
48210         * lib/regex.c, regex.h: Sync from libc.
48211         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
48212         * lib/regexec.c:
48213         New files, synced from libc, except that regex_internal.h
48214         currently has a small porting fix.
48215
48216 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
48217
48218         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
48219         regex_internal.c, regexec.c.
48220         Add regex_internal.h too, but as a comment, since the libc version
48221         is currently broken in gnulib mode.
48222
48223 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
48224
48225         Support programs like Emacs that use gnulib but not gettext.
48226         * MODULES.html.sh (Internationalization functions): Add gettext-h.
48227         * modules/gettext-h: New file.
48228         * modules/gettext (Files): Remove lib/gettext.h.
48229         (Depends-on): Add gettext-h.
48230         (Makefile.am): Remove lib_SOURCES.
48231         * modules/argmatch, modules/c-stack, modules/closeout:
48232         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
48233         * modules/execute, modules/file-type, modules/getaddrinfo:
48234         * modules/getopt, modules/human, modules/javacomp:
48235         * modules/javaexec, modules/mkdir-p, modules/obstack:
48236         * modules/openat, modules/pagealign_alloc, modules/pipe:
48237         * modules/quotearg, modules/regex, modules/rpmatch:
48238         * modules/unicodeio, modules/userspec, modules/version-etc:
48239         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
48240         * modules/xsetenv:
48241         Depend on gettext-h, not gettext.
48242
48243 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
48244
48245         * gnulib-tool (func_import): Add support for 'public domain' license.
48246         * modules/alloca, modules/atexit, modules/memmove:
48247         Now public domain, not GPL.
48248         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
48249         * modules/realloc, modules/strerror, modules/strtod:
48250         Now LGPL, not GPL.
48251
48252 2005-07-05  Bruno Haible  <bruno@clisp.org>
48253
48254         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
48255         autoconf CVS. Needed for mingw.
48256
48257 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
48258
48259         Remove the dependency of the strftime module on the tzset module.
48260         * modules/strftime (Depends-on): Remove dependency on tzset.
48261
48262 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
48263
48264         Remove the dependency of the strftime module on the tzset module.
48265         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
48266         gl_FUNC_TZSET_CLOBBER.
48267
48268 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
48269
48270         Remove the dependency of the strftime module on the tzset module.
48271         * lib/strftime.c (my_strftime)
48272         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
48273         Copy the input structure, to work around some of the bug with
48274         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
48275         Solaris releases, you should also use the tzset module, but we won't
48276         require it as a dependency any more since we don't want LGPLed code
48277         to depend on GPLed code.
48278
48279 2005-07-02  Jim Meyering  <jim@meyering.net>
48280
48281         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
48282         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
48283         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
48284         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
48285
48286 2005-07-02  Jim Meyering  <jim@meyering.net>
48287
48288         * lib/backupfile.c (backup_args): Change a `0' to NULL.
48289
48290 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
48291
48292         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
48293         declares only 'struct timespec;' (!).
48294
48295 2005-07-01  Jim Meyering  <jim@meyering.net>
48296
48297         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
48298         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
48299         * lib/save-cwd.c, tempname.c:
48300         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
48301         and don't include <sys/file.h>).
48302
48303 2005-06-29  Jim Meyering  <jim@meyering.net>
48304
48305         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
48306         type name.  Use the variable name instead.
48307         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
48308         Likewise.
48309
48310 2005-06-28  Simon Josefsson  <jas@extundo.com>
48311
48312         * modules/check-version (Files): Add check-version.m4.
48313
48314 2005-06-28  Simon Josefsson  <jas@extundo.com>
48315
48316         * m4/check-version.m4: New file, suggested by Jim Meyering
48317         <jim@meyering.net>.
48318
48319 2005-06-28  Simon Josefsson  <jas@extundo.com>
48320
48321         * lib/check-version.h, lib/check-version.c: New files.
48322
48323 2005-06-28  Simon Josefsson  <jas@extundo.com>
48324
48325         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
48326         collision with global variable.  Better indentation.  Don't
48327         increment buffer pointer beyond buffer end.  Based on comments
48328         from Paul Eggert <eggert@cs.ucla.edu>.
48329
48330         * lib/base64.h: Indent.
48331
48332 2005-06-28  Simon Josefsson  <jas@extundo.com>
48333
48334         * doc/gnulib.texi (Library version handling): New section.
48335
48336 2005-06-28  Jim Meyering  <jim@meyering.net>
48337
48338         * check-module (find_included_lib_files): Hard-code another
48339         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
48340         but modules/fts-lgpl (correctly) does not list those files.
48341
48342         * modules/canonicalize (Files): Add lib/pathmax.h.
48343
48344 2005-06-25  Simon Josefsson  <jas@extundo.com>
48345
48346         * modules/check-version: New file.
48347
48348 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
48349
48350         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
48351         initializer of struct addrinfo, as an indication that we don't
48352         care how many members the structure has.
48353
48354 2005-06-24  Derek Price  <derek@ximbiot.com>
48355         and Bruno Haible  <bruno@clisp.org>
48356
48357         Remove stat module & update lstat.
48358         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
48359         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
48360         * m4/stat.m4: Remove this file.
48361
48362 2005-06-24  Derek Price  <derek@ximbiot.com>
48363         and Bruno Haible  <bruno@clisp.org>
48364
48365         Remove stat module & update lstat.
48366         * lib/stat.c: Remove this file...
48367         (slash_aware_lstat): ...moving this content and its support...
48368         * lib/lstat.c (rpl_lstat): ...into here.
48369         * lib/lstat.h: New file.
48370
48371 2005-06-24  Derek Price  <derek@ximbiot.com>
48372         and Bruno Haible  <bruno@clisp.org>
48373
48374         Remove stat module & update lstat.
48375         * config/srclist.txt (libc sources): Remove stat.
48376
48377 2005-06-24  Derek Price  <derek@ximbiot.com>
48378         and Bruno Haible  <bruno@clisp.org>
48379
48380         Remove stat module & update lstat.
48381         * MODULES.html.sh (stat): Remove.
48382         * MODULES.html: Regenerated.
48383         * modules/lstat (Description): Correct function name.
48384         (Files): Add "lstat.h".
48385         (Depends-on): Remove stat, add xalloc, stat-macros.
48386         * modules/stat: Remove this file.
48387         (Include): Add "lstat.h", remove <sys/stat.h>.
48388
48389 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
48390
48391         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
48392         (ranged_convert): Don't save conversion in a temporary struct.
48393         This causes a warning with GCC 4.0.0, and anyway in the typical
48394         case it's not worth the extra 100 bytes or so of code.
48395         (ranged_convert, __mktime_internal): When calling a function via a
48396         pointer P, use P () rather than (*P) (), as we now assume C89 or
48397         better.
48398
48399 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
48400
48401         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
48402         "who -r" failed to give output.  Problem reported by Tim Waugh.
48403
48404         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
48405         (xcalloc): Use it to avoid needless tests.
48406         Problem reported by Jim Meyering.
48407
48408 2005-06-20  Derek Price  <derek@ximbiot.com>
48409
48410         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
48411         unnecessary for Autoconfs > 2.59c.
48412
48413 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
48414
48415         * lib/argp.h (__option_is_short): Check upper limit of
48416         __key. Isprint() requires its argument to have the value
48417         of an unsigned char or EOF.
48418
48419 2005-06-16  Jim Meyering  <jim@meyering.net>
48420
48421         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
48422         when either N or S is zero.
48423
48424 2005-06-16  Derek Price  <derek@ximbiot.com>
48425
48426         * m4/bison.m4: Declare YACC & YFLAGS precious.
48427
48428 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
48429
48430         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
48431         multibyte string or pattern, fall back on unibyte matching.
48432         Problem reported by James Youngman.
48433
48434 2005-06-08  Bruno Haible  <bruno@clisp.org>
48435
48436         * modules/csharpcomp: New file.
48437         * MODULES.html.sh (C#): Add csharpcomp.
48438
48439 2005-06-08  Bruno Haible  <bruno@clisp.org>
48440
48441         * m4/csharpcomp.m4: New file, from GNU gettext.
48442
48443 2005-06-08  Bruno Haible  <bruno@clisp.org>
48444
48445         * lib/csharpcomp.h: New file, from GNU gettext.
48446         * lib/csharpcomp.c: New file, from GNU gettext.
48447         * lib/csharpcomp.sh.in: New file, from GNU gettext.
48448
48449 2005-06-08  Bruno Haible  <bruno@clisp.org>
48450
48451         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
48452         warning on mingw.
48453
48454 2005-06-07  Derek Price  <derek@ximbiot.com>
48455
48456         Sync from CVS.
48457         * lib/glob_.h: Indent nested #ifdef.
48458
48459 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
48460
48461         Sync from coreutils.
48462         Use "file name" when talking about file names, instead of "filename"
48463         or "path", as per the GNU coding standards.
48464         * lib/mkdir-p.c: Renamed from makepath.c.
48465         (make_dir_parents): Renamed from make_path.  All callers changed.
48466         * lib/mkdir-p.h: Likewise.  All includers changed.
48467         * lib/filenamecat.c: Renamed from path-concat.c.
48468         (file_name_concat): Renamed from path_concat.  All callers changed.
48469         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
48470         * lib/filenamecat.h: Likewise.  All includers changed.
48471         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
48472         in comments or local variable names.
48473         * lib/basename.c: Likewise.
48474         * lib/canonicalize.c, canonicalize.h: Likewise.
48475         * lib/dirname.c, dirname.h: Likewise.
48476         * lib/euidaccess.c: Likewise.
48477         * lib/exclude.c: Likewise
48478         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
48479         * lib/fsusage.c, fsuage.h: Likewise.
48480         * lib/fts.c, fts_.h: Likewise.
48481         * lib/getcwd.c: Likewise.
48482         * lib/getloadavg.c: Likewise.
48483         * lib/mkstemp.c: Likewise.
48484         * lib/mountlist.c, mountlist.h: Likewise.
48485         * lib/openat.c, openat.h: Likewise.
48486         * lib/readlink-stub.c: Likewise.
48487         * lib/readutmp.c, readutmp.h: Likewise.
48488         * lib/rename.c: Likewise.
48489         * lib/rmdir.c: Likewise.
48490         * lib/same.c: Likewise.
48491         * lib/savedir.c: Likewise.
48492         * lib/stripslash.c: Likewise.
48493         * lib/tempname.c: Likewise.
48494         * lib/xreadlink.c: Likewise.
48495         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
48496         All uses changed.
48497         * lib/exclude.h: Likewise.
48498
48499         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
48500         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
48501         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
48502         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
48503         * lib/pathmax.h: Include <limits.h> unconditionally, since other
48504         files have been getting away with it for years (MORE/BSD 4.3
48505         is extinct now).
48506         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
48507         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
48508
48509         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
48510         Define to 256, not 255, as per modern POSIX.
48511
48512 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
48513
48514         Sync from coreutils.
48515         Use "file name" when talking about file names, instead of "filename"
48516         or "path", as per the GNU coding standards.
48517         * MODULES.html.sh: mkdir-p renamed from makepath.
48518         filenamecat renamed from path-concat.
48519         * modules/filenamecat: Renamed from modules/path-concat.
48520         (Files): filenamecat.h and filenamecat.c renamed from
48521         path-concat.h and path-concat.c.
48522         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
48523         (Include): filenamecat.h, not path-concat.h.
48524         * modules/mkdir-p: Renamed from modules/makepath.
48525         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
48526         makepath.c.
48527         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
48528         (Include): mkdir-p.h, not makepath.h.
48529
48530 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
48531
48532         Sync from coreutils.
48533         * m4/mkdir-p.m4: Renamed from makepath.m4.
48534         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
48535         Rename files from makepath.c to mkdir-p.c, and from
48536         makepath.h to mkdir-p.h.
48537         * m4/filenamecat.m4: Renamed from path-concat.m4.
48538         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
48539         Rename files from path-concat.c to filenamecat.c,
48540         and from path-concat.h to filenamecat.h.
48541         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
48542         "file name" in local variables or comments.
48543         * m4/rename.m4: Likewise.
48544
48545 2005-06-01  Bruno Haible  <bruno@clisp.org>
48546
48547         * modules/csharpexec: New file.
48548         * MODULES.html.sh (C#): New section.
48549
48550 2005-06-01  Bruno Haible  <bruno@clisp.org>
48551
48552         * m4/csharp.m4: New file, from GNU gettext.
48553         * m4/csharpexec.m4: New file, from GNU gettext.
48554
48555 2005-06-01  Bruno Haible  <bruno@clisp.org>
48556
48557         * lib/csharpexec.h: New file, from GNU gettext.
48558         * lib/csharpexec.c: New file, from GNU gettext.
48559         * lib/csharpexec.sh.in: New file, from GNU gettext.
48560
48561 2005-05-31  Derek Price  <derek@ximbiot.com>
48562             Paul Eggert  <eggert@cs.ucla.edu>
48563
48564         Sync from cvs.
48565         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
48566
48567 2005-05-31  Derek Price  <derek@ximbiot.com>
48568             Paul Eggert  <eggert@cs.ucla.edu>
48569
48570         Sync from cvs.
48571         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
48572
48573 2005-05-29  Derek Price  <derek@ximbiot.com>
48574
48575         * config/srclist.txt (glob_.h, glob.c): Add these files.
48576
48577 2005-05-29  Derek Price  <derek@ximbiot.com>
48578
48579         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
48580         * modules/glob: New file.
48581         * modules/getlogin_r: Add link to POSIX spec in description.
48582
48583 2005-05-29  Derek Price  <derek@ximbiot.com>
48584             Paul Eggert  <eggert@cs.ucla.edu>
48585
48586         * m4/glob.m4: New file.
48587
48588 2005-05-29  Derek Price  <derek@ximbiot.com>
48589             Paul Eggert  <eggert@cs.ucla.edu>
48590
48591         * lib/glob_.h, lib/glob.c: New files.
48592
48593 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
48594
48595         * modules/fts (Files): Remove m4/inttypes-pri.m4.
48596         * modules/fts-lgpl (Depends-on): Remove gettext.
48597
48598 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
48599
48600         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
48601         and don't require gt_INTTYPES_PRI.
48602
48603 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
48604
48605         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
48606
48607         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
48608         the configuration hassle isn't worth it.
48609         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
48610         (LONGEST_MODIFIER, PRIuMAX): Remove.
48611
48612 2005-05-27  Bruno Haible  <bruno@clisp.org>
48613
48614         * lib/getlogin_r.h: Remove second include of <stddef.h>.
48615
48616 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
48617
48618         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
48619         _POSIX_PTHREAD_SEMANTICS for Solaris.
48620
48621 2005-05-25  Derek Price  <derek@ximbiot.com>
48622
48623         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
48624
48625 2005-05-25  Derek Price  <derek@ximbiot.com>
48626             Paul Eggert  <eggert@cs.ucla.edu>
48627
48628         * modules/getlogin_r, m4/getlogin_r.m4: New files.
48629         * lib/getlogin_r.c, getlogin_r.h: New files.
48630
48631 2005-05-25  Bruno Haible  <bruno@clisp.org>
48632             Derek Price  <derek@ximbiot.com>
48633
48634         * lib/getlogin_r.h: Simplify API documentation.
48635
48636 2005-05-23  Derek Price  <derek@ximbiot.com>
48637
48638         * modules/minmax (Files): Add m4/minmax.m4.
48639         (configure.ac): Add gl_MINMAX.
48640
48641 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
48642
48643         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
48644         so that unistd-safer.h (GPL'ed code) need not be included.
48645
48646 2005-05-22  Bruno Haible  <bruno@clisp.org>
48647
48648         * m4/minmax.m4: New file.
48649         Based on a patch by Derek Price <derek@ximbiot.com>.
48650
48651 2005-05-22  Bruno Haible  <bruno@clisp.org>
48652
48653         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
48654         (INT64_MIN): Fix definition.
48655         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
48656
48657         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
48658         NEED_SIGNED_INT_TYPES.
48659
48660         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
48661         HAVE_SYSTEM_INTTYPES.
48662
48663 2005-05-22  Bruno Haible  <bruno@clisp.org>
48664
48665         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
48666         Also include <sys/param.h> if it defines MIN, MAX.
48667         Based on a patch by Derek Price <derek@ximbiot.com>.
48668
48669 2005-05-21  Jim Meyering  <jim@meyering.net>
48670
48671         * modules/fts (Files): Add m4/inttypes-pri.m4.
48672         (Depends-on): Add lstat and remove gettext.  Alphabetize.
48673
48674 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
48675
48676         New fts module.
48677         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
48678         (setup_dir, free_dir): New functions.
48679         (enter_dir, leave_dir): Define trivial
48680         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
48681         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
48682         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
48683         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
48684         Move to fts-cycle.c.
48685         (fts_open): Use setup_dir.
48686         (fts_close): Use free_dir.
48687         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
48688         This adds a label and some gotos, but the alternatives were messier.
48689         Check for memory allocation failure when entering a dir.
48690         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
48691         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
48692         (FTS): New member fts_cycle, that is a union that contains the
48693         old active_dir_ht and cycle_state.  All uses changed to mention
48694         fts_cycle.ht and fts_cycle.state.
48695         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
48696         fts.c, with the following changes:
48697         (setup_dir, free_dir): New functions.
48698         (enter_dir): Now returns bool.  Return true if successful, false
48699         if memory exhausted.  All callers changed.
48700         Do not bother partly cleaning up on
48701         memory allocation failure; that is free_dir's job.
48702         However, free ad if hash_insert fails, to avoid memory leak.
48703         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
48704         fts->fts_options to see which union member to use.
48705
48706 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
48707
48708         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
48709         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
48710
48711 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
48712
48713         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
48714
48715 2005-05-20  Jim Meyering  <jim@meyering.net>
48716
48717         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
48718         Now a macro, to pacify GCC.
48719
48720 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
48721
48722         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
48723         of -1.
48724
48725 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
48726
48727         * lib/chown.c (rpl_chown): Return -1 on failure.
48728
48729 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
48730
48731         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
48732         Don't check for stddef.h.
48733         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
48734         don't use its results.
48735         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
48736         since we include them unconditionally.  Don't require
48737         AM_STDBOOL_H, since stdbool is a prerequisite.
48738         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
48739         since we assume C89 or better.
48740         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
48741         as we don't use their results.
48742         Don't check for fchdir, memmove, memset, strrchr, as we use
48743         them unconditionally.
48744         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
48745         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
48746
48747 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
48748
48749         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
48750         Include <stddef.h> unconditionally, since we assume C89 now.
48751         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
48752         * lib/fts.c: Include fts_.h first, to check interface.
48753         Do not include intprops.h; no longer needed.
48754         Include cycle-check.h and hash.h, since fts_.h no longer does.
48755         Remove unnecessary casts of closedir to void.
48756         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
48757         decide whether to decrement nlinks.
48758         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
48759         (FTS): Use struct hash_table * instead of Hash_table, so that
48760         we no longer need to include hash.h here.
48761
48762 2005-05-18  Jim Meyering  <jim@meyering.net>
48763
48764         * modules/dirfd (License): Change to LGPL.  Most of the code
48765         is already in the public domain.
48766
48767 2005-05-18  Jim Meyering  <jim@meyering.net>
48768
48769         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
48770         Reported by Yoann Vandoorselaere.
48771
48772 2005-05-17  Jim Meyering  <jim@meyering.net>
48773
48774         * m4/fts.m4: New file, from coreutils.
48775
48776 2005-05-17  Jim Meyering  <jim@meyering.net>
48777
48778         * lib/fts.c, lib/fts_.h: New files, from coreutils.
48779
48780 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
48781
48782         Sync from coreutils.
48783         * m4/unlinkdir.m4: New file.
48784
48785 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
48786
48787         Sync from coreutils.
48788         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
48789         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
48790         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
48791         White space changes only.
48792         * lib/makepath.c (make_path): Port to hosts where leading "//" is
48793         special.
48794         * lib/yesno.c: Include getline.h, not ctype.h.
48795         (yesno): Don't remove leading white space; POSIX doesn't allow it.
48796         Use getline to remove arbitrary restriction on response length.
48797
48798 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
48799
48800         * config/srclist-update: Spell out "Street" in FSF postal
48801         mail address; this is the style the FSF seems to prefer.
48802
48803         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
48804         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
48805         this updates FSF postal mail address.
48806
48807         Sync from coreutils.
48808         * modules/unlinkdir: New file.
48809         * modules/yesno (Depends-on): Add getline.
48810         * MODULES.html.sh (File system functions): Add unlinkdir.
48811
48812 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
48813
48814         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
48815         lib/strsep.h:
48816         Change the initial comment to refer to GPL, not LGPL.
48817         gnulib-tool will change it to LGPL as needed.
48818
48819         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
48820         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
48821         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
48822         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
48823         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
48824         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
48825         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
48826         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
48827         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
48828         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
48829         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
48830         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
48831         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
48832         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
48833         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
48834         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
48835         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
48836         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
48837         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
48838         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
48839         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
48840         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
48841         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
48842         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
48843         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
48844         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
48845         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
48846         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
48847         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
48848         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
48849         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
48850         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
48851         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
48852         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
48853         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
48854         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
48855         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
48856         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
48857         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
48858         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
48859         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
48860         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
48861         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
48862         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
48863         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
48864         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
48865         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
48866         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
48867         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
48868         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
48869         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
48870         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
48871         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
48872         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
48873         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
48874         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
48875         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
48876         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
48877         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
48878         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
48879         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
48880         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
48881         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
48882         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
48883         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
48884         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
48885         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
48886         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
48887         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
48888         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
48889         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
48890         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
48891         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
48892         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
48893         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
48894         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
48895         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
48896         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
48897         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
48898         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
48899         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
48900         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
48901         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
48902         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
48903         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
48904         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
48905         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
48906         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
48907         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
48908         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
48909         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
48910         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
48911         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
48912         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
48913         lib/yesno.c, lib/yesno.h:
48914         Update FSF postal mail address.
48915
48916 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
48917
48918         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
48919         tests/test-memmem.c, tests/test-stpncpy.c:
48920         Update FSF postal mail address.
48921
48922 2005-05-13  Bruno Haible  <bruno@clisp.org>
48923
48924         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
48925         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
48926         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
48927         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
48928         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
48929         Add support for 64-bit integers in the MSVC compiler.
48930
48931 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
48932
48933         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
48934
48935 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
48936
48937         * gnulib-tool (func_import): Sort and uniquify recommended includes.
48938
48939 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
48940
48941         * doc/getdate.texi (General date syntax): Don't say that date
48942         date --iso-8601=ns generates acceptable dates; it doesn't yet.
48943         Problem reported by Nic Ferrier.
48944
48945 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48946
48947         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
48948         specified in ai_socktype. Fix invalid ai_protocol
48949         check. ai_protocol is usually set to 0 or depending on
48950         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
48951         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
48952         ai_socktype / ai_protocol in the returned addrinfo structure.
48953
48954 2005-05-10  Simon Josefsson  <jas@extundo.com>
48955
48956         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
48957         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
48958
48959 2005-05-10  Karl Berry  <karl@gnu.org>
48960
48961         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
48962         (from http://www.gnu.org/licenses).
48963         * doc/COPYING.LIB: also rename to COPYING.LESSER.
48964         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
48965         fdl.texi suffices.
48966
48967 2005-05-10  Karl Berry  <karl@gnu.org>
48968
48969         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
48970         (COPYING.DOC): remove.
48971
48972         * config/srclist-update: new FSF address.
48973
48974 2005-05-10  Derek Price  <derek@ximbiot.com>
48975
48976         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
48977         possible.
48978
48979 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48980             Bruno Haible  <bruno@clisp.org>
48981
48982         * modules/inet_ntop: New file.
48983         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
48984         inet_ntop.
48985
48986 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48987             Bruno Haible  <bruno@clisp.org>
48988
48989         * m4/inet_ntop.m4: New file.
48990
48991 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48992             Bruno Haible  <bruno@clisp.org>
48993
48994         * lib/inet_ntop.h: New file.
48995         * lib/inet_ntop.c: New file, from glibc with modifications.
48996
48997 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
48998
48999         * modules/time_r (License): Change to LGPL.
49000         * modules/extensions (License): Change to LGPL.  Actually,
49001         the license is more permissive than that, but currently gnulib-tool
49002         doesn't know how to handle more-permissive licenses.
49003
49004         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
49005         Problem reported by Dave Love.
49006
49007 2005-05-08  Jim Meyering  <jim@meyering.net>
49008
49009         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
49010         blank.
49011
49012 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
49013
49014         * modules/argmatch (Depends-on): Add stdbool.
49015         * modules/backupfile (Depends-on): Likewise.
49016         * modules/chdir-long (Depends-on): Likewise.
49017         * modules/closeout (Depends-on): Likewise.
49018         * modules/cycle-check (Depends-on): Likewise.
49019         * modules/dirname (Depends-on): Likewise.
49020         * modules/fnmatch (Depends-on): Likewise.
49021         * modules/fsusage (Depends-on): Likewise.
49022         * modules/fwriteerror (Depends-on): Likewise.
49023         * modules/getcwd (Depends-on): Likewise.
49024         * modules/getloadavg (Depends-on): Likewise.
49025         * modules/hard-locale (Depends-on): Likewise.
49026         * modules/makepath (Depends-on): Likewise.
49027         * modules/mountlist (Depends-on): Likewise.
49028         * modules/nanosleep (Depends-on): Likewise.
49029         * modules/posixtm (Depends-on): Likewise.
49030         * modules/quotearg (Depends-on): Likewise.
49031         * modules/readtokens (Depends-on): Likewise.
49032         * modules/readtokens0 (Depends-on): Likewise.
49033         * modules/readutmp (Depends-on): Likewise.
49034         * modules/save-cwd (Depends-on): Likewise.
49035         * modules/strftime (Depends-on): Likewise.
49036         * modules/userspec (Depends-on): Likewise.
49037         * modules/utimecmp (Depends-on): Likewise.
49038         * modules/xgetcwd (Depends-on): Likewise.
49039         * modules/xnanosleep (Depends-on): Likewise.
49040         * modules/xstrtod (Depends-on): Likewise.
49041         * modules/yesno (Depends-on): Likewise.
49042
49043 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
49044
49045         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
49046         needless checks.
49047
49048 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
49049
49050         Merge from coreutils.  Among other things,
49051         add bulletproofing for cases where stdin, stdout, or stderr are closed.
49052         * lib/fd-safer.c: New file.
49053         * lib/fcntl-safer.h, open-safer.c: Remove.
49054         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
49055         * lib/dup-safer.c: Include unistd-safer.h first.
49056         Don't include errno.h.
49057         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
49058         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
49059         * lib/file-type.c: Rely on file-type.h change.
49060         * lib/getloadavg.c: Include unistd-safer.h.
49061         (getloadavg): Use safer open.
49062         * lib/getusershell.c: Include "stdio-safer.h".
49063         (getusershell): Use safer fopen.
49064         * lib/long-options.c (long_options): Use NULL rather than 0.
49065         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
49066         'free'.
49067         * lib/modechange.c: Likewise.
49068         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
49069         (MODE_DONE): New constant.
49070         (struct mode_change): Remove 'next' member.
49071         (make_node_op_equals): New function; like the old one of the
49072         same name, except it allocates an array.
49073         (mode_compile, mode_create_from_ref): Use it.
49074         (mode_compile): Allocate result as an array, not a linked list.
49075         Parse octal string ourself, so that we catch mistakes like "+0".
49076         (mode_adjust): Arg is an array, not a linked list.
49077         * lib/modechange.c: Include stat-macros.h, xalloc.h.
49078         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
49079         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
49080         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
49081         Remove.  This is now stat-macros.h's job.
49082         (talloc): Remove.  All callers replaced by xalloc, so that
49083         our invokers don't have to worry about reporting memory failures.
49084         (make_node_op_equals): Remove.
49085         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
49086         New constants.
49087         (struct mode_change): Moved here from modechange.h.
49088         (mode_append_entry): Remove.
49089         (mode_compile): Remove MASKED_OPS arg, since it encouraged
49090         apps to have incorrect behavior.  Use simpler algorithm for head
49091         and tail.  Don't futz with umask; that's now the job of mode_adjust.
49092         Detect more invalid usages rather than having somewhat-random behavior.
49093         Don't insert an "a=" action, as that leads to incorrect behavior.
49094         (mode_compile, mode_create_from_ref): Return NULL on error instead
49095         of an enum, since now there's only one way to have an error.  All
49096         callers changed.
49097         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
49098         at the correct time.  Simplify calculation of "+u" and its ilk.
49099         Don't mishandle "+X".
49100         (mode_free): Remove "register" and localize decls.
49101         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
49102         (struct mode_change): Move to modechange.c; callers don't
49103         need to see this stuff.
49104         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
49105         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
49106         (mode_change, mode_adjust): Reflect the new signatures noted above.
49107         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
49108         that might redefine system include files.
49109         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
49110         (my_usleep): Use NULL rather than (void *) 0.
49111         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
49112         Use siginterrupt to specify that system calls should be interrupted.
49113         (rpl_nanosleep): Move initialization of suspended closer to call of
49114         my_usleep.
49115         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
49116         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
49117         (desirable_utmp_entry): New function.
49118         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
49119         using x2nrealloc, to simplify logic.
49120         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
49121         size calculation.  Do not assume utmp file is a regular file.
49122         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
49123         (READ_UTMP_CHECK_PIDS): New constant.
49124         * lib/save-cwd.c: Include unistd-safer.h.
49125         (save_cwd): Use fd_safer.
49126         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
49127         [!_LIBC] Include "stat-macros.h" instead.
49128         * lib/unistd-safer.h (fd_safer): New decl.
49129
49130 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
49131
49132         * modules/getloadavg (Depends-on): Add unistd-safer.
49133         * modules/getusershell (Depends-on): Add stdio-safer.
49134         * modules/lstat (Depends-on): Remove xalloc.
49135         * modules/mkstemp (Depends-on): Add stat-macros.
49136         * modules/modechange (Depends-on): Remove xstrtol.
49137         Add stat-macros, xalloc.
49138         * modules/save-cwd (Depends-on): Add unistd-safer.
49139         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
49140         * modules/unistd-safer (Files): Add lib/fd-safer.c
49141         (Makefile.am): Remove lib_SOURCES.
49142
49143         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
49144         Remove fcntl-safer; unistd-safer supersedes it.
49145
49146 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
49147
49148         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
49149         AC_HEADER_STAT.
49150         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
49151         (gl_PREREQ_CHOWN): Remove.
49152         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
49153         it.  Don't require AC_HEADER_STAT.
49154         (gl_PREREQ_LSTAT): Remove.
49155         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
49156         Don't require AC_HEADER_STAT.
49157         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
49158         (gl_PREREQ_RMDIR): Remove.
49159         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
49160         mention stat-macros.h or AC_HEADER_STAT, since we'll make
49161         the stat-macros module a prerequisite.
49162         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
49163         * m4/filemode.m4 (gl_FILEMODE): Likewise.
49164         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
49165         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
49166         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
49167         variable names.
49168         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
49169         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
49170         variable prefixes.
49171         * m4/fcntl-safer.m4: Remove.
49172         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
49173         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
49174         Invoke gl_PREREQ_FD_SAFER.
49175         (gl_PREREQ_FD_SAFER): New macro.
49176         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
49177         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
49178         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
49179         Remove duplicate call to AC_LIBOBJ(readutmp).
49180         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
49181
49182         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
49183         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
49184
49185 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
49186
49187         * MODULES.html.sh (Misc): Add byteswap.
49188
49189 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
49190
49191         * modules/getcwd (Depends-on): Add extensions.
49192         * modules/openat (Depends-on): Likewise.
49193
49194 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
49195
49196         * modules/byteswap: New file.
49197
49198 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
49199
49200         * m4/byteswap.m4: New file.
49201
49202 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
49203
49204         * lib/byteswap_.h: New file.
49205
49206 2005-04-25  Karl Berry  <karl@gnu.org>
49207
49208         * m4/gettext.m4: Update from GNU gettext 0.14.4.
49209
49210 2005-04-25  Albert Chin  <china@thewrittenword.com>
49211
49212         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
49213         Toolkit C bug.
49214
49215 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
49216
49217         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
49218         (func_ln_if_changed) Remove forcibly for no error message
49219         in case file does not exist.
49220
49221 2005-04-19  Simon Josefsson  <jas@extundo.com>
49222
49223         * gnulib-tool (Options): Make --symlink mean --symbolic.
49224
49225 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
49226
49227         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
49228
49229 2005-04-16  Simon Josefsson  <jas@extundo.com>
49230
49231         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
49232
49233 2005-04-15  Simon Josefsson  <jas@extundo.com>
49234
49235         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
49236
49237 2005-04-15  Simon Josefsson  <jas@extundo.com>
49238
49239         * gnulib-tool: Rename --symlink to --symbolic.
49240
49241 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
49242
49243         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
49244         symbolic links to files instead of copying/moving.  Add --aux-dir,
49245         specifying directory relative --dir where auxiliary build tools
49246         are placed.
49247
49248 2005-04-14  Bruno Haible  <bruno@clisp.org>
49249
49250         * modules/allocsa (License): Change to LGPL.
49251         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
49252
49253 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
49254
49255         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
49256         that "UTC +1 second" continues to work.  Problem reported
49257         by Dmitry V. Levin.
49258         (relunit_snumber): New rule.
49259         (relunit): Use it.
49260
49261 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
49262
49263         * lib/getdate.y (universal_time_zone_table): New constant.
49264         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
49265         universal_time_zone_table.
49266         (lookup_zone): Prefer universal_time_zone_table to
49267         local_time_zone_table, so that "GMT" time stamps are allowed in
49268         London during the summer.  Problem reported by Ian Abbott.
49269
49270 2005-04-12  Jim Meyering  <jim@meyering.net>
49271
49272         * lib/human.c (humblock): Set *options even when returning due to
49273         xstrtoumax conversion failure.  Thanks to a used-uninitialized
49274         warning from gcc-4.
49275
49276 2005-04-09  Jim Meyering  <jim@meyering.net>
49277
49278         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
49279         -Wuninitialized: initialize tm0.tm_year.
49280
49281 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
49282
49283         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
49284         count, since there's no maximum.  All uses changed.
49285         Add member dsts_seen.
49286         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
49287         not being INT_MAX.
49288         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
49289         Use pc_rels_seen to decide whther a date is absolute.
49290
49291         * lib/getdate.y (number): Don't overwrite year.
49292         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
49293         check.
49294
49295 2005-04-02  Simon Josefsson  <jas@extundo.com>
49296
49297         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
49298         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
49299
49300 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
49301
49302         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
49303         where no absolute path name can be longer than PATH_MAX.
49304
49305 2005-03-27  Jim Meyering  <jim@meyering.net>
49306
49307         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
49308
49309 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
49310
49311         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
49312         "one's complement" -> "ones' complement" in comment, as per Knuth.
49313         "value of type" -> "type or expression" in comment.
49314         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
49315
49316 2005-03-26  Jim Meyering  <jim@meyering.net>
49317
49318         Comment nits.
49319         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
49320         Correct typos: s/or/of/.
49321
49322 2005-03-26  Jim Meyering  <jim@meyering.net>
49323
49324         * modules/check-include-files: Move to ../ and rename to...
49325         * check-module: ...this.
49326
49327 2005-03-25  Jim Meyering  <jim@meyering.net>
49328
49329         * modules/xvasprintf (Files): Add xalloc.h.
49330
49331 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
49332
49333         * modules/gettext (Files): config/config.rpath ->
49334         build-aux/config.rpath
49335         * modules/iconv (Files): Likewise.
49336         Problem reported by Oskar Liljeblad.
49337
49338 2005-03-23  Jim Meyering  <jim@meyering.net>
49339
49340         * modules/check-include-files: New script to check for
49341         missing dependencies, multiple includes, etc.
49342
49343         * modules/c-strtold (Depends-on): Add xalloc.
49344         * modules/c-strtod (Depends-on): Add xalloc.
49345         * modules/hash (Depends-on): Add xalloc.
49346         (Files): Remove lib/xalloc.h.
49347
49348         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
49349         * modules/userspec (Files): Add lib/inttostr.h.
49350
49351 2005-03-23  Jim Meyering  <jim@meyering.net>
49352
49353         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
49354
49355 2005-03-22  Jim Meyering  <jim@meyering.net>
49356
49357         * modules/stat-macros: New module.
49358         * modules/canonicalize, modules/euidaccess, modules/file-type,
49359         * modules/filemode, modules/lchown, modules/makepath,
49360         * modules/rmdir, modules/stat: Depend on new stat-macros module
49361         rather than listing lib/stat-macros.h manually.
49362         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
49363
49364 2005-03-22  Jim Meyering  <jim@meyering.net>
49365
49366         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
49367
49368 2005-03-22  Bruno Haible  <bruno@clisp.org>
49369
49370         * config/srclist.txt: Replace target directory 'config' with
49371         'build-aux'.
49372         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
49373         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
49374         ../build-aux/.
49375
49376 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
49377
49378         * modules/chdir-long (Depends-on): Add mempcpy.
49379
49380         * modules/acl, modules/backupfile, modules/c-strtod,
49381         modules/c-strtold, modules/canon-host, modules/canonicalize,
49382         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
49383         modules/exclude, modules/exitfail, modules/file-type,
49384         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
49385         modules/getdate, modules/getline, modules/getpagesize,
49386         modules/getpass, modules/getugroups, modules/group-member,
49387         modules/hard-locale, modules/hash, modules/human, modules/idcache,
49388         modules/inttostr, modules/long-options, modules/makepath,
49389         modules/md5, modules/memcasecmp, modules/memcoll,
49390         modules/modechange, modules/mountlist, modules/path-concat,
49391         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
49392         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
49393         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
49394         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
49395         modules/strftime, modules/strndup, modules/strverscmp,
49396         modules/timespec, modules/unlocked-io, modules/userspec,
49397         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
49398         modules/yesno:
49399         Remove lib_SOURCES line from Makefile.am section, as this is now
49400         done automatically by the corresponding Autoconf macro.
49401
49402 2005-03-21  Jim Meyering  <jim@meyering.net>
49403
49404         Changes imported from coreutils.
49405
49406         * lib/cycle-check.c: Don't include xalloc.h.
49407
49408         * lib/path-concat.c: Don't include assert.h.
49409         (path_concat): Remove assertion that would have triggered
49410         for ABASE starting with more than one slash.
49411         Reported by Andreas Schwab.
49412
49413         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
49414         properly when ABASE is an absolute file name.
49415         Correct the description of this function.
49416         Include <assert.h>.
49417         Add an assertion and a test driver.
49418         This fixes a bug introduced on 2004-07-02.
49419         Andreas Schwab reported the resulting failure of cp --parents:
49420         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
49421
49422 2005-03-21  Jim Meyering  <jim@meyering.net>
49423
49424         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
49425         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
49426
49427 2005-03-21  Jim Meyering  <jim@meyering.net>
49428         and  Paul Eggert  <eggert@cs.ucla.edu>
49429
49430         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
49431         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
49432         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
49433         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
49434         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
49435         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
49436         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
49437         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
49438         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
49439         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
49440         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
49441         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
49442         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
49443         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
49444         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
49445         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
49446         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
49447         for these modules.
49448
49449 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
49450
49451         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
49452         (which shouldn't happen), generate nothing instead of returning 0
49453         immediately, so that nstrftime (NULL, ...) doesn't return 0.
49454
49455 2005-03-16  Bruno Haible  <bruno@clisp.org>
49456
49457         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
49458         HAVE_LONGLONG_64BIT.
49459
49460 2005-03-16  Bruno Haible  <bruno@clisp.org>
49461
49462         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
49463         HAVE_LONGLONG_64BIT.
49464
49465 2005-03-16  Bruno Haible  <bruno@clisp.org>
49466
49467         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
49468         HAVE_LONGLONG_64BIT.
49469
49470 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
49471
49472         * lib/strftime.c (my_strftime): Prepend space to format so that we can
49473         reliably distinguish strftime failure from empty output on POSIX
49474         hosts.
49475
49476 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
49477
49478         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
49479         (iconv_string): Don't guess a size-zero buffer, as that might cause
49480         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
49481         result would be 'too large', where 'too large' is (heuristically)
49482         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
49483         overflow concerns.  This will prevent some unwanted malloc failures
49484         when the inputs are very large.
49485
49486 2005-03-15  Karl Berry  <karl@gnu.org>
49487
49488         * config/srclist.txt (config.rpath): from gettext.
49489         * config/config.rpath: update.
49490
49491 2005-03-15  Bruno Haible  <bruno@clisp.org>
49492
49493         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
49494         to 'negate'.
49495
49496         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
49497         variable.
49498
49499         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
49500         results.
49501
49502 2005-03-14  Simon Josefsson  <jas@extundo.com>
49503
49504         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
49505         <fx@gnu.org>.
49506
49507 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
49508
49509         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
49510         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
49511         intprops.h.
49512         * lib/strtol.c: Likewise.
49513
49514 2005-03-14  Jim Meyering  <jim@meyering.net>
49515
49516         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
49517         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
49518         to be nonzero so that we (and caller) can detect the difference
49519         between a valid zero-length expansion and an error return, even
49520         when the underlying strftime fails before writing anything into
49521         that location.
49522
49523 2005-03-14  Bruno Haible  <bruno@clisp.org>
49524
49525         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
49526         Update from GNU gettext 0.14.3.
49527
49528 2005-03-10  Jim Meyering  <jim@meyering.net>
49529
49530         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
49531
49532 2005-03-10  Jim Meyering  <jim@meyering.net>
49533
49534         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
49535         so that this module works on systems without fchdir.
49536
49537 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
49538
49539         Factor int-properties macros into a single file, except for
49540         glibc-related files.
49541         * lib/intprops.h: New file.
49542         * lib/getloadavg.c: Include it instead of limits.h.
49543         (INT_STRLEN_BOUND): Remove.
49544         * lib/human.c: Include intprops.h.
49545         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
49546         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
49547         302/1000.
49548         * lib/inttostr.h: Include intprops.h instead of limits.h.
49549         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
49550         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
49551         for consistency with intprops.h.
49552         (time_t_is_integer, twos_complement_arithmetic): Use them.
49553         * lib/sig2str.h: Include <signal.h>, intprops.h.
49554         (INT_STRLEN_BOUND): Remove.
49555         * lib/strftime.c (TYPE_SIGNED): Remove.
49556         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
49557         * lib/strtol.c: Adjust comments to match intprops.h.
49558         * lib/userspec.c: Include intprops.h.
49559         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
49560         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
49561         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
49562         instead of rolling our own expressions.
49563         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
49564
49565         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
49566         instead of int.
49567         (my_strftime): Do not mishandle years close to INT_MAX, by doing
49568         the right thing even if adding 1900 would overflow.  Similarly
49569         for tm_mon + 1 and tm_yday + 1.
49570         Make %Y always equivalent to %C%y, and similarly for %G and %g.
49571         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
49572         (DO_SIGNED_NUMBER): New macro.
49573         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
49574
49575 2005-03-07  Bruno Haible  <bruno@clisp.org>
49576
49577         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
49578
49579 2005-03-07  Bruno Haible  <bruno@clisp.org>
49580
49581         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
49582
49583 2005-03-04  Derek R. Price  <derek@ximbiot.com>
49584
49585         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
49586         (func_import): Only replace files via --import when they have actually
49587         changed.
49588
49589 2005-03-03  Derek R. Price  <derek@ximbiot.com>
49590
49591         * m4/mmap-anon.m4: New file.
49592         * m4/pagealign_alloc.m4: New file.
49593
49594 2005-03-03  Derek R. Price  <derek@ximbiot.com>
49595             Bruno Haible  <bruno@clisp.org>
49596
49597         * modules/pagealign_alloc: New file.
49598         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
49599
49600 2005-03-03  Derek R. Price  <derek@ximbiot.com>
49601             Bruno Haible  <bruno@clisp.org>
49602
49603         * lib/pagealign_alloc.h: New file.
49604         * lib/pagealign_alloc.c: New file.
49605
49606 2005-03-03  Bruno Haible  <bruno@clisp.org>
49607
49608         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
49609         Use an all-permissive copyright notice, recommended by RMS.
49610
49611 2005-03-02  Bruno Haible  <bruno@clisp.org>
49612
49613         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
49614         of AIX, the replacement has to be done only after <string.h> is
49615         included, therefore not in config.h. stpncpy.h does the replacement,
49616         and stpncpy.c uses it.
49617
49618 2005-03-02  Bruno Haible  <bruno@clisp.org>
49619
49620         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
49621         stpncpy.c uses it.
49622
49623 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
49624
49625         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
49626         The workaround isn't strictly needed for POSIX conformance, and
49627         it's too much of a pain to configure and maintain.  We'll ask
49628         people to fix their kernels instead.
49629         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
49630         (NANOSLEEP_BUG_WORKAROUND): Remove.
49631         (xnanosleep): Remove the workaround.
49632
49633 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
49634
49635         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
49636         Reported by Derek Price.
49637         (Include): Add "timespec.h".
49638
49639         * modules/xnanosleep (Depends-on): Remove gethrxtime.
49640
49641 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
49642
49643         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
49644         to detect nanosleep bug.
49645
49646 2005-03-01  Bruno Haible  <bruno@clisp.org>
49647
49648         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
49649
49650 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
49651
49652         * modules/gethrxtime: New file.
49653         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
49654         (Depends-on): Add gethrxtime.
49655         (configure.ac): Add gl_XNANOSLEEP.
49656         (Makefile.am): Remove lib_SOURCES line.
49657
49658 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
49659
49660         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
49661         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
49662
49663 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
49664
49665         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
49666         * lib/timespec.h (gettime): Return void, since it always
49667         succeeds now.  All uses changed.
49668         * lib/gettime.c (gettime) Likewise.
49669         [HAVE_NANOTIME]: Prefer nanotime.
49670         Assume gettimeofday succeeds, as POSIX requires.
49671         Assime time () succeeds, since other code already does.
49672         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
49673         (timespec_subtract): Remove.
49674         (NANOSLEEP_BUG_WORKAROUND): New constant.
49675         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
49676         things considerably.  Use it only on GNU/Linux hosts, since the
49677         workaround shouldn't be needed elsewhere.
49678
49679 2005-02-24  Bruno Haible  <bruno@clisp.org>
49680
49681         * modules/gettext (Files): Add m4/glibc2.m4.
49682
49683 2005-02-24  Bruno Haible  <bruno@clisp.org>
49684
49685         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
49686         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
49687         * m4/progtest.m4:
49688         Update from GNU gettext 0.14.2.
49689         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
49690
49691 2005-02-24  Bruno Haible  <bruno@clisp.org>
49692
49693         * lib/localcharset.c: Update from GNU gettext 0.14.2.
49694         * lib/config.charset: Update from GNU gettext 0.14.2.
49695
49696 2005-02-24  Bruno Haible  <bruno@clisp.org>
49697
49698         * lib/gettext.h: Update from GNU gettext 0.14.2.
49699
49700 2005-02-23  Simon Josefsson  <jas@extundo.com>
49701
49702         * m4/iconvme.m4: New file.
49703
49704 2005-02-23  Jim Meyering  <jim@meyering.net>
49705
49706         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
49707         change.
49708         Thanks to Bruno Haible for catching it.
49709
49710 2005-02-22  Simon Josefsson  <jas@extundo.com>
49711
49712         * modules/iconvme: New file.
49713
49714         * MODULES.html.sh: Add iconvme.
49715
49716 2005-02-22  Simon Josefsson  <jas@extundo.com>
49717
49718         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
49719
49720 2005-02-22  Simon Josefsson  <jas@extundo.com>
49721
49722         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
49723
49724 2005-02-22  Jim Meyering  <jim@meyering.net>
49725
49726         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
49727         s/ifndef/ifdef/.
49728
49729 2005-02-20  Neil Conway  <neilc@samurai.com>
49730
49731         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
49732         returned by OSX/Darwin if the specified buffer is not large
49733         enough for the hostname.
49734
49735 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
49736
49737         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
49738         pass it to _help, otherwise the latter coredumps trying to
49739         dereference state.root_argp.
49740
49741 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
49742
49743         * modules/chdir-long (Depends-on): Add memrchr.
49744         * modules/memrchr (Files): Add lib/memrchr.h.
49745         (Include): "memrchr.h".
49746
49747 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
49748
49749         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
49750
49751 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
49752
49753         * lib/memrchr.h: New file.
49754         * lib/chdir-long.c: Include it.
49755         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
49756         Don't bother including stddef.h.
49757
49758 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
49759
49760         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
49761         inclusion.
49762         Include <sys/types.h>, for dev_t.
49763         (ME_DUMMY, ME_REMOTE): Move from here....
49764         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
49765         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
49766         Dmitry V. Levin.
49767         Include mountlist.h first, to test the interface.
49768
49769 2005-01-29  Bruno Haible  <bruno@clisp.org>
49770
49771         * lib/progname.c (program_name): Initialize.
49772         Needed when linking statically on MacOS X.
49773
49774 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
49775
49776         Sync from coreutils.
49777         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
49778         (Depends-on): Add c-strtod.
49779         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
49780
49781 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
49782
49783         Sync from coreutils.
49784         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
49785
49786         Remove files that are specific to coreutils.
49787         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
49788
49789 2005-01-28  Bruno Haible  <bruno@clisp.org>
49790
49791         * modules/javacomp: New file.
49792         * MODULES.html.sh (Java): Add javacomp.
49793
49794 2005-01-28  Bruno Haible  <bruno@clisp.org>
49795
49796         * m4/javacomp.m4: New file, from GNU gettext.
49797
49798 2005-01-28  Bruno Haible  <bruno@clisp.org>
49799
49800         * lib/javacomp.sh.in: New file, from GNU gettext.
49801         * lib/javacomp.h: New file, from GNU gettext.
49802         * lib/javacomp.c: New file, from GNU gettext.
49803
49804 2005-01-26  Simon Josefsson  <jas@extundo.com>
49805
49806         * lib/gai_strerror.c: Use GPL in header.
49807
49808 2005-01-26  Bruno Haible  <bruno@clisp.org>
49809
49810         * modules/javaexec: New file.
49811         * MODULES.html.sh (Java): Add javaexec.
49812
49813 2005-01-26  Bruno Haible  <bruno@clisp.org>
49814
49815         * m4/javaexec.m4: New file, from GNU gettext.
49816
49817 2005-01-26  Bruno Haible  <bruno@clisp.org>
49818
49819         * lib/javaexec.sh.in: New file, from GNU gettext.
49820         * lib/javaexec.h: New file, from GNU gettext.
49821         * lib/javaexec.c: New file, from GNU gettext.
49822
49823 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
49824
49825         * modules/lchown (Depends-on): Remove lchown.h
49826
49827 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
49828
49829         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
49830         must be defined if the header file was not found, in order
49831         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
49832
49833 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
49834
49835         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
49836         initializers for struct pentry_state.
49837         (__argp_error): Check return value of __asprintf
49838         (__argp_failure): Translate error message
49839
49840         * lib/argp-parse.c: Removed braces around the expansion of N_()
49841
49842 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
49843
49844         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
49845         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
49846         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
49847         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
49848         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
49849         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
49850         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
49851         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
49852         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
49853         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
49854         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
49855         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
49856         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
49857         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
49858         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
49859         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
49860         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
49861         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
49862         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
49863         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
49864         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
49865         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
49866         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
49867         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
49868         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
49869         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
49870         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
49871         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
49872         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
49873         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
49874         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
49875         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
49876         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
49877         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
49878         xstrtol.m4, xstrtoumax.m4, yesno.m4:
49879         Use an all-permissive copyright notice, recommended by RMS.
49880
49881 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
49882
49883         * modules/chdir-long (Depends-on): Remove mempcpy.
49884
49885 2005-01-21  Jim Meyering  <jim@meyering.net>
49886
49887         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
49888         same value as for Solaris 9.
49889
49890         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
49891         component length.  This included changing the parameter to be
49892         of type `char *' rather than `char const *'.
49893         * lib/chdir-long.h (chdir_long): Update prototype.
49894
49895         * lib/openat.c (fdopendir, fstatat): New functions.
49896         * lib/openat.h: Include headers required for use of DIR and struct
49897         stat.
49898         [AT_SYMLINK_NOFOLLOW]: Define.
49899         (fdopendir, fstatat): Add prototypes.
49900
49901 2005-01-21  Bruno Haible  <bruno@clisp.org>
49902
49903         * modules/classpath: New file.
49904         * MODULES.html.sh (Java): Add classpath.
49905
49906 2005-01-21  Bruno Haible  <bruno@clisp.org>
49907
49908         * lib/classpath.h: New file, from GNU gettext.
49909         * lib/classpath.c: New file, from GNU gettext.
49910
49911 2005-01-20  Simon Josefsson  <jas@extundo.com>
49912
49913         * modules/version-etc-fsf: New file.
49914
49915 2005-01-20  Simon Josefsson  <jas@extundo.com>
49916
49917         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
49918         * lib/version-etc.c: Remove version_etc_copyright.
49919         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
49920         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
49921
49922 2005-01-20  Simon Josefsson  <jas@extundo.com>
49923
49924         * lib/base64.h (isbase64): Add.
49925
49926         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
49927         using a unsigned prototype, don't inline.
49928         (base64_decode): Use it.
49929
49930 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
49931
49932         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
49933         it.
49934
49935 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
49936
49937         * lib/save-cwd.c (save_cwd): Remove code to support the case
49938         where fchdir is missing or flaky.
49939
49940 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
49941
49942         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
49943
49944 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
49945
49946         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
49947         AC_LIBSOURCES now does this.
49948         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
49949         with new ullong_max module.
49950
49951 2005-01-19  Bruno Haible  <bruno@clisp.org>
49952
49953         * modules/sh-quote: New file.
49954         * MODULES.html.sh (Executing programs): Add sh-quote.
49955
49956 2005-01-19  Bruno Haible  <bruno@clisp.org>
49957
49958         * lib/sh-quote.h: New file, from GNU gettext.
49959         * lib/sh-quote.c: New file, from GNU gettext.
49960
49961 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
49962
49963         Merge from coreutils.
49964         * m4/ullong_max.m4: New file.
49965         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
49966         (gl_MACROS): Assume localeconv exists.
49967
49968 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
49969
49970         Merge changes from coreutils, as described below in several
49971         changelogs dated today.
49972
49973         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
49974         (O_DIRECTORY): Remove; not needed here, since "." must be
49975         a directory.  All uses removed.
49976         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
49977         universal on Suns, and we also need to test for IRIX.
49978         Revamp code to use 'if' rather than '#if'.
49979         Avoid unnecessary comparison of cwd->desc to 0.
49980
49981         * lib/utimens.c (futimens): Robustify the previous patch, by checking
49982         for known valid error numbers rather than observed invalid ones.
49983
49984 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
49985
49986         * modules/ullong_max: New file.
49987
49988         * modules/chdir-long, modules/openat: New files.
49989         * modules/save-cwd (Depends-on): Depend on chdir-long.
49990         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
49991
49992 2005-01-18  Jim Meyering  <jim@meyering.net>
49993
49994         Merge from coreutils.
49995         * m4/chdir-long.m4, m4/openat.m4: New files.
49996         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
49997         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
49998         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
49999         is sane and DOES follow symlinks.  Besides, testing 20 different
50000         systems found no broken chown implementations.
50001         Prompted by a change in rsync's copy of this macro.
50002         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
50003
50004         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
50005
50006         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
50007         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
50008         NULL-means-set-to-current-time semantics.
50009         Remove temporary file immediately, rather than waiting
50010         for configure's at-exit trap code to do it.
50011
50012 2005-01-18  Jim Meyering  <jim@meyering.net>
50013
50014         * lib/version-etc.c (version_etc_copyright): Update copyright date.
50015
50016         * lib/utimens.c (futimens): Account for the fact that futimes
50017         can also fail with errno == ENOSYS or errno == ENOENT.
50018         Patch from Dmitry V. Levin.
50019
50020         Change the name of the robust chdir function from chdir to chdir_long.
50021         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
50022         (restore_cwd): Use chdir_long, not chdir.
50023         * lib/chdir-long.c: Renamed from chdir.c.
50024         * lib/chdir-long.h: Renamed from chdir.h.
50025         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
50026         Hurd.
50027
50028 2005-01-18  Bruno Haible  <bruno@clisp.org>
50029
50030         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
50031         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
50032         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
50033         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
50034         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
50035         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
50036         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
50037         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
50038         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
50039         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
50040         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
50041         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
50042         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
50043         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
50044         Use an all-permissive copyright notice, recommended by RMS.
50045
50046 2005-01-18  Bob Proulx  <bob@proulx.com>
50047
50048         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
50049         simplify offsetof() macro construct to avoid compile failure with
50050         native HP-UX 11.0 ANSI C compiler.
50051
50052 2005-01-17  Bruno Haible  <bruno@clisp.org>
50053
50054         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
50055         redundant because stpncpy.m4 takes care of it.
50056
50057 2005-01-17  Bruno Haible  <bruno@clisp.org>
50058
50059         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
50060
50061 2005-01-17  Bruno Haible  <bruno@clisp.org>
50062
50063         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
50064         used.
50065
50066 2005-01-17  Bruno Haible  <bruno@clisp.org>
50067
50068         * lib/fwriteerror.h (fwriteerror): Change specification to include
50069         fclose.
50070         * lib/fwriteerror.c: Include <stdbool.h>.
50071         (fwriteerror): At the end, close the file stream. Record whether
50072         stdout was already closed.
50073
50074 2005-01-17  Bruno Haible  <bruno@clisp.org>
50075
50076         * lib/execute.c (environ): Declare if needed.
50077         * lib/pipe.c (environ): Likewise.
50078         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
50079
50080 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
50081
50082         * modules/argp: Depend on vsnprintf
50083
50084 2005-01-10  Jim Meyering  <jim@meyering.net>
50085
50086         * modules/closeout (Depends-on): Add atexit.
50087
50088 2005-01-06  Bruno Haible  <bruno@clisp.org>
50089
50090         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
50091
50092 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
50093
50094         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
50095         definitions to be after all include files, to avoid collisions.
50096         Problem reported by Bob Proulx.
50097
50098 2005-01-04  Jim Meyering  <jim@meyering.net>
50099
50100         Changes imported from coreutils.
50101         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
50102         as the mkstemp template, use a temporary directory and an
50103         8.3-friendly template to avoid trouble on systems like DJGPP.
50104         Reported by Juan M. Guerrero via Stepan Kasal.
50105         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
50106         close. Remove the temporary directory right away, rather than waiting
50107         for configure's at-exit trap code to do it.
50108         Suggestion from Stepan Kasal.
50109
50110 2005-01-01  Simon Josefsson  <jas@extundo.com>
50111
50112         * gnulib-tool: Print #include directives when --import'ing.
50113
50114 2004-12-28  Simon Josefsson  <jas@extundo.com>
50115
50116         * tests/test-base64.c: Include required header files.  Remove
50117         unused variables.
50118
50119 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
50120
50121         * modules/error (Depends-on): Remove gettext.
50122
50123 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
50124
50125         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
50126         not needed.  This removes a dependency on the gettext module.
50127         [defined _LIBC]: Do not include <libintl.h>; not needed.
50128
50129 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
50130
50131         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
50132         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
50133
50134 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
50135
50136         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
50137         HAVE_DECL_STRTOLD.
50138
50139 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
50140
50141         * modules/getdate (Depends-on): Remove alloca-opt.
50142
50143 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
50144
50145         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
50146
50147 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
50148
50149         * lib/argp-parse.c: Include <stddef.h>.
50150         (alignof, alignto): New macros.
50151         (parser_init): Don't assume that void * is aligned sufficiently
50152         for struct option.
50153
50154         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
50155         need to extend the stack.
50156         (YYINITDEPTH): New macro, so that the initial stack isn't overly
50157         large.
50158
50159 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
50160
50161         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
50162
50163 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
50164
50165         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
50166         (2004-10-24) change.  Apparently this was a false alarm.
50167
50168         * modules/getdate: Depend on alloca-opt, not alloca.
50169
50170 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
50171
50172         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
50173         Remove now-obsolete comment about AIX.
50174         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
50175         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
50176         (YYMAXDEPTH): New macro.
50177
50178 2004-12-18  Simon Josefsson  <jas@extundo.com>
50179
50180         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
50181
50182 2004-12-18  Bruno Haible  <bruno@clisp.org>
50183
50184         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
50185
50186 2004-12-18  Bruno Haible  <bruno@clisp.org>
50187
50188         * lib/fatal-signal.c (fatal_signals): Make non-const.
50189         (init_fatal_signals): New function.
50190         (uninstall_handlers, install_handlers): Ignore signals that were set to
50191         SIG_IGN.
50192         (at_fatal_signal): Call init_fatal_signals.
50193         (init_fatal_signal_set): Likewise. Ignore signals that were set to
50194         SIG_IGN.
50195         Reported by Paul Eggert.
50196
50197 2004-12-18  Bruno Haible  <bruno@clisp.org>
50198
50199         * doc/alloca.texi: New file.
50200         * doc/alloca-opt.texi: New file.
50201
50202 2004-12-17  Jim Meyering  <jim@meyering.net>
50203
50204         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
50205         Otherwise, install-sh could exit with improper exit status when
50206         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
50207
50208 2004-12-16  Simon Josefsson  <jas@extundo.com>
50209
50210         * tests/test-base64.c: Add license.
50211
50212 2004-12-15  Stepan Kasal  <address@hidden>
50213
50214         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
50215
50216 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
50217
50218         * modules/getcwd (Files): Add m4/d-ino.m4.
50219         Suggested by Mark D. Baushke.
50220
50221 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
50222
50223         * lib/getdate.y (textint): New member "negative".
50224         (time_zone_hhmm): New function.
50225         Expect 14 shift-reduce conflicts, not 13.
50226         (o_colon_minutes): New rule.
50227         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
50228         (yylex): Set the "negative" member of signed numbers.
50229
50230 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
50231
50232         * doc/getdate.texi (Time of day items, Time zone items):
50233         Describe new formats +00:00, UTC+00:00.
50234
50235 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
50236
50237         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
50238         spurious "-l"s.  Problem reported by Stepan Kasal.
50239
50240 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
50241
50242         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
50243         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
50244
50245 2004-12-04  Simon Josefsson  <jas@extundo.com>
50246
50247         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
50248         Vandoorselaere <yoann@prelude-ids.org>.
50249
50250 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
50251
50252         Changes imported from coreutils.
50253         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
50254         exist.
50255         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
50256
50257 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
50258
50259         Changes imported from coreutils.
50260         * lib/hard-locale.c: Assume <locale.h> exists.
50261         Include "strdup.h".
50262         (GLIBC_VERSION): New macro.
50263         (hard_locale): Assume setlocale exists.
50264         Rewrite to avoid #ifdef.
50265         Use strdup rather than malloc + strcpy.
50266         * lib/human.c: Assume <locale.h> exists.
50267         (human_readable): Assume localeconv exists.
50268
50269 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
50270
50271         * modules/hard-locale (Depends-on): Add strdup.
50272
50273 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
50274
50275         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
50276         convert T2, not T.  (Imported from libc.)
50277
50278 2004-11-30  Simon Josefsson  <jas@extundo.com>
50279
50280         * modules/restrict (License): Change to LGPL.
50281
50282 2004-11-30  Simon Josefsson  <jas@extundo.com>
50283
50284         * m4/restrict.m4: Add copyright and copying conditions.
50285
50286 2004-11-30  Simon Josefsson  <jas@extundo.com>
50287
50288         * m4/base64.m4: New file.
50289
50290 2004-11-30  Simon Josefsson  <jas@extundo.com>
50291
50292         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
50293         base64.
50294
50295         * tests/test-base64.c: New file.
50296
50297         * modules/base64: New file.
50298
50299 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
50300
50301         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
50302         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
50303
50304         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
50305
50306 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
50307
50308         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
50309         (__getcwd.c): Don't restore errno; glibc doesn't.
50310         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
50311         first, falling back to our code only if its results look suspicious.
50312         Ensure that the resulting buffer is only as large as necessary.
50313
50314         * lib/readutmp.c: Include readutmp.h first.
50315         Include <errno.h>, since readutmp.h no longer does that.
50316         * lib/readutmp.h: Don't include <errno.h>,
50317         <sys/param.h>, <time.h>; not needed to establish interface.
50318         (errno): Remove decl.
50319         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
50320         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
50321         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
50322
50323 2004-11-28  Simon Josefsson  <jas@extundo.com>
50324
50325         * lib/base64.h, base64.c: New file.
50326
50327 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
50328
50329         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
50330
50331 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
50332
50333         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
50334         (Depends-on): Remove pathmax, same.  Add mempcpy.
50335         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
50336         (Makefile.am): Append getcwd.h to lib_SOURCES.
50337         (Include): Add getcwd.h.
50338         (Maintainer): Change from Jim Meyering to "all, glibc",
50339         since getdate now uses intended-for-glibc code.
50340         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
50341         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
50342
50343 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
50344
50345         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
50346         HP's ANSI C compiler.
50347         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
50348         Declaring int functions causes warnings on some modern systems and
50349         shouldn't be needed to compile on ancient ones.
50350         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
50351         defined.
50352
50353         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
50354         with the following changes.
50355         (__set_errno): Parenthesize properly.
50356         Include <stdbool.h>.
50357         (MIN, MAX, MATCHING_INO): New macros.
50358         (__getcwd): Define with prototype, not K&R form.
50359         Use heuristics to allocate default buffer on stack if possible.
50360         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
50361         behavior, and to avoid the PATH_MAX limit when computing
50362         ../../../../...
50363         Use MATCHING_INO to compare inode number to file.
50364         Check for arithmetic overflow in size calculations.
50365         Fix bug in reallocation of dot array that caused getcwd to fail
50366         on directories nested deeper than 75.
50367         Be more careful about saving errno on error.
50368         Do not use realloc; use only free+malloc, as this is a bit
50369         more flexible and avoids a needless copy operation.
50370         Do not inspect st_dev and st_ino for symbolic links; POSIX
50371         doesn't specify the latter.
50372         Check for closedir errors.
50373         Avoid needless casts.
50374         Use "#ifdef weak_alias" around weak_alias, to be like other
50375         glibc code.
50376         The following changes to getcwd.c have effect only when used in
50377         gnulib; they have no effect inside glibc proper.
50378         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
50379         as alloca isn't used.
50380         (alloca, __alloca): Likewise.
50381         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
50382         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
50383         unconditionally, as gnulib assumes C89 or better.
50384         Do not include <sys/param.h>.
50385         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
50386         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
50387         better.
50388         (NULL) [!defined NULL]: Remove; we assume C89 or better.
50389         Include <dirent.h> in a way that is compatible with modern Autoconf.
50390         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
50391         New macros, if not already defined.
50392         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
50393         Use "_LIBC", not "defined _LIBC", for consistency.
50394         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
50395         a mempcpy module.
50396         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
50397         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
50398         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
50399         credit only to Jim Meyering and adjust the copyright dates.
50400         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
50401         <stdlib.h>, <unistd.h>, "pathmax.h".
50402         Instead, include "xgetcwd.h" (first) and "getcwd.h".
50403         (INITIAL_BUFFER_SIZE): Remove.
50404         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
50405
50406 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
50407
50408         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
50409         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
50410         Use the _ONCE methods, for efficiency.
50411         Check for fcntl.h.  In test program, include <errno.h>
50412         and <fcntl.h> if available.  Remove old K&R cruft from
50413         test program.  Check for common errors in GNU/Linux,
50414         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
50415         don't do AC_LIBOBJ, as that's getcwd.m4's job.
50416         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
50417         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
50418         name accordingly.
50419         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
50420         accommodate new getcwd.c.
50421         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
50422         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
50423         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
50424         that's all we need now.
50425
50426 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
50427
50428         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
50429         argp-parse.c depends on getopt internals, that means we should
50430         always use our getopt, to be on the safe side.
50431         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
50432         order not to spoil the result of an eventual previous invocation
50433         of gl_GETOPT_SUBSTITUTE.
50434
50435 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
50436
50437         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
50438         redefinition warnings. To avoid them, include the defines
50439         in `#if !defined __need_getopt ... #endif'. The only place
50440         where __getopt_argv_const is used is in definitions
50441         of getopt_long and getopt_long_only below, which are as well
50442         protected by `#ifndef __need_getopt'.
50443         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
50444         __need_getopt after including <stdio.h> and <unistd.h> These
50445         headers might have defined it.
50446
50447 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
50448
50449         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
50450
50451 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
50452
50453         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
50454         (futimens): New function, which uses futimes if available.
50455         (futimens, utimens): Support timespec==NULL, with same semantics
50456         as utime and utimens.
50457         * lib/utimens.h (futimens): New decl.
50458
50459 2004-11-23  Jim Meyering  <jim@meyering.net>
50460
50461         * lib/getopt_.h: Remove trailing blanks.
50462
50463 2004-11-23  Jim Meyering  <jim@meyering.net>
50464
50465         * lib/__fpending.c: Add comment.
50466
50467 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
50468
50469         * modules/canonicalize (Depends-on): Add xreadlink.
50470         Problem reported by James Youngman.
50471
50472 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
50473
50474         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
50475         New macros.
50476         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
50477         optopt): Use them instead of invoking ## directly; otherwise, the
50478         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
50479
50480 2004-11-19  Bruno Haible  <bruno@clisp.org>
50481
50482         * lib/strtok_r.c: Move comments from here...
50483         * lib/strtok_r.h: ... to here.
50484
50485 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
50486
50487         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
50488         implementations that mishandle size_t overflow.
50489
50490 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
50491
50492         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
50493         might fail.  Problem reported by Yoann Vandoorselaere.
50494         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
50495         implementations that mishandle size_t overflow.
50496
50497 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
50498
50499         * modules/canon-host (Depends-on): Add strdup.
50500
50501 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
50502
50503         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
50504
50505 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
50506
50507         * lib/canon-host.c: Include "strdup.h".
50508         (canon_host): Use getaddrinfo if available, so that IPv6 works.
50509         Use strdup instead of malloc/strcpy to duplicate strings.
50510
50511         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
50512         (human_space_before_unit): New constant.
50513         * lib/human.c (human_readable): Support it.
50514
50515         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
50516         (xgetcwd): Set errno correctly when failing.
50517         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
50518         the failure is actually due to a PATH_MAX problem.
50519
50520         Further getopt changes to make it more likely that glibc will
50521         buy the changes back.
50522         * lib/getopt.c (POSIXLY_CORRECT): New constant.
50523         (getopt): Use it, so to preserve glibc semantic
50524         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
50525         when compiling for libc.
50526         * lib/getopt_.h (__getopt_argv_const): Bring it back.
50527         (getopt_long, getopt_long_only): Use it.
50528
50529         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
50530         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
50531         (getopt): Argv is now char * const *, as per standard.
50532         (_getopt_internal_r, _getopt_internal): Argv is now char **,
50533         not char *__getopt_argv_const *.
50534         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
50535         _getopt_long_only_r): Likewise.
50536         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
50537         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
50538         _getopt_long_r, _getopt_long_only_r): Likewise.
50539         * lib/getopt_.h (__getopt_argv_const): Remove.
50540         (getopt): Argv is now char * const *, as per standard.
50541
50542         * lib/getdate.y (tORDINAL): New token.
50543         (day, relunit): Allow it for relative times.
50544         (relative_time_table): Use tORDINAL for ordinals.
50545
50546 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
50547
50548         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
50549         Document that "second" isn't allowed as an ordinal number.
50550
50551 2004-11-16  Jim Meyering  <jim@meyering.net>
50552
50553         * modules/closeout (Depends-on): Add fpending.
50554
50555 2004-11-15  Jim Meyering  <jim@meyering.net>
50556
50557         * lib/closeout.c: Include "__fpending.h" once again.
50558         Include <stdbool.h>.
50559         (close_stdout): Don't fail just because stdout was closed initially,
50560         since some programs don't write to stdout in the normal course of
50561         operation (other than --version and --help), and we don't want this
50562         function to make e.g. `touch file >&-' fail.
50563         But do fail if it was closed and someone has tried to write to it.
50564         E.g., `printf foo >&-' must fail.
50565
50566 2004-11-13  Jim Meyering  <jim@meyering.net>
50567
50568         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
50569
50570 2004-11-12  Simon Josefsson  <jas@extundo.com>
50571
50572         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
50573         small doc fix is still pending.
50574
50575 2004-11-11  Simon Josefsson  <jas@extundo.com>
50576
50577         * modules/strtok_r: New file.
50578
50579         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
50580         strtok_r.
50581
50582 2004-11-11  Simon Josefsson  <jas@extundo.com>
50583
50584         * m4/strtok_r.m4: New file.
50585
50586         * m4/getopt.m4: Replace opterr.
50587
50588 2004-11-11  Simon Josefsson  <jas@extundo.com>
50589
50590         * lib/strtok_r.h, strtok_r.c: New file.
50591
50592 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
50593
50594         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
50595         of replacing opterr, getopt, etc.  This should handle the
50596         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
50597
50598 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
50599
50600         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
50601         we can stop lying to compilers about the constness of argv when we
50602         are compiled outside glibc.
50603         (getopt, getopt_long, getopt_long_only): Use it.
50604         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
50605         _getopt_internal, getopt): Likewise.
50606         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
50607         _getopt_long_only_r): Likewise.
50608         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
50609         _getopt_long_r, _getopt_long_only_r): Likewise.
50610
50611         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
50612         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
50613         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
50614         the other external symbols.
50615         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
50616         declaration, since the above renaming now works around collisions.
50617
50618 2004-11-11  Jim Meyering  <jim@meyering.net>
50619
50620         * lib/linebreak.c: Remove trailing blanks.
50621         * lib/alloca_.h: Likewise.
50622         * lib/acosl.c: Likewise.
50623         * lib/euidaccess.c: Likewise.
50624         * lib/allocsa.h: Likewise.
50625
50626 2004-11-10  Simon Josefsson  <jas@extundo.com>
50627
50628         * m4/getaddrinfo.m4: New file.
50629
50630 2004-11-10  Simon Josefsson  <jas@extundo.com>
50631
50632         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
50633
50634 2004-11-10  Simon Josefsson  <jas@extundo.com>
50635
50636         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
50637         getaddrinfo.
50638
50639         * modules/getaddrinfo: New file.
50640
50641 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
50642
50643         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
50644
50645 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
50646
50647         * lib/mktime.c (SHR): New macro, which is a portable
50648         substitute for >> that should work even on Crays.
50649         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
50650         Problem reported by Mark D. Baushke in
50651         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
50652         * lib/getdate.y (SHR): Likewise.
50653         (tm_diff): Use it.
50654         * lib/strftime.c (SHR): Likewise.
50655         (tm_diff): Use it.
50656         * lib/quotearg.c (struct quoting_options): Use unsigned int for
50657         quote_these_too, so that right shifts are well defined.  All uses
50658         changed.
50659
50660 2004-11-10  Jim Meyering  <jim@meyering.net>
50661
50662         Ensure that no close failure goes unreported.
50663         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
50664         return early when it seems there's nothing to flush.
50665         Don't include __fpending.h.
50666
50667 2004-11-10  Jim Meyering  <jim@meyering.net>
50668
50669         * modules/closeout (Depends-on): Remove fpending.
50670
50671 2004-11-10  Jim Meyering  <jim@meyering.net>
50672
50673         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
50674
50675 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
50676
50677         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
50678         gl_FUNC_STRFTIME.
50679         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
50680         and AC_REQUIRE when possible, to avoid duplicate checks.
50681         Check for <wchar.h>.
50682
50683 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
50684
50685         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
50686
50687 2004-11-09  Bruno Haible  <bruno@clisp.org>
50688
50689         * m4/sockpfaf.m4: New file.
50690
50691 2004-11-05  Bruno Haible  <bruno@clisp.org>
50692
50693         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
50694         Reported by Mark D. Baushke <mdb@cvshome.org>.
50695
50696 2004-11-04  Bruno Haible  <bruno@clisp.org>
50697
50698         2004-09-11  Bruno Haible  <bruno@clisp.org>
50699                 * allocsa.valgrind: New file.
50700         2004-02-06  Bruno Haible  <bruno@clisp.org>
50701                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
50702                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
50703                 Reported by Christopher Seip <chris.seip@hp.com>.
50704
50705 2004-11-04  Bruno Haible  <bruno@clisp.org>
50706
50707         * modules/allocsa (Files): Add lib/allocsa.valgrind.
50708         (Makefile.am): Distribute it.
50709
50710 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
50711
50712         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
50713         with errno == ERANGE if the buffer is too small.
50714         Problem reported by Mark D. Baushke.
50715
50716 2004-11-03  Albert Chin  <china@thewrittenword.com>
50717             Paul Eggert  <eggert@cs.ucla.edu>
50718
50719         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
50720         equivalent, substitute $ac_type for equivalent type rather than
50721         blindly using uint32_t *always* which won't work if uint32_t is not
50722         available.  Define _UINT32_T to work around typedef of uint32_t if
50723         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
50724         2.5.1.
50725
50726 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
50727
50728         * m4/jm-macros.m4: Sync from coreutils.
50729         (gl_MACROS): Check for mbrlen, for pathchk.
50730         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
50731
50732 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
50733
50734         * lib/xreadlink.c (MAXSIZE): New macro.
50735         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
50736         size does not exceed MAXSIZE.  Avoid cast.
50737         As suggested by Mark D. Baushke in
50738         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
50739         if readlink fails with buffer size just under MAXSIZE, try again
50740         with MAXSIZE.
50741
50742 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
50743
50744         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
50745
50746 2004-11-02  Derek R. Price  <derek@ximbiot.com>
50747         and  Paul Eggert  <eggert@cs.ucla.edu>
50748
50749         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
50750         (get_date): Overparenthesize to avoid GCC warning.
50751
50752 2004-11-02  Bruno Haible  <bruno@clisp.org>
50753
50754         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
50755         returns void.
50756
50757 2004-11-02  Bruno Haible  <bruno@clisp.org>
50758
50759         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
50760         function returns void.
50761
50762 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
50763
50764         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
50765         fflush_unlocked, flockfile, funlockfile, funlockfile,
50766         fputs_unlocked, putc_unlocked.
50767
50768 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
50769
50770         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
50771         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
50772         already declared.
50773
50774 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
50775
50776         * modules/getdate (Files): Add doc/getdate.texi.
50777         (Depends-on): Add setenv, xalloc.
50778
50779 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
50780
50781         * lib/getdate.y: Add support for TZ="foo" within a date string.
50782         Fix some bugs near time_t boundaries.  Reject dates with
50783         out-of-range components, e.g., "Sept 31".
50784         Include <stdlib.h>, "setenv.h", "xalloc.h".
50785         (ISDIGIT_LOCALE): Remove; unused.
50786         Note that the TZ and time functions used here are not reentrant.
50787         (mktime_ok, get_tz): New functions.
50788         (TZBUFSIZE): New constant.
50789         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
50790         This requires that we sometimes generate our own TZ="XXX..." setting.
50791
50792 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
50793
50794         * doc/getdate.texi: New file, from coreutils with modifications for
50795         the new TZ parsing.
50796
50797 2004-10-27  Derek R. Price  <derek@ximbiot.com>
50798
50799         * lib/mktime.c (not_equal_tm): Remove redundant check.
50800
50801 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
50802
50803         * modules/regex (lib_SOURCES): Add regex.c.
50804         Reported by James Youngman in
50805         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
50806
50807 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
50808
50809         * lib/getdate.y: Use Bison 1.875 features, and some minor
50810         code cleanups.  This change does not affect semantics.
50811         Don't include <stdlib.h>; no longer needed.
50812         Don't include unlocked-io.h; only the "#if TEST" code uses
50813         stdio, and performance isn't crucial there.
50814         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
50815         Bison 1.875 features as described below.
50816         All uses of "PC." replaced by "pc->".
50817         (YYSTYPE): Add a forward declaration.
50818         (yylex, yyerror): Use full prototypes in forward decls.
50819         Use "%pure-parser" rather than obsolescent "%pure_parser".
50820         Use %parse-param and %lex-param instead of obsolescent
50821         YYPARSE_PARAM and YYLEX_PARAM.
50822         (meridian_table, month_and_day_table, time_units_table,
50823         relative_time_table, time_zone_table, military_table,
50824         lookup_zone, lookup_word, get_date):
50825         Use NULL instead of 0 where appropriate.
50826         (to_hour): Avoid abort (), to avoid a dependency on
50827         stdlib.h.
50828         (yyerror, yylex): Now accepts parser_control * arg.
50829         (main) [TEST]: Use '\0' rather than 0 for char.
50830
50831 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
50832
50833         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
50834
50835 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
50836
50837         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
50838         It's now the caller's responsibility to handle the case where
50839         !HAVE_GETPAGESIZE && !defined getpagesize.
50840
50841         * lib/mktime.c (leapyear): Arg is long int, not int.
50842
50843 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
50844
50845         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
50846
50847 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
50848
50849         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
50850         missing.  Problem reported by James Youngman.
50851
50852 2004-10-16  Simon Josefsson  <jas@extundo.com>
50853
50854         * gnulib-tool: Fix comments.  Fix parse problem.
50855         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
50856
50857 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
50858
50859         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
50860         implementation of getopt_long.  Problem reported by Alexander Taler in:
50861         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
50862
50863 2004-10-15  Bruno Haible  <bruno@clisp.org>
50864
50865         * gnulib-tool: Untabify. Initialize supplied_libname.
50866         (func_usage): More homogenous output.
50867         (func_modules_transitive_closure, func_modules_to_filelist,
50868         func_emit_lib_Makefile_am): New functions.
50869         (func_import): New function, extracted from big case statement. Use
50870         func_get_license, func_modules_transitive_closure,
50871         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
50872         opt_lgpl. Don't use test -a, as it's not portable.
50873         (func_create_testdir): Use func_modules_transitive_closure,
50874         func_modules_to_filelist, func_emit_lib_Makefile_am.
50875
50876 2004-10-15  Bruno Haible  <bruno@clisp.org>
50877
50878         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
50879
50880 2004-10-15  Bruno Haible  <bruno@clisp.org>
50881
50882         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
50883         the portions belonging to each module.
50884         Suggested by Derek Robert Price <derek@ximbiot.com>.
50885
50886 2004-10-12  Simon Josefsson  <jas@extundo.com>
50887
50888         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
50889         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
50890         to real functions.
50891
50892 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
50893
50894         * modules/vsnprintf: New file.
50895
50896 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
50897
50898         * m4/vsnprintf.m4: New file.
50899
50900 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
50901
50902         * lib/vsnprintf.h: New file.
50903         * lib/vsnprintf.c: New file.
50904
50905 2004-10-11  Bruno Haible  <bruno@clisp.org>
50906
50907         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
50908         vsnprintf.
50909
50910 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
50911
50912         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
50913
50914 2004-10-07  Bruno Haible  <bruno@clisp.org>
50915
50916         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
50917         fits into the provided buffer.
50918
50919 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
50920
50921         * lib/diacrit.c, diacrit.h: Add GPL notice.
50922
50923         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
50924         notice.
50925         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
50926         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
50927         This avoids a potential constant-folding bug.
50928
50929 2004-10-05  Bruno Haible  <bruno@clisp.org>
50930
50931         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
50932         for the declaration of strsep.
50933
50934 2004-10-05  Bruno Haible  <bruno@clisp.org>
50935
50936         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
50937
50938 2004-10-04  Simon Josefsson  <jas@extundo.com>
50939
50940         * modules/memmem: New file.
50941         * tests/test-memmem.c: New file.
50942         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
50943
50944 2004-10-04  Simon Josefsson  <jas@extundo.com>
50945
50946         * m4/memmem.m4: New file.
50947
50948 2004-10-04  Simon Josefsson  <jas@extundo.com>
50949
50950         * lib/memmem.h: New file.
50951         * lib/memmem.c: New file, taken from glibc.
50952
50953 2004-10-04  Simon Josefsson  <jas@extundo.com>
50954
50955         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
50956         '#ifdef USE_UNLOCKED_IO'.
50957
50958 2004-10-04  Simon Josefsson  <jas@extundo.com>
50959
50960         * config/srclist.txt: Add memmem from glibc.
50961
50962 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
50963
50964         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
50965
50966         * modules/argmatch, modules/argp, modules/closeout, modules/error,
50967         modules/exclude, modules/getdate, modules/getline,
50968         modules/getndelim2, modules/getpass, modules/getpass-gnu,
50969         modules/getusershell, modules/linebuffer, modules/md5,
50970         modules/mountlist, modules/posixtm, modules/readtokens,
50971         modules/readutmp, modules/regex, modules/sha1,
50972         modules/version-etc, modules/yesno:
50973         Remove dependency on unlocked-io.
50974
50975 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
50976
50977         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
50978
50979         * m4/unlocked-io.m4: Add copyright notice.
50980         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
50981
50982 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
50983
50984         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
50985         * lib/xmalloc.c (xmemdup): Likewise.
50986         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
50987         XFREE): Remove these long-obsolescent macros.
50988         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
50989         * lib/xstrdup.c: Remove.
50990
50991         * lib/regex.c (re_comp): Cast gettext return value to char *,
50992         Problem reported by Martin Neitzel via Mark D. Baushke.
50993
50994 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
50995
50996         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
50997         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
50998         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
50999         regex.c, sha1.c, version-etc.c, yesno.c:
51000         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
51001         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
51002         the includer's responsibility.
51003
51004         Sync from coreutils.
51005
51006         * lib/modechange.c (mode_compile): Don't decrement a pointer that
51007         points to the start of a string, as the C Standard says the
51008         resulting behavior is undefined.
51009
51010         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
51011         simple -> simple_backups, numbered_existing ->
51012         numbered_existing_backups, numbered -> numbered_backups
51013         to avoid shadowing problems.  All uses changed.
51014         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
51015         * lib/backupfile.c (check_extension, numbered_backup):
51016         Rename locals to avoid shadowing 'basename'.
51017         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
51018         once.
51019
51020         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
51021         * lib/.cvsignore: Add getopt.h.
51022
51023 2004-10-04  Bruno Haible  <bruno@clisp.org>
51024
51025         * modules/README: New file.
51026         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
51027         not a module.
51028
51029 2004-10-02  Jim Meyering  <jim@meyering.net>
51030
51031         * lib/dirfd.h, getpagesize.h: Add copyright notice.
51032
51033 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
51034
51035         * modules/strsep: New file.
51036
51037 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
51038
51039         * m4/strsep.m4: New file.
51040
51041 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
51042
51043         * lib/strsep.h: New file.
51044         * lib/strsep.c: New file.
51045
51046 2004-10-01  Simon Josefsson  <jas@extundo.com>
51047
51048         * lib/snprintf.c (snprintf): Handle size==0.
51049
51050 2004-10-01  Simon Josefsson  <jas@extundo.com>
51051             Bruno Haible  <bruno@clisp.org>
51052
51053         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
51054         (snprintf): Declare 'args'.
51055
51056 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
51057
51058         * lib/snprintf.c: Remove comments as to why each header is needed.
51059
51060 2004-10-01  Bruno Haible  <bruno@clisp.org>
51061
51062         * MODULES.html.sh: Add strsep.
51063
51064 2004-09-30  Simon Josefsson  <jas@extundo.com>
51065
51066         * modules/snprintf: New file.
51067
51068 2004-09-30  Simon Josefsson  <jas@extundo.com>
51069
51070         * m4/snprintf.m4: New file.
51071
51072 2004-09-30  Simon Josefsson  <jas@extundo.com>
51073
51074         * lib/snprintf.h, lib/snprintf.c: New files.
51075
51076 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
51077
51078         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
51079         (hol_entry_help): Never translate an empty string.
51080         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
51081         * lib/argp.h (OPTION_NO_TRANS): New option.
51082
51083 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
51084
51085         * modules/argp (Maintainer): Replace Simon Josefsson
51086         by Sergey Poznyakoff.
51087
51088 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
51089
51090         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
51091         changes merged back into glibc.
51092
51093 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
51094
51095         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
51096
51097 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
51098
51099         * lib/xvasprintf.c: Include xalloc.h.
51100         (xvasprintf): Use xalloc_die, not xmalloc_die.
51101
51102 2004-09-29  Bruno Haible  <bruno@clisp.org>
51103
51104         * modules/alloca-opt: New file, derived from modules/alloca.
51105         * modules/allocsa: Depend on alloca-opt instead of alloca.
51106         * modules/setenv: Likewise.
51107         * modules/vasnprintf: Likewise.
51108         * MODULES.html.sh: Add alloca-opt.
51109
51110 2004-09-28  Simon Josefsson  <jas@extundo.com>
51111
51112         * gnulib-tool: New parameter --lgpl, to asseert that modules are
51113         LGPL, and to replace license template from GPL to LGPL.
51114
51115 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
51116
51117         * modules/dummy: Change license to LGPL.
51118
51119 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
51120
51121         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
51122
51123 2004-09-24  Simon Josefsson  <jas@extundo.com>
51124
51125         * modules/minmax (License): Change from GPL to LGPL.
51126
51127 2004-09-23  Simon Josefsson  <jas@extundo.com>
51128
51129         * gnulib-tool (--import): Typo.
51130
51131 2004-09-23  Simon Josefsson  <jas@extundo.com>
51132
51133         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
51134
51135 2004-09-22  Bruno Haible  <bruno@clisp.org>
51136
51137         * modules/*: Add 'License' field.
51138         * gnulib-tool: Accept --extract-license option.
51139         (func_get_license): New function.
51140
51141 2004-09-21  Bruno Haible  <bruno@clisp.org>
51142
51143         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
51144         Reported by Simon Josefsson.
51145
51146 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
51147
51148         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
51149         gl_AC_TYPE_LONG_LONG.
51150
51151 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
51152
51153         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
51154
51155 2004-09-18  Simon Josefsson  <jas@extundo.com>
51156         and  Paul Eggert  <eggert@cs.ucla.edu>
51157
51158         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
51159         calls with autoreconf.  Define GL_LIB.
51160
51161 2004-09-14  Karl Berry  <karl@gnu.org>
51162
51163         * config/srclist.txt: unsync setenv.c, sigh.
51164
51165 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
51166
51167         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
51168         Problem reported by Bruno Haible in:
51169         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
51170
51171 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
51172
51173         * config/srclist.txt: Comment out argp-pvh.c.
51174
51175 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
51176
51177         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
51178         in case some system header has #define'd it.  Problem reported by
51179         Soeren D. Schulze in
51180         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
51181
51182 2004-09-09  Karl Berry  <karl@gnu.org>
51183
51184         * regex.[ch]: delete from the root.  These were supposed to be
51185                 synced with emacs cvs, but this has not happened for about
51186                 a year, and anyway nothing else uses emacs regex.[ch].
51187                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
51188                 lib/regex[.ch] is untouched.
51189
51190 2004-09-09  Bruno Haible  <bruno@clisp.org>
51191
51192         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
51193
51194 2004-09-09  Bruno Haible  <bruno@clisp.org>
51195
51196         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
51197         modifications.
51198         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
51199
51200 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
51201
51202         * modules/xvasprintf: New file.
51203         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
51204
51205 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
51206
51207         * lib/xvasprintf.h: New file.
51208         * lib/xvasprintf.c: New file.
51209         * lib/xasprintf.c: New file.
51210
51211 2004-09-08  Bruno Haible  <bruno@clisp.org>
51212
51213         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
51214
51215 2004-09-08  Bruno Haible  <bruno@clisp.org>
51216
51217         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
51218         length is > INT_MAX.
51219         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
51220         more.
51221
51222 2004-09-08  Bruno Haible  <bruno@clisp.org>
51223
51224         * lib/stdint_.h: New file, taken from GNU clisp.
51225
51226 2004-09-08  Bruno Haible  <bruno@clisp.org>
51227             Oskar Liljeblad  <oskar@osk.mine.nu>
51228
51229         * modules/stdint: New file.
51230         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
51231
51232 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
51233
51234         Import from coreutils.
51235         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
51236         strings on unbounded length.  alloca's performance benefits aren't
51237         that important here.
51238         (V_STRDUP): Remove.
51239         (parse_with_separator): New function, with most of the internals
51240         of the old parse_user_spec.  Allow user to omit both user and group,
51241         for compatibility with FreeBSD.
51242         Clone only the user name, not the entire spec.
51243         Do not set *uid, *gid unless entirely successful.
51244         Avoid memory leak in some failing cases.
51245         Fix regression for USER.GROUP reported by Dmitry V. Levin in
51246         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
51247         (parse_user_spec): Rewrite to use parse_with_separator.
51248
51249 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
51250
51251         * modules/userspec: Don't depend on alloca.
51252
51253 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
51254
51255         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
51256
51257 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
51258
51259         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
51260         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
51261         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
51262
51263 2004-08-16  Simon Josefsson  <jas@extundo.com>
51264
51265         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
51266         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
51267         Add --dry-run for --import.
51268         Let user provided command line parameters override configure.ac
51269         settings.
51270
51271 2004-08-12  Simon Josefsson  <jas@extundo.com>
51272
51273         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
51274         as discussed with Paul Eggert in threads rooted at
51275         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
51276         and
51277         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
51278         Before, the test was empty, and relied on ELIDE_CODE in source
51279         code.)
51280         (gl_PREREQ_GETOPT): New macro.
51281         (gl_GETOPT): Use them.
51282
51283 2004-08-12  Simon Josefsson  <jas@extundo.com>
51284
51285         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
51286         * lib/getopt_.h: Renamed from getopt.h.
51287
51288 2004-08-12  Simon Josefsson  <jas@extundo.com>
51289
51290         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
51291         Change default library name from libfoo to libgnu.
51292         Now, if you have a configure.ac that says:
51293                 gl_SOURCE_BASE(gl)
51294                 gl_M4_BASE(gl/m4)
51295                 gl_MODULES(error getopt etcetera)
51296                 gl_INIT
51297         you can import all you need by running:
51298                 ../gnulib/gnulib-tool --import
51299
51300         * modules/getopt (Files): Rename getopt.h to getopt_.h.
51301         (Makefile.am): Rewrite, use logic from argz.
51302         (Include): Use <getopt.h> instead of "getopt.h".
51303
51304 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
51305
51306         * modules/argp (Files): Add m4/unlocked-io.m4.
51307         (Depends-on): Add extensions.
51308
51309 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
51310
51311         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
51312         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
51313         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
51314         Check for program_invocation_name, program_invocation_short_name,
51315         flockfile, funlockfile, features.h, _getopt_long_only_r.
51316
51317 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
51318
51319         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
51320         its complicated substitute.
51321         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
51322         and program_invocation_name.
51323         (__argp_basename) [!_LIBC]: Remove; the only use was
51324         replaced by its body.
51325         (__argp_short_program_name): Change condition from
51326         !defined __argp_short_program_name to
51327         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
51328         to match argp-namefrob.h.
51329         (__argp_failure): Don't assume strerror_r returns char *.
51330         * lib/argp-parse.c (N_): Define unconditionally.
51331         (argp_default_options): Fill out initializers with 0 to avoid
51332         gcc warnings.
51333
51334 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
51335
51336         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
51337         getopt1.c.
51338
51339 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
51340
51341         Merge from coreutils.
51342
51343         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
51344
51345         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
51346         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
51347
51348 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
51349
51350         Merge from coreutils.
51351
51352         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
51353         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
51354         for Reliant Unix 5.43.
51355
51356         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
51357         (union fooround): Use uintmax_t, not long int.
51358         The rest is a merge from libc:
51359         [defined _LIBC]: Include <shlib-compat.h>.
51360         (_obstack) [defined _LIBC]: Remove after 2.3.4.
51361
51362         * lib/settime.c (settime): Recode to avoid warning with
51363         Sun Forte C 6U2.
51364
51365         * lib/strverscmp.c: Convert to UTF-8.
51366
51367 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
51368
51369         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
51370         m4/uintmax_t.m4.
51371
51372 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
51373
51374         * modules/xalloc-die: New file.
51375         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
51376
51377         * modules/md5 (Files): Add m4/uint32_t.m4.
51378         * modules/sha1: Renamed from modules/sha.
51379         (Files):
51380         Rename lib/sha.h to lib/sha1.h.
51381         Rename lib/sha.c to lib/sha1.c.
51382         Rename m4/sha.m4 to m4/sha1.m4.
51383         (lib_SOURCES): Likewise.
51384         (configure.ac): Rename gl_SHA to gl_SHA1.
51385         (Include): sha.h -> sha1.h.
51386
51387 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
51388
51389         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
51390         * m4/sha1.m4: Renamed from sha.m4.
51391         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
51392
51393 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
51394
51395         * lib/obstack.h (obstack_empty_p):
51396         Don't assume that chunk->contents is suitably aligned.
51397         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
51398         Likewise. Problem reported by Benno in
51399         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
51400
51401         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
51402         readable.  This could be improved further but it'd take some work.
51403
51404 2004-08-08  Simon Josefsson  <jas@extundo.com>
51405
51406         * modules/xgethostname (Depends-on): Remove exit and error (not
51407         used).
51408
51409         * modules/getpass-gnu: Add getpass.h.
51410         (Depends-on): Add stdbool.
51411         * modules/getpass: Add getpass.h.
51412
51413 2004-08-08  Simon Josefsson  <jas@extundo.com>
51414
51415         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
51416         Check getpass declaration.
51417
51418 2004-08-08  Simon Josefsson  <jas@extundo.com>
51419
51420         * lib/xgethostname.c: Don't include error.h (not used).
51421
51422         * lib/getpass.h: Add.
51423         * lib/getpass.c: Include getpass.h first.
51424
51425 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
51426
51427         * lib/xalloc-die.c: New file.
51428         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
51429         All uses removed.
51430         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
51431         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
51432         xalloc-die.c.
51433         (_, N_, xalloc_die): Move to xalloc-die.c.
51434         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
51435         so that we needn't mess with xalloc_msg_memory_exhausted.
51436
51437         * lib/sha1.h: Renamed from sha.h.
51438         (SHA1_H): Renamed from _SHA_H.
51439         (sha1_ctx): Renamed from sha_ctx.
51440         (sha1_init_ctx): Renamed from sha_init_ctx.
51441         (sha1_process_block): Renamed from sha_process_block.
51442         (sha1_process_bytes): Renamed from sha_process_bytes.
51443         (sha1_finish_ctx): Renamed from sha_finish_ctx.
51444         (sha1_read_ctx): Renamed from sha_read_ctx.
51445         (sha1_stream): Renamed from sha_stream.
51446         (sha1_buffer): Renamed from sha_buffer.
51447         * lib/sha1.c: Likewise; renamed from sha.c.
51448         Do not include <sys/types.h>.
51449         Include <stddef.h> rather than <stdlib.h>.
51450
51451 2004-08-08  Bruno Haible  <bruno@clisp.org>
51452
51453         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
51454         FILESYSTEM_PREFIX_LEN.
51455         * lib/progreloc.c: Likewise.
51456         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
51457
51458 2004-08-06  Simon Josefsson  <jas@extundo.com>
51459
51460         * modules/progname (Depends-on): Don't depend on stdbool.
51461
51462 2004-08-06  Simon Josefsson  <jas@extundo.com>
51463
51464         * modules/getsubopt: New file.
51465         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
51466         getsubopt.
51467
51468 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
51469
51470         More merge from coreutils.
51471
51472         * m4/utimens.m4, m4/utimecmp.m4: New files.
51473         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
51474         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
51475         prereq.m4, sha.m4: Import changes from coreutils.
51476
51477 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
51478
51479         More merge from coreutils.
51480         * modules/raise, modules/readtokens0, modules/utimens:
51481         * modules/utimecmp, module/xnanosleep: New files.
51482         * modules/strftime: Add lib/strftime.h.
51483         Change include from <time.h> to "strftime.h".
51484         * modules/yesno: Add lib/yesno.h.
51485         * modules/backupfile: Remove lib/addext.c.
51486         * modules/euidaccess: Add stat-macros.h.
51487         * modules/canonicalize, modules/euidaccess,
51488         modules/filemode, modules/lchown, modules/makepath,
51489         modules/rmdir, modules/stat: Likewise.
51490
51491 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
51492
51493         Merge from tar.
51494         * lib/argp-help.c (make_hol, hol_append): Don't assume that
51495         SIZE_MAX is a valid preprocessor constant.
51496         (__argp_basename): Change from "#ifndef _LIBC"
51497         to "#ifndef __argp_short_program_name", so that
51498         we don't compile these functions for tar.
51499
51500         More merges from coreutils.
51501         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
51502         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
51503         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
51504         * lib/addext.c: Remove; no longer needed.
51505         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
51506         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
51507         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
51508         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
51509         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
51510         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
51511         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
51512         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
51513         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
51514         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
51515         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
51516         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
51517         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
51518         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
51519         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
51520         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
51521         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
51522         Import changes from coreutils.
51523
51524 2004-08-05  Simon Josefsson  <jas@extundo.com>
51525
51526         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
51527
51528 2004-08-05  Simon Josefsson  <jas@extundo.com>
51529
51530         * m4/getsubopt.m4: New file.
51531
51532 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
51533
51534         Merge from coreutils.
51535
51536         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
51537         * m4/getcwd-path-max.m4: New files.
51538
51539         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
51540         FILESYSTEM_PREFIX_LEN ->
51541         FILE_SYSTEM_PREFIX_LEN.
51542         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
51543         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
51544         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
51545         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
51546
51547         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
51548         prerequisite modules now handle the DOS stuff.
51549         Don't check for unistd.h.
51550
51551 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
51552
51553         Merge from coreutils.
51554
51555         * lib/.gdb-history: Remove; this doesn't belong here.
51556
51557         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
51558         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
51559         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
51560         * lib/getcwd.c: New files.
51561
51562         * lib/dirname.h: Include <stdbool.h>.
51563         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
51564         for consistency with POSIX terminology.  All uses changed.
51565         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
51566         (strip_trailing_slashes): Use bool for booleans.
51567         * lib/stripslash.c (strip_trailing_slashes): Likewise.
51568
51569         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
51570         sometimes returns a positive errno value even when it succeeds.
51571         (print_errno_message) [!LIBC]: Fall back on strerror if
51572         __strerror_r fails.
51573
51574         * lib/path-concat.c (mempcpy): Don't define if a system header defines
51575         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
51576         (longest_relative_suffix): New function.
51577         (path_concat): Use it.  Assume first argument is not NULL.
51578         Port to DOS.  Omit redundant separators.
51579         Report an error instead of returning NULL.
51580         Use mempcpy instead of memcpy.
51581         (xpath_concat): Remove: not declared or used.
51582
51583         * lib/same.h: Include <stdbool.h>
51584         (same_name): Return bool, not int.
51585         * lib/same.c (same_name): Likewise.
51586         (errno): Don't declare; we assume C89 or better now.
51587
51588         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
51589         if not already defined.
51590
51591         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
51592         * lib/dup-safer.c (errno): Likewise.
51593
51594 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
51595
51596         Merge from coreutils.
51597         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
51598         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
51599         * modules/path-concat: Don't depend on strdup.
51600
51601 2004-08-03  Simon Josefsson  <jas@extundo.com>
51602
51603         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
51604         * lib/progname.h: Don't include stdbool.h.
51605
51606 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
51607
51608         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
51609         * MODULES.html.sh (func_all_modules): Remove fatal.
51610
51611 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
51612
51613         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
51614
51615 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
51616
51617         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
51618         working.
51619
51620 2004-08-02  Simon Josefsson  <jas@extundo.com>
51621
51622         * lib/getsubopt.h: New file, with comments from Bruno Haible.
51623         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
51624         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
51625
51626 2004-08-01  Simon Josefsson  <jas@extundo.com>
51627
51628         * lib/xgetdomainname.c: Include stdlib.h, for free().
51629
51630 2004-07-19  Bruno Haible  <bruno@clisp.org>
51631
51632         * MODULES.html.sh (func_all_modules): Add dummy.
51633
51634 2004-07-16  Simon Josefsson  <jas@extundo.com>
51635
51636         * modules/dummy: New file.
51637
51638 2004-07-16  Simon Josefsson  <jas@extundo.com>
51639
51640         * lib/dummy.c: New file.
51641
51642 2004-07-16  Bruno Haible  <bruno@clisp.org>
51643
51644         * lib/backupfile.h: Add extern "C" for C++.
51645         * lib/closeout.h: Likewise.
51646         * lib/copy-file.h: Likewise.
51647         * lib/findprog.h: Likewise.
51648         * lib/full-write.h: Likewise.
51649         * lib/pathname.h: Likewise.
51650         * lib/progname.h: Likewise.
51651         * lib/stpcpy.h: Likewise.
51652         * lib/stpncpy.h: Likewise.
51653         * lib/strcase.h: Likewise.
51654         * lib/strstr.h: Likewise.
51655         * lib/xalloc.h: Likewise.
51656
51657         * lib/mbswidth.h: Add extern "C" for C++.
51658         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
51659
51660 2004-07-13  Robert Millan  <robertmh@gnu.org>
51661
51662         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
51663
51664 2004-07-09  Simon Josefsson  <jas@extundo.com>
51665
51666         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
51667         failed without this.)
51668
51669 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
51670
51671         * modules/chown (Files): Add lib/fchown-stub.c, since
51672         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
51673
51674 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
51675
51676         * lib/fchown-stub.c: New file.
51677
51678 2004-06-24  Jim Meyering  <jim@meyering.net>
51679
51680         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
51681
51682 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
51683
51684         * modules/argz: Omit "#include".
51685
51686         * MODULES.html.sh (func_all_modules): Add calloc, to match
51687         2004-06-01 addition of calloc module.
51688
51689 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
51690
51691         * m4/argz.m4: New file, which is autoupdated from libtool.
51692
51693 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
51694
51695         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
51696         libtool.
51697
51698 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
51699
51700         * config/srclist-update: Don't insist on "USA." before the
51701         close-comment, as libtool omits the period and puts the */ on a
51702         separate line.
51703         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
51704         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
51705
51706 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
51707
51708         * modules/argz: New file.
51709         * MODULES.html.sh (func_all_modules): Add argz.
51710
51711 2004-06-12  Jim Meyering  <jim@meyering.net>
51712         and  Paul Eggert  <eggert@cs.ucla.edu>
51713
51714         * modules/hash (Files): Add lib/xalloc.h.
51715         * modules/pipe (Depends-on): Add wait-process.
51716         * modules/stat (Depends-on): Add xalloc.
51717         * modules/userspec (Files): Add lib/userspec.h.
51718         * modules/xstrto
51719
51720         Upgrade from gettext-0.13.
51721         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
51722         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
51723         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
51724
51725 2004-06-10  Jim Meyering  <jim@meyering.net>
51726
51727         * lib/calloc.c: New file.
51728
51729 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
51730
51731         * lib/getdate.y (yylex): Allow space between sign and number.
51732         Problem reported by Dan Jacobson.
51733
51734 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
51735
51736         Merge from coreutils CVS.
51737
51738         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
51739         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
51740         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
51741         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
51742         xstrtol.m4: Fix copyright date and/or serial number.
51743
51744         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
51745         See if we need an fchown replacement.
51746         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
51747         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
51748         and use the replacement function if we detect either defect.
51749
51750         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
51751         gl_UTIMECMP.
51752
51753 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
51754         and  Jim Meyering  <jim@meyering.net>
51755
51756         Merge from coreutils CVS.
51757
51758         * lib/stat-macros.h: New file, with contents from file-type.h
51759         and coreutils' system.h.
51760         * lib/file-type.c: Include "stat-macros.h".
51761         * lib/file-type.h (file_type): Move all macro definitions to new file,
51762         stat-macros.h.
51763
51764         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
51765         Wrap old code with this conditional.
51766         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
51767         function that does not dereference symlinks.
51768         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
51769
51770         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
51771         dependency problems.
51772         (xreadlink): Accept new arg SIZE, for efficiency.
51773         All decls and uses changed.
51774         * lib/xreadlink.h: Include <stddef.h>, for size_t.
51775
51776         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
51777         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
51778
51779         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
51780         sysexits.h.
51781
51782 2004-06-01  Jim Meyering  <jim@meyering.net>
51783
51784         * m4/calloc.m4: New file.
51785
51786 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
51787
51788         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
51789         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
51790         Also, fix a typo in a diagnostic.
51791
51792 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
51793
51794         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
51795         or AC_FUNC_REALLOC.
51796
51797 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
51798
51799         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
51800         macros to be defined.
51801         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
51802         the allocator returns NULL because the requested size is zero.
51803
51804 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
51805
51806         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
51807         var.  Add comment explaining why libc still defines it.  This
51808         merges the following patch from glibc:
51809         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
51810
51811 2004-05-20  Andreas Schwab  <schwab@suse.de>
51812
51813         * m4/free.m4: Replace free if it not known to work, not the other
51814         way round.
51815
51816 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
51817
51818         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
51819         present in glibc since revision 1.1 of this file.
51820         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
51821         obstack_alignment_mask, obstack_alloc, obstack_base,
51822         obstack_blank, obstack_blank_fast, obstack_chunk_size,
51823         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
51824         obstack_grow0, obstack_init, obstack_int_grow,
51825         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
51826         obstack_next_free, obstack_object_size, obstack_ptr_grow,
51827         obstack_ptr_grow_fast, obstack_room): Remove declarations of
51828         nonexistent functions.
51829
51830 2004-05-18  Karl Berry  <karl@gnu.org>
51831
51832         * config/srclist.txt: break link for vasnprintf.c.
51833
51834 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
51835
51836         Port obstack to the AS/400, where pointers are 16 bytes wide and
51837         you cannot cast an integer to a valid pointer.  This patch is
51838         currently waiting to be integrated into glibc; see
51839         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
51840
51841         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
51842         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
51843         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
51844         (struct obstack): temp member is now a union of a pointer and
51845         an integer, instead of an integer.  All integer uses changed.
51846         This does not affect the physical layout of struct obstack,
51847         except on hosts (like the AS/400) where the size or alignment of
51848         void * is greater than that of ptrdiff_t.
51849         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
51850         __STDC__)]: Store temporary in pointer member of union, not
51851         integer member.
51852         * lib/obstack.c: Include <stddef.h>, for offsetof.
51853         (struct fooalign): Remove; it doesn't need a name.
51854         (union fooround): Change double to long double, and add void *.
51855         (DEFAULT_ALIGNMENT): Use offsetof to compute.
51856         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
51857         not a macro.  Hence the values are always int; so remove all
51858         casts-to-int in uses.
51859
51860 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
51861
51862         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
51863         we can get this patch merged into glibc.
51864
51865 2004-05-17  Derek R. Price  <derek@ximbiot.com>
51866             Paul Eggert  <eggert@cs.ucla.edu>
51867
51868         * m4/argp: Depend on alloca.
51869
51870 2004-05-17  Derek R. Price  <derek@ximbiot.com>
51871             Paul Eggert  <eggert@cs.ucla.edu>
51872
51873         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
51874         freecoding.
51875
51876 2004-05-17  Bruno Haible  <bruno@clisp.org>
51877
51878         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
51879         precision that consists of a '.' followed by an empty digit string.
51880         Patch by Tor Lillqvist <tml@iki.fi>.
51881
51882 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
51883
51884         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
51885         for backward compatibility with older code.  We need our own
51886         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
51887         it under some other name, and our alloca.h will define it.
51888
51889 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
51890             Derek Price  <derek@ximbiot.com>
51891
51892         * lib/alloca.c: Include <alloca.h>, to get our interface.
51893         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
51894         include <alloca.h> first.  Use C89 prototype for alloca; this
51895         requires including <stddef.h> for size_t.  Use extern "C" if C++.
51896         Use #elif for simplicity, since we can assume C89 now.
51897         Don't try to source the system alloca.h since it will not be found
51898         and to prevent recursively including its replacement.
51899         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
51900         * lib/regex.c: Likewise.
51901
51902 2004-05-16  Derek Price  <derek@ximbiot.com>
51903             Paul Eggert  <eggert@cs.ucla.edu>
51904
51905         getline cleanup.  This changes the getndelim2 API: both order of
51906         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
51907         no delimiter).
51908
51909         * lib/getline.c: Don't include stddef.h or stdio.h, since our
51910         interface does that.
51911         (getline): Always use getdelim, so that we don't have two
51912         copies of this code.
51913         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
51914         if available.
51915         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
51916         (GETNDELIM2_MAXIMUM): New macro.
51917         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
51918         instead of the old practice of delim2==0.  All callers changed.
51919         Return -1 on overflow, instead of returning junk.
51920         Do not set *linesize unless allocation succeeds.
51921         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
51922         that we include sys/types.h.
51923         * lib/getnline.h: Likewise.
51924         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
51925         (getndelim2): Reorder arguments.
51926         * lib/getnline.c (getnline, getndelim):
51927         Don't discard the NMAX argument.
51928         (getnline): Invoke getndelim, to avoid code duplication.
51929         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
51930         of (size_t) -1 by callers of the getnline family.
51931
51932 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
51933
51934         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
51935         Check for gettimeofday.
51936         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
51937         Check for settimeofday, stime.
51938
51939 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
51940
51941         * lib/nanosleep.c (suspended): Change its type from int to
51942         sig_atomic_t volatile.
51943         (first_call): Make it private to rpl_nanosleep, and have it
51944         be zero initially as that's a bit faster.
51945         (my_usleep): Round up fractional times instead of truncating them,
51946         as this is the usual meaning for 'sleep'.
51947
51948         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
51949         doesn't work.
51950         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
51951         (ENOSYS): Define if not defined.
51952         (settime): Fall back on stime if it exists and settimeofday fails.
51953         But don't bother with fallbacks if a method fails with errno == EPERM.
51954
51955 2004-05-11  Jim Meyering  <jim@meyering.net>
51956
51957         Prior to this change, the save_cwd caller required read access to the
51958         current directory on most systems (ones with the fchdir function).
51959
51960         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
51961         fails, try write-only, and finally, resort to using xgetcwd.
51962
51963 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
51964
51965         * lib/obstack.c, obstack.h: Import changes from libc.
51966
51967 2004-04-28  Bruno Haible  <bruno@clisp.org>
51968
51969         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
51970         also implicitly appends .exe to executables.
51971         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
51972         accepts Windows pathnames.
51973         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
51974         Treat Cygwin like Windows, since it now accepts Windows pathnames.
51975         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
51976         Treat Cygwin like Windows, since it now accepts Windows pathnames.
51977         Reported by Derek Robert Price <derek@ximbiot.com>.
51978
51979 2004-04-21  Karl Berry  <karl@gnu.org>
51980
51981         * config/srclist.txt (localcharset.c): break sync.
51982
51983 2004-04-20  Paul Eggert  <eggert@twinsun.com>
51984
51985         * m4/host-os.m4: Add a copyright notice.
51986
51987 2004-04-20  Jim Meyering  <jim@meyering.net>
51988
51989         Change UTILS_ to gl_ in AC_DEFINE'd names.
51990         Change utils_- and jm_-prefixed variables, too.
51991         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
51992         UTILS_FUNC_MKDIR_TRAILING_SLASH.
51993         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
51994
51995         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
51996         Don't emit trailing blanks.
51997         Also rename jm_-prefixed variables to have gl_ prefix.
51998
51999         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
52000         Also rename jm_-prefixed variables to have gl_ prefix.
52001
52002         * m4/jm-macros.m4: Reflect the renamings.
52003         * m4/prereq.m4: Likewise.
52004
52005 2004-04-20  Jim Meyering  <jim@meyering.net>
52006
52007         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
52008         memory.
52009
52010 2004-04-20  Jim Meyering  <jim@meyering.net>
52011             Bruno Haible  <bruno@clisp.org>
52012
52013         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
52014         memory when realloc fails.
52015
52016 2004-04-19  Jim Meyering  <jim@meyering.net>
52017
52018         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
52019         now that readutmp.c may call `free (0)'.
52020
52021 2004-04-19  Bruno Haible  <bruno@clisp.org>
52022
52023         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
52024         * m4/inttypes_h.m4: Likewise.
52025         * m4/stdint_h.m4: Likewise.
52026         * m4/intmax_t.m4: Likewise.
52027         * m4/uintmax_t.m4: Likewise.
52028
52029 2004-04-18  Jim Meyering  <jim@meyering.net>
52030
52031         * m4/prereq.m4: Don't forbid jm_ prefix.
52032
52033         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
52034         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
52035         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
52036         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
52037         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
52038         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
52039         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
52040         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
52041         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
52042         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
52043         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
52044         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
52045         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
52046         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
52047         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
52048         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
52049         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
52050         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
52051         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
52052
52053 2004-04-18  Jim Meyering  <jim@meyering.net>
52054
52055         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
52056         failure, don't leak memory and do call END_UTMP_ENT.
52057
52058 2004-04-16  Jim Meyering  <jim@meyering.net>
52059
52060         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
52061         coreutils' stat program.
52062         (gl_PREREQ): Don't require jm_PREREQ_STAT.
52063
52064 2004-04-11  Paul Eggert  <eggert@twinsun.com>
52065
52066         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
52067         C89.
52068         (CHAR_BIT): Remove, since we assume C89.
52069         Include <stdint.h> if available, as per current Autoconf CVS advice.
52070
52071 2004-03-31  Jim Meyering  <jim@meyering.net>
52072
52073         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
52074         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
52075         * m4/xalloc.m4: Likewise.
52076
52077 2004-03-30  Paul Eggert  <eggert@twinsun.com>
52078
52079         Merge from coreutils.
52080
52081         * m4/inttostr.m4: New file.
52082         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
52083         Require AM_STDBOOL_H and gl_TIMESPEC instead.
52084         Require gl_CLOCK_TIME.
52085         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
52086
52087 2004-03-30  Paul Eggert  <eggert@twinsun.com>
52088
52089         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
52090         not bool, to be more consistent with Unix conventions.
52091         Suggested by Bruno Haible.
52092
52093         Merge from coreutils.
52094
52095         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
52096         * lib/umaxtostr.c: New files.
52097
52098         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
52099         the usual <time.h> dance.
52100         (get_date): Change signature to support fractional time stamps.
52101         All callers changed.
52102         * lib/getdate.y: Include "getdate.h" first, as we can now
52103         assume C89 and don't need to worry about 'const'.
52104         Similarly, include "unlocked-io.h" near start, not in middle.
52105         Include <limits.h>.
52106         (textint.value): Use long int rather than int.
52107         (textint.digits): Use size_t rather than int.
52108         (BILLION, LOG10_BILLION): New constants.
52109         (parser_control): New member rel_ns.  Members day_ordinal,
52110         time_zone, month, day, hour, minutes, rel_year, rel_month,
52111         rel_day, rel_hour, rel_minutes, rel_seconds
52112         are now long int, not int.  Member seconds is now struct timespec,
52113         not int.  New member timespec_seen.  Members dates_seen, days_seen,
52114         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
52115         not int.
52116         (%union.intval): Now long int, not int.
52117         New member timespec.
52118         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
52119         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
52120         (spec): Now is a timespec or an item list.
52121         (timespec, items): New nonterminals.
52122         (time, rel, relunit, number, get_date):
52123         Add support for fractional seconds.
52124         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
52125         (gmtime, localtime, mktime): Remove decls; not needed with C89.
52126         (to_hour): First arg is now long int, not int.
52127         (to_year): Returns long int, not int.
52128         Don't treat year -70 like 70.
52129         (tm_diff): Returns long int, not int.
52130         (lookup_word): Use bool instead of int when appropriate.
52131         (yylex): Use size_t for count, not int.
52132         Detect overflow when parsing large integer constants.
52133         Add support for fractions.
52134         (get_date): Make pointers 'const' if possible.
52135         Use more-portable code to detect integer overflow.
52136         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
52137         Don't use ctime; it's not reliable if the year has >4 digits.
52138
52139         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
52140         This is for compatibility with BSD.
52141
52142         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
52143         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
52144         From coreutils' system.h.
52145
52146         * lib/userspec.c: Don't include "posixver.h".
52147         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
52148         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
52149         compatible extension.  Simplify code by removing a boolean int
52150         that was always nonzero if a string was nonnull.
52151
52152 2004-03-30  Jim Meyering  <jim@meyering.net>
52153
52154         Merge from coreutils.
52155
52156         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
52157         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
52158         on some systems one must include <grp.h> before it.
52159         Reported by Christian Krackowizer.
52160
52161 2004-03-30  Jim Meyering  <jim@meyering.net>
52162
52163         Merge from coreutils.
52164
52165         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
52166
52167         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
52168         an empty input stream.
52169
52170         * lib/readtokens.c: Include <stdbool.h>.
52171         (readtoken): Use `size_t' rather than int/long.
52172         All callers adjusted.
52173         Use `bool' rather than `int' where appropriate.
52174         Use memset rather than an explicit loop.
52175         Use x2nrealloc rather than xrealloc.
52176         Allow the use of `\0' as a delimiter.
52177         (readtokens): Likewise.
52178         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
52179
52180 2004-03-30  Jim Meyering  <jim@meyering.net>
52181
52182         * m4/realloc.m4: Remove file, since now it does no more than
52183         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
52184         the `configure.ac' section of module/realloc.
52185         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
52186
52187 2004-03-30  Bruno Haible  <bruno@clisp.org>
52188
52189         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
52190         nonnull.
52191
52192 2004-03-29  Paul Eggert  <eggert@twinsun.com>
52193
52194         Merge changes to getloadavg.c from coreutils and Emacs.
52195
52196         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
52197         Define to an expression, not to the empty string.
52198         Include cloexec.h and xalloc.h.
52199         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
52200         Use set_cloexec_flag rather than rolling our own.
52201         * lib/cloexec.c, lib/cloexec.h: New files.
52202
52203 2004-03-29  Paul Eggert  <eggert@twinsun.com>
52204
52205         * m4/cloexec.m4: New file.
52206
52207 2004-03-18  Paul Eggert  <eggert@twinsun.com>
52208
52209         * lib/getopt.h: Sync with libc CVS.
52210
52211 2004-03-18  Paul Eggert  <eggert@twinsun.com>
52212             Bruno Haible  <bruno@clisp.org>
52213
52214         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
52215         mbswidth.
52216
52217 2004-03-18  Paul Eggert  <eggert@twinsun.com>
52218             Bruno Haible  <bruno@clisp.org>
52219
52220         * lib/mbswidth.h: Include <wchar.h> only if
52221         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
52222         <wchar.h>.
52223         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
52224
52225 2004-03-09  Paul Eggert  <eggert@twinsun.com>
52226
52227         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
52228         Sync with libc CVS.
52229         * lib/getopt_int.h: New file, also synced from libc.
52230
52231 2004-03-09  Paul Eggert  <eggert@twinsun.com>
52232
52233         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
52234         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
52235         Bring back getopt.c, getopt.h, getopt1.c.
52236
52237 2004-03-07  Paul Eggert  <eggert@twinsun.com>
52238
52239         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
52240         All uses changed.  Check for sa_sigaction member; this fixes
52241         a bug first reported by Jason Andrade in
52242         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
52243
52244 2004-03-07  Paul Eggert  <eggert@twinsun.com>
52245
52246         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
52247         '#if' expressions.  Unlike the code it replaces, it does not
52248         depend on (defined _SC_PAGESIZE).  However, it does depend on
52249         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
52250         first reported by Jason Andrade in
52251         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
52252
52253 2004-02-25  Simon Josefsson  <jas@extundo.com>
52254
52255         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
52256
52257 2004-02-25  Simon Josefsson  <jas@extundo.com>
52258
52259         * lib/strdup.h: New file.
52260         * lib/strdup.c: Include it.
52261         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
52262         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
52263
52264 2004-02-23  Karl Berry  <karl@gnu.org>
52265
52266         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
52267         (from fencepost.gnu.org:/gd/gnuorg).
52268
52269 2004-02-23  Karl Berry  <karl@gnu.org>
52270
52271         * config/srclistvars.sh (GNUORG) [karl]: redefine.
52272         * config/srclist.txt: add maintain/standards documents.
52273
52274 2004-02-18  Bruno Haible  <bruno@clisp.org>
52275
52276         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
52277         Reported by Derek Robert Price <derek@ximbiot.com>.
52278
52279 2004-02-16  Karl Berry  <karl@gnu.org>
52280
52281         * config/mkinstalldirs, install-sh: update from automake.
52282
52283 2004-02-06  Karl Berry  <karl@gnu.org>
52284
52285         * m4/po.m4: update from gettext 0.14.1.
52286
52287 2004-02-06  Karl Berry  <karl@gnu.org>
52288
52289         * lib/config.charset: update from gettext 0.14.1.
52290
52291 2004-02-05  Paul Eggert  <eggert@twinsun.com>
52292
52293         Add comments and code, prompted by suggestions from Bruno Haible
52294         for sh-quote.
52295         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
52296         describing the enum quoting_style values.
52297         * lib/quotearg.c (quotearg_alloc): New function.
52298         (quotearg_buffer_restyled): Treat lone { and } as special.
52299         Treat = as special.  Work around bug with older shells
52300         that "see" a '\' that is really the 2nd byte of a multibyte char.
52301         Quote empty string with shell_quoting_style.
52302
52303 2004-02-03  Bruno Haible  <bruno@clisp.org>
52304
52305         * m4/pipe.m4: New file, from GNU gettext.
52306
52307 2004-02-03  Bruno Haible  <bruno@clisp.org>
52308
52309         * lib/pipe.h: New file, from GNU gettext.
52310         * lib/pipe.c: New file, from GNU gettext.
52311
52312 2004-01-27  Bruno Haible  <bruno@clisp.org>
52313
52314         * m4/execute.m4: New file, from GNU gettext.
52315
52316 2004-01-27  Bruno Haible  <bruno@clisp.org>
52317
52318         * lib/execute.h: New file, from GNU gettext.
52319         * lib/execute.c: New file, from GNU gettext.
52320         * lib/w32spawn.h: New file, from GNU gettext.
52321
52322 2004-01-24  Paul Eggert  <eggert@twinsun.com>
52323
52324         Merge from diffutils.
52325
52326         * lib/file-type.c (file_type): Add typed memory objects.
52327         * lib/file-type.h (S_TYPEISTMO): New macro.
52328
52329         * lib/c-stack.h (c_stack_action): Remove argv argument.
52330         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
52331         (die): Don't calculate message unless segv_action returns.
52332         (get_stack_location, min_address_from_argv, max_address_from_argv,
52333         volatile stack_base, volatile_stack_size): Remove.
52334         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
52335         that every segmentation violation is a stack overflow.  (Ouch!)
52336         See Debian bug 136249 (still outstanding) for more info about why
52337         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
52338
52339 2004-01-24  Paul Eggert  <eggert@twinsun.com>
52340
52341         Exit-status fix from coreutils.
52342
52343         Use exit_failure consistently in place of EXIT_FAILURE,
52344         so that program exit statuses are consistent on failure.
52345
52346         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
52347         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
52348         * lib/argmatch.h: Comment fix to match the above.
52349         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
52350         Now a macro referring to exit_failure, instead of a separate
52351         variable.  Include "exitfail.h" to get it.
52352         * lib/xstrtol.h: Include "exitfail.h".
52353         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
52354
52355         * lib/long-options.c (parse_long_options): Use prototype
52356         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
52357         for clarity.
52358
52359 2004-01-21  Jim Meyering  <jim@meyering.net>
52360
52361         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
52362         so as not to conflict with a different-sized __mktime_internal
52363         function in GNU libc.
52364         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
52365         Problem building statically-linked `ls' reported by Michael Brunnbauer.
52366
52367 2004-01-20  Karl Berry  <karl@gnu.org>
52368
52369         * config/config.guess: update from config.
52370
52371         * config/srclistvars.sh: GNUWWWLICENSES for karl.
52372
52373 2004-01-20  Bruno Haible  <bruno@clisp.org>
52374
52375         Safer stack allocation.
52376         * lib/setenv.c: Include allocsa.h.
52377         (alloca): Remove fallback definition.
52378         (freea): Remove macro.
52379         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
52380         instead of freea.
52381
52382 2004-01-20  Bruno Haible  <bruno@clisp.org>
52383
52384         * m4/eealloc.m4: New file, from GNU gettext.
52385
52386 2004-01-20  Bruno Haible  <bruno@clisp.org>
52387
52388         * m4/allocsa.m4: New file, from GNU gettext.
52389
52390 2004-01-20  Bruno Haible  <bruno@clisp.org>
52391
52392         * lib/xallocsa.h: New file, from GNU gettext.
52393         * lib/xallocsa.c: New file, from GNU gettext.
52394
52395 2004-01-20  Bruno Haible  <bruno@clisp.org>
52396
52397         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
52398
52399 2004-01-20  Bruno Haible  <bruno@clisp.org>
52400
52401         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
52402         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
52403         specially.
52404
52405 2004-01-20  Bruno Haible  <bruno@clisp.org>
52406
52407         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
52408         patch.
52409
52410 2004-01-20  Bruno Haible  <bruno@clisp.org>
52411
52412         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
52413
52414 2004-01-20  Bruno Haible  <bruno@clisp.org>
52415
52416         * lib/eealloc.h: New file.
52417
52418 2004-01-20  Bruno Haible  <bruno@clisp.org>
52419
52420         * lib/binary-io.h: Avoid warnings on Cygwin.
52421
52422 2004-01-20  Bruno Haible  <bruno@clisp.org>
52423
52424         * lib/allocsa.h: New file, from GNU gettext.
52425         * lib/allocsa.c: New file, from GNU gettext.
52426
52427 2004-01-18  Karl Berry  <karl@gnu.org>
52428
52429         * doc/gpl.texi, doc/lgpl.texi: new files.
52430
52431 2004-01-18  Karl Berry  <karl@gnu.org>
52432
52433         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
52434         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
52435
52436 2004-01-15  Paul Eggert  <eggert@twinsun.com>
52437
52438         Merge from coreutils.
52439
52440         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
52441         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
52442         (gl_DEFAULT_POSIX2_VERSION): Move
52443         the documentation from 'configure' into 'config.hin',
52444         so that 'configure --help' isn't burdened by it and
52445         we don't have to worry about its formatting there.
52446         Reword the documentation so that it's more succinct
52447         and can be run together into a single paragraph.
52448         * m4/same.m4 (gl_SAME): Check for pathconf.
52449
52450 2004-01-15  Paul Eggert  <eggert@twinsun.com>
52451
52452         Merge from coreutils.
52453
52454         * lib/posixver.c: Include posixver.h.
52455
52456         * lib/same.c: Include <stdbool.h>, <limits.h>.
52457         (_POSIX_NAME_MAX): Define if not defined.
52458         (MIN): New macro.
52459         (same_name): If file names are silently truncated, report
52460         that the file names are the same if they are the same after
52461         the silent truncation.
52462
52463         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
52464         conversion function.
52465         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
52466         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
52467         longer needed.
52468
52469 2004-01-15  Jim Meyering  <jim@meyering.net>
52470
52471         Merge from coreutils.
52472
52473         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
52474         if no library is required.
52475         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
52476         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
52477         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
52478         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
52479         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
52480         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
52481         value, $ac_cv_search_crypt, if it's "none required".
52482         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
52483         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
52484         not gl_FUNC_GETLOADAVG.
52485         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
52486         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
52487
52488 2004-01-15  Jim Meyering  <jim@meyering.net>
52489
52490         Merge from coreutils.
52491
52492         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
52493         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
52494         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
52495
52496         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
52497         optional configure-time default.
52498
52499         * lib/version-etc.c (version_etc_copyright): Update copyright date.
52500
52501         * lib/xreadlink.c (xreadlink): Correct outdated comment.
52502
52503 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
52504
52505         Merge from coreutils.
52506
52507         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
52508         value, $ac_cv_search_nanosleep, if it's "none required".
52509
52510 2004-01-14  Paul Eggert  <eggert@twinsun.com>
52511
52512         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
52513         with like-named macro in fnmatch.c.
52514         (EXT): Use an internal constant instead.
52515
52516         Merge fnmatch patches from glibc.
52517         * lib/fnmatch.c (mbsinit): Remove define.
52518         Add libc_hidden_ver (__fnmatch, fnmatch).
52519         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
52520         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
52521
52522 2004-01-14  Karl Berry  <karl@gnu.org>
52523
52524         * config/install-sh: update from automake.
52525
52526 2004-01-13  Karl Berry  <karl@gnu.org>
52527
52528         * config/install-sh: update from automake.
52529
52530 2004-01-09  Karl Berry  <karl@gnu.org>
52531
52532         * config/install-sh: update from automake.
52533
52534 2004-01-05  Karl Berry  <karl@gnu.org>
52535
52536         * config/config.{sub,guess}: update from config.
52537
52538 2003-12-31  Karl Berry  <karl@gnu.org>
52539
52540         * config/depcomp: update from automake.
52541
52542 2003-12-14  Karl Berry  <karl@gnu.org>
52543
52544         * lib/config.charset: update from gettext-runtime.
52545
52546 2003-12-03  Paul Eggert  <eggert@twinsun.com>
52547
52548         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
52549         Bug reported by Alfred M. Szmidt.
52550
52551 2003-12-03  Bruno Haible  <bruno@clisp.org>
52552
52553         * m4/gettext.m4: Upgrade from gettext-0.13.
52554         * m4/po.m4: Upgrade from gettext-0.13.
52555         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
52556         * m4/intmax.m4: New file, from gettext-0.13.
52557         * m4/printf-posix.m4: New file, from gettext-0.13.
52558
52559 2003-11-29  Karl Berry  <karl@gnu.org>
52560
52561         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
52562
52563 2003-11-25  Paul Eggert  <eggert@twinsun.com>
52564             Bruno Haible  <bruno@clisp.org>
52565
52566         * lib/printf-parse.h: Don't include sys/types.h.
52567         (ARG_NONE): New macro.
52568         (char_directive): Change type of *arg_index fields to size_t.
52569         * lib/printf-parse.c: Don't include sys/types.h.
52570         (SSIZE_MAX): Remove macro.
52571         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
52572         Remove unnecessary overflow check.
52573         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
52574         fields.
52575
52576 2003-11-25  Bruno Haible  <bruno@clisp.org>
52577
52578         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
52579
52580 2003-11-25  Bruno Haible  <bruno@clisp.org>
52581
52582         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
52583         gt_TYPE_SSIZE_T.
52584
52585 2003-11-24  Paul Eggert  <eggert@twinsun.com>
52586
52587         * modules/alloca: Remove dependency on xalloc.
52588
52589 2003-11-24  Paul Eggert  <eggert@twinsun.com>
52590
52591         * lib/alloca.c: Remove dependency on xalloc module.
52592         (xalloc_die): Remove.
52593         (memory_full) [!defined emacs]: New macro.
52594         [!defined emacs]: Don't include xalloc.h.
52595         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
52596         address arithmetic overflows.  Change datatypes a bit to avoid
52597         unnecessary casts.
52598
52599 2003-11-22  Jim Meyering  <jim@meyering.net>
52600
52601         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
52602         s/size/size_t/.
52603
52604 2003-11-21  Karl Berry  <karl@gnu.org>
52605
52606         * config/config.{sub,guess}: update from config.
52607
52608 2003-11-18  Karl Berry  <karl@gnu.org>
52609
52610         * config/config.{sub,guess}: update from config.
52611
52612         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
52613
52614 2003-11-17  Paul Eggert  <eggert@twinsun.com>
52615
52616         * README: Mention that S+T cannot overflow if S is the size of
52617         an existing object and T is sufficiently small.
52618
52619 2003-11-17  Jim Meyering  <jim@meyering.net>
52620
52621         On systems without utime and without a utimes function capable of
52622         dealing with a NULL struct utimbuf* argument, this utime replacement
52623         could -- in unusual circumstances -- leak a file descriptor.
52624         * lib/utime.c: Include <unistd.h> and <errno.h>.
52625         (utime_null): Be sure to close `fd' and to preserve errno.
52626         Reported by Geoff Collyer via Arnold Robbins.
52627
52628 2003-11-17  Bruno Haible  <bruno@clisp.org>
52629
52630         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
52631         (Depends-on): Add xsize.
52632
52633 2003-11-17  Bruno Haible  <bruno@clisp.org>
52634
52635         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
52636
52637 2003-11-17  Bruno Haible  <bruno@clisp.org>
52638
52639         * lib/vasnprintf.c (alloca): Remove fallback definition.
52640         (freea): Remove definition.
52641         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
52642         Reported by Paul Eggert.
52643
52644 2003-11-16  Paul Eggert  <eggert@twinsun.com>
52645             Bruno Haible  <bruno@clisp.org>
52646
52647         Protect against address arithmetic overflow.
52648         * lib/printf-args.h: Include stddef.h.
52649         (arguments): Change type of field 'count' to size_t.
52650         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
52651         'unsigned int' where appropriate.
52652         * lib/printf-parse.h: Include sys/types.h.
52653         (char_directive): Change type of *arg_index fields to ssize_t.
52654         (char_directives): Change type of fields 'count', max_*_length to
52655         size_t.
52656         * lib/printf-parse.c: Include sys/types.h and xsize.h.
52657         (SSIZE_MAX): Define fallback value.
52658         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
52659         instead of 'int' where appropriate. Check a_allocated, d_allocated
52660         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
52661         * lib/vasnprintf.c: Include xsize.h.
52662         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
52663         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
52664         overflow. Avoid wraparound when converting a width or precision from
52665         decimal to binary.
52666
52667 2003-11-16  Bruno Haible  <bruno@clisp.org>
52668
52669         Update from GNU gettext.
52670         * lib/printf-parse.c: Generalize to it can be compiled for wide
52671         strings.
52672         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
52673         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
52674         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
52675         SNPRINTF): New macros.
52676         Don't include <alloca.h> if the file is used inside libintl.
52677         (local_wcslen): New function, for Solaris 2.5.1.
52678         (VASNPRINTF): Use it instead of wcslen.
52679
52680 2003-11-16  Bruno Haible  <bruno@clisp.org>
52681
52682         * lib/xsize.h (xmax): New function.
52683         (xsum, xsum3, xsum4): Declare as "pure" functions.
52684
52685 2003-11-12  Paul Eggert  <eggert@twinsun.com>
52686
52687         * modules/xalloc (Files): Undo latest change, since xalloc.h
52688         no longer needs SIZE_MAX or PTRDIFF_MAX.
52689
52690 2003-11-12  Paul Eggert  <eggert@twinsun.com>
52691
52692         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
52693         gl_PTRDIFF_MAX.
52694
52695 2003-11-12  Paul Eggert  <eggert@twinsun.com>
52696
52697         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
52698         "return", to pacify some unknown compiler.  Problem reported
52699         by Joerg Schilling.
52700
52701 2003-11-12  Paul Eggert  <eggert@twinsun.com>
52702
52703         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
52704         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
52705         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
52706         heuristic is just as accurate as far as we know, and it removes a
52707         dependency on size_max.m4 and ptrdiff_max.m4.
52708
52709 2003-11-11  Bruno Haible  <bruno@clisp.org>
52710
52711         * modules/xsize (Files): Add m4/size_max.m4.
52712         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
52713
52714 2003-11-11  Bruno Haible  <bruno@clisp.org>
52715
52716         * m4/size_max.m4: New file.
52717         * m4/ptrdiff_max.m4: New file.
52718         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
52719         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
52720         (gl_XALLOC): Invoke it.
52721
52722 2003-11-11  Bruno Haible  <bruno@clisp.org>
52723
52724         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
52725         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
52726         defined.
52727
52728 2003-11-10  Paul Eggert  <eggert@twinsun.com>
52729
52730         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
52731         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
52732         rejected some allocations of exactly SIZE_MAX - 2 bytes.
52733         From Bruno Haible.
52734         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
52735         not (size_t) -1, since it's defined here.
52736
52737 2003-11-09  Karl Berry  <karl@gnu.org>
52738
52739         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
52740
52741 2003-11-06  Paul Eggert  <eggert@twinsun.com>
52742
52743         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
52744         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
52745         Reject sizes of exactly SIZE_MAX bytes.
52746         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
52747         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
52748
52749 2003-11-05  Bruno Haible  <bruno@clisp.org>
52750
52751         * lib/xsize.h: Include limits.h, to avoid a possible collision with
52752         SIZE_MAX defined in <limits.h> on Solaris.
52753
52754 2003-11-04  Jim Meyering  <jim@meyering.net>
52755
52756         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
52757         variable names, rather than @VAR@.
52758         * modules/poll: Likewise.
52759
52760 2003-11-04  Bruno Haible  <bruno@clisp.org>
52761
52762         * modules/xsize: New file.
52763         * modules/linebreak: Depend on xsize.
52764         * MODULES.html.sh (func_all_modules): Add xsize.
52765
52766 2003-11-04  Bruno Haible  <bruno@clisp.org>
52767
52768         * m4/xsize.m4: New file.
52769
52770 2003-11-04  Bruno Haible  <bruno@clisp.org>
52771
52772         * lib/xsize.h: New file.
52773         * lib/linebreak.c: Include xsize.h.
52774         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
52775         argument for overflow.
52776         Suggested by Paul Eggert.
52777
52778 2003-11-03  Karl Berry  <karl@gnu.org>
52779
52780         * config/config.{guess,sub}: update from config.
52781
52782 2003-11-03  Jim Meyering  <jim@meyering.net>
52783
52784         * modules/userspec (lib_SOURCES): Add userspec.h.
52785         (Include): Add "userspec.h".
52786         Improve description.
52787
52788 2003-11-03  Jim Meyering  <jim@meyering.net>
52789
52790         * lib/userspec.c: Include "userspec.h".
52791         * lib/userspec.h: New file.
52792
52793 2003-11-03  Bruno Haible  <bruno@clisp.org>
52794
52795         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
52796
52797 2003-11-03  Bruno Haible  <bruno@clisp.org>
52798
52799         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
52800         available, to avoid (extremely rare) race condition.
52801         Suggested by Paul Eggert.
52802
52803 2003-11-02  Karl Berry  <karl@gnu.org>
52804
52805         * config/srclist.txt (vasprintf.c): sync broken, sigh.
52806
52807 2003-10-31  Paul Eggert  <eggert@twinsun.com>
52808
52809         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
52810         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
52811         (read_filesystem_list): Set and use me_type_malloced.
52812         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
52813         whatever the type happens to be), for brevity and consistency.
52814         Check for size calculation overflow on Alphas running OSF/1.
52815
52816 2003-10-31  Jim Meyering  <jim@meyering.net>
52817
52818         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
52819
52820         * lib/linebuffer.c: Include <string.h> for declaration of memset.
52821
52822 2003-10-30  Paul Eggert  <eggert@twinsun.com>
52823             Bruno Haible  <bruno@clisp.org>
52824
52825         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
52826         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
52827
52828 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
52829
52830         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
52831         netbsd*-gnu*.  Suggested by Robert Millan.
52832
52833 2003-10-29  Paul Eggert  <eggert@twinsun.com>
52834
52835         * modules/group-member: Depend on stdbool.
52836
52837 2003-10-29  Paul Eggert  <eggert@twinsun.com>
52838
52839         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
52840
52841 2003-10-29  Paul Eggert  <eggert@twinsun.com>
52842
52843         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
52844         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
52845         after the 'gnu' in these cases.  This fixes some bugs in the
52846         previous change, and is based on suggestions by Robert Millan.
52847
52848 2003-10-29  Paul Eggert  <eggert@twinsun.com>
52849
52850         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
52851         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
52852         no longer needed.
52853         * lib/quotearg.c (quotearg_n_options): Use it.
52854         * lib/group-member.c: Include <stdbool.h>.
52855         (free_group_info): Arg is now const *; don't free arg.
52856         (get_group_info): Now returns bool and accepts struct group_info *,
52857         rather than returning a malloc'ed struct group_info *.
52858         All uses changed.  Check for overflow in internal size calculation.
52859
52860         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
52861         rather than xmalloc/xrealloc.
52862         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
52863         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
52864         conformance bug: the old code used a pointer after freeing the
52865         storage that it addressed.
52866         * lib/hash.c (hash_initialize): Simplify the code by using
52867         xalloc_oversized rather than doing it by hand.
52868         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
52869         the buffer preserved.  Use free and xmalloc instead.
52870         * lib/quotearg.c (quotearg_n_options): Likewise.
52871         Use a simpler test for size overflow.  Don't use xalloc_oversized
52872         because unsigned int might be wider than size_t (!); this suggests
52873         that we should switch from unsigned int to size_t for slot numbers.
52874
52875 2003-10-28  Paul Eggert  <eggert@twinsun.com>
52876
52877         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
52878         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
52879         NetBSD kernels.  Requested by Richard Stallman.
52880
52881 2003-10-27  Paul Eggert  <eggert@twinsun.com>
52882
52883         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
52884         to allocate the returned structure.  Do not allocate a subarray,
52885         as x2nrealloc will do that.
52886         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
52887         instead of xnrealloc.
52888         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
52889
52890 2003-10-27  Bruno Haible  <bruno@clisp.org>
52891
52892         * lib/stdbool_.h: Better support for BeOS.
52893
52894 2003-10-26  Paul Eggert  <eggert@twinsun.com>
52895
52896         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
52897         now uses inline.
52898
52899 2003-10-26  Paul Eggert  <eggert@twinsun.com>
52900
52901         * lib/xalloc.h (xalloc_oversized): New static inline function, for
52902         callers that want to do their own size-overflow checking.  Include
52903         <stdbool.h>, since xalloc_oversized returns bool.
52904         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
52905         to use xalloc_oversized.
52906
52907         Add two functions x2realloc, x2nrealloc, for programs that grow
52908         arrays dynamically by doubling their sizes.
52909         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
52910         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
52911         New functions.
52912
52913         Port to C99 semantics for 'inline' of external functions.
52914         Bug reported by Bruno Haible.
52915         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
52916         with the old contents of xnmalloc.
52917         (xnmalloc, xmalloc): Use it.
52918         (xnrealloc_inline): New static inline function,
52919         with the old contents of xnrealloc.
52920         (xnrealloc, xrealloc): Use it.
52921
52922         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
52923         that.
52924
52925 2003-10-26  Karl Berry  <karl@gnu.org>
52926
52927         * config/srclist.txt (COPYING.DOC): no longer available from
52928         /gd/gnuorg; don't know where the ultimate source is.
52929
52930 2003-10-25  Paul Eggert  <eggert@twinsun.com>
52931
52932         Fix several address-calculation bugs in the hash modules,
52933         plus some minor code cleanup.
52934
52935         * lib/hash.h: Include <stdbool.h>, for bool.
52936         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
52937         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
52938         hash_get_n_entries, hash_get_max_bucket_length,
52939         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
52940         hash_rehash): Use size_t rather than unsigned.
52941         * lib/hash.c (struct hash_table, hash_get_n_buckets,
52942         hash_get_n_buckets_used, hash_get_n_entries,
52943         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
52944         hash_get_entries, hash_do_for_each, hash_string, is_prime,
52945         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
52946         Likewise.
52947         (SIZE_MAX): Define if not defined.
52948         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
52949         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
52950         hash_print):
52951         Use const * when possible.
52952         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
52953         (check_tuning): Fix bug: if tuning parameters were very close to
52954         0 or 1, rounding errors could have caused subscript violations.
52955         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
52956         (hash_initialize): Add 'fail:' label
52957         to free table and return NULL, and use it to simplify code.
52958         Use calloc rather than clearing the storage ourself.
52959         (hash_initialize, hash_rehash): Check for arithmetic overflow in
52960         buffer size calculations.
52961         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
52962         Include <stddef.h>, for size_t.
52963         * lib/hash-pjw.c (hash_pjw): Likewise.
52964         Switch to method described by Bruno Haible.
52965         Include <limits.h>, for CHAR_BIT.
52966         (SIZE_BITS): New macro.
52967
52968 2003-10-23  Paul Eggert  <eggert@twinsun.com>
52969
52970         * m4/getline.m4 (AM_FUNC_GETLINE):
52971         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
52972         hosts.  Problem reported by Derek Robert Price in
52973         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
52974         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
52975         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
52976
52977 2003-10-21  Paul Eggert  <eggert@twinsun.com>
52978
52979         * lib/getndelim2.c (getndelim2): When size calculation overflows,
52980         ceiling the allocation at NMAX bytes rather than silently
52981         discarding input bytes before NMAX is reached.  This makes
52982         a difference only if NMAX exceeds SIZE_MAX / 2.
52983
52984         * lib/obstack.c: Merge from glibc.
52985         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
52986         Add libc_hidden_def (_obstack_newchunk).
52987         (_obstack_free) [! defined _LIBC]: Remove.
52988         [defined _LIBC]: Make a strong alias from obstack_free, rather than
52989         a clone of the function body.
52990         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
52991         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
52992
52993         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
52994         glibc.
52995         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
52996         arg to memcpy.
52997
52998         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
52999         (obstack_ptr_grow_fast, obstack_int_grow_fast):
53000         Don't use lvalue casts, as GCC plans to remove support for them
53001         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
53002         was also present in the non-GCC version, indicating that this
53003         code had always been buggy and had never been widely used.
53004         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
53005         Use the fast variant of each macro, rather than copying the
53006         definiens of the fast variant; that way, we'll be more likely to
53007         catch future bugs in the fast variants.
53008
53009 2003-10-20  Bruno Haible  <bruno@clisp.org>
53010
53011         * modules/wait-process: New file.
53012         * MODULES.html.sh (func_all_modules): Add wait-process.
53013
53014 2003-10-20  Bruno Haible  <bruno@clisp.org>
53015
53016         * m4/wait-process.m4: New file.
53017
53018 2003-10-20  Bruno Haible  <bruno@clisp.org>
53019
53020         * lib/wait-process.h: New file, from GNU gettext.
53021         * lib/wait-process.c: New file, from GNU gettext.
53022
53023 2003-10-19  Jim Meyering  <jim@meyering.net>
53024
53025         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
53026         HPUX 10.20.
53027
53028 2003-10-18  Karl Berry  <karl@gnu.org>
53029
53030         * config/config.guess: update from config.
53031
53032 2003-10-16  Paul Eggert  <eggert@twinsun.com>
53033
53034         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
53035         (getgroups): First arg is int, not size_t.
53036         Don't let 'free' mangle errno.
53037
53038 2003-10-16  Paul Eggert  <eggert@twinsun.com>
53039
53040         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
53041
53042 2003-10-16  Karl Berry  <karl@gnu.org>
53043
53044         * config/config.{guess,sub}: update from config.
53045
53046 2003-10-16  Jim Meyering  <jim@meyering.net>
53047
53048         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
53049         memcpy.
53050
53051 2003-10-15  Paul Eggert  <eggert@twinsun.com>
53052
53053         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
53054         (SIZE_MAX): Remove.
53055         (new_exclude, add_exclude_file): Initial size no longer needs to
53056         be a power of 2.
53057         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
53058         our own address arithmetic overflow checking.
53059
53060         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
53061         (fnmatch): Do not alloca more than 2000 wide characters;
53062         instead, use malloc for large buffers.
53063         Check for address arithmetic overflow, and return -1
53064         with errno set to ENOMEM in that case.
53065         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
53066         (NEW_PATTERN): Do not alloca more than 8000 bytes;
53067         instead, return -1.  Check for address arithmetic overflow.
53068
53069 2003-10-14  Paul Eggert  <eggert@twinsun.com>
53070
53071         Handle invalid suffixes and overflow independently, so that
53072         callers can treat them independently as needed.  Fix some bugs in
53073         suffix handling, e.g., "100k@" was not diagnosed as an invalid
53074         suffix for a human-readable blocksize.  The major caller-visible
53075         change is the addition of a new
53076         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
53077         that both overflow and suffix chars were found.
53078
53079         * lib/human.c (humblock): Don't check separately for invalid suffix
53080         char; that is xstrtoumax's job (now that its bug is fixed).
53081         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
53082         INTMAX_MAX]: New macros.
53083         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
53084         TYPE_MAXIMUM): New macros.
53085         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
53086         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
53087         if overflow occurs, as it's what __strtol does and it's more useful
53088         in practice.
53089         (__xstrtol): If __strtol reports some error other than ERANGE,
53090         reflect it to the caller as LONGINT_INVALID.  If it reports
53091         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
53092         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
53093         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
53094         value.
53095         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
53096         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
53097         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
53098         [defined UINTMAX_MAX]: New macros.
53099
53100 2003-10-14  Bruno Haible  <bruno@clisp.org>
53101
53102         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
53103
53104 2003-10-14  Bruno Haible  <bruno@clisp.org>
53105
53106         * m4/sig_atomic_t: New file, from GNU gettext.
53107         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
53108
53109 2003-10-14  Bruno Haible  <bruno@clisp.org>
53110
53111         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
53112         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
53113         Also use volatile where needed.
53114
53115 2003-10-12  Paul Eggert  <eggert@twinsun.com>
53116
53117         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
53118         Change maintainer from Bruno Haible to 'all'.
53119
53120 2003-10-12  Paul Eggert  <eggert@twinsun.com>
53121
53122         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
53123
53124 2003-10-12  Paul Eggert  <eggert@twinsun.com>
53125
53126         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
53127         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
53128         and define in terms of the other primitives.
53129         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
53130         (SIZE_MAX): Define if not already defined.
53131         (array_size_overflow): New function.
53132         (xalloc_die): Abort instead of exiting if 'error' returns.
53133         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
53134         (xmalloc, xrealloc): Use them.
53135         (xcalloc): Check for address arithmetic overflow.
53136         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
53137         a bit faster than strcpy.
53138
53139 2003-10-10  Simon Josefsson  <jas@extundo.com>
53140
53141         * modules/argp (Depends-on): Add restrict and strcase.
53142
53143 2003-10-10  Simon Josefsson  <jas@extundo.com>
53144
53145         * m4/argp.m4: Add AC_C_INLINE.
53146
53147 2003-10-08  Paul Eggert  <eggert@twinsun.com>
53148
53149         Merge getpass from libc, plus a few fixes.
53150
53151         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
53152         Include <stdbool.h>.
53153         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
53154         __fsetlocking to empty.
53155         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
53156         do include <bits/libc-lock.h>.
53157         Do not include <fcntl.h>; not needed.
53158         [_LIBC]: Include <wchar.h>.
53159         (NOTCANCEL_MODE): New macro.
53160         (flockfile, funlockfile) [_LIBC]: New macros.
53161         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
53162         [!_LIBC]: New macros.
53163         (call_fclose): New function.
53164         (getpass): Use it.  Save tty stream separately; this simplifies the
53165         code and makes it more reliable if stdin happens to equal stdout.
53166         Invoke __fsetlocking on tty.
53167         Handle thread cancellation if needed.
53168         Namespace cleanup (use __tcgetattr, __getline).
53169         Use bool for Booleans.
53170         [USE_IN_LIBIO]: Handle wide streams.
53171         [!_LIBC]: Unconditionally do the fseek, since we don't know what
53172         stream might go where.
53173
53174         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
53175         doesn't have to include <stdio.h> before us.
53176         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
53177         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
53178         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
53179         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
53180         if not declared, so that we can use getpass.c code from libc without
53181         rewriting it.
53182         (flockfile, ftrylockfile, funlockfile): New macros.
53183
53184 2003-10-08  Paul Eggert  <eggert@twinsun.com>
53185
53186         * modules/getpass: Depend on stdbool.
53187
53188 2003-10-08  Paul Eggert  <eggert@twinsun.com>
53189
53190         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
53191
53192 2003-10-07  Karl Berry  <karl@gnu.org>
53193
53194         * config/config.{guess,sub}: update from config.
53195
53196 2003-10-06  Jim Meyering  <jim@meyering.net>
53197             Bruno Haible  <bruno@clisp.org>
53198
53199         This lets translators provide better translations for the
53200         "Written by ..." part of --version output.
53201         * lib/version-etc.h: Include stdarg.h.
53202         (version_etc_copyright): Declare as readonly.
53203         (version_etc): Make this function variadic with a NULL-terminated list
53204         of author name strings.
53205         (version_etc_va): New declaration.
53206         * lib/version-etc.c: Include stdarg.h, stdlib.h.
53207         (version_etc_copyright): Declare as readonly.
53208         (version_etc_va): New function. Provide a different translatable string
53209         for each possible number of authors < 10. Abbreviate when there are 10
53210         authors or more.
53211         (version_etc): Make this function variadic. Call version_etc_va.
53212         Suggestion from Gary V. Vaughan.
53213
53214         * lib/long-options.h (parse_long_options): Change prototype: the
53215         authors string is moved to the end and becomes variadic.
53216         * lib/long-options.c: Include stdarg.h.
53217         (parse_long_options): Make this function variadic, too.
53218         Call version_etc_va, not version_etc.
53219
53220 2003-10-06  Bruno Haible  <bruno@clisp.org>
53221
53222         * modules/version-etc-2: Remove file.
53223         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
53224
53225 2003-10-06  Bruno Haible  <bruno@clisp.org>
53226
53227         * modules/fatal-signal: New file.
53228         * MODULES.html.sh (func_all_modules): Add fatal-signal.
53229
53230 2003-10-06  Bruno Haible  <bruno@clisp.org>
53231
53232         * m4/fatal-signal.m4: New file.
53233         * m4/signalblocking.m4: New file, from GNU gettext.
53234
53235 2003-10-06  Bruno Haible  <bruno@clisp.org>
53236
53237         * lib/version-etc-2.h: Remove file.
53238         * lib/version-etc-2.c: Remove file.
53239
53240 2003-10-06  Bruno Haible  <bruno@clisp.org>
53241
53242         * lib/fatal-signal.h: New file, from GNU gettext.
53243         * lib/fatal-signal.c: New file, from GNU gettext.
53244
53245 2003-10-05  Paul Eggert  <eggert@twinsun.com>
53246
53247         * README: Rework advice for preventing empty .o files.
53248         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
53249         not <sys/types.h>.
53250
53251 2003-10-04  Karl Berry  <karl@gnu.org>
53252
53253         * lib/argp*: update from libc.
53254
53255 2003-10-04  Karl Berry  <karl@gnu.org>
53256
53257         * config/config.{guess,sub}: update from config.
53258
53259 2003-10-02  Bruno Haible  <bruno@clisp.org>
53260
53261         * modules/lchown (Include): Add lchown.h.
53262         * modules/time_r (Include): Use "..." syntax.
53263         * modules/xgetdomainname (Include): Add xgetdomainname.h.
53264
53265 2003-10-01  Simon Josefsson  <jas@extundo.com>
53266
53267         * MODULES.html.sh (func_all_modules): Move gethostname from section
53268         'based on' to section 'lacking' POSIX:2001.
53269
53270 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
53271
53272         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
53273         to output mode on the same stream.
53274
53275 2003-09-29  Paul Eggert  <eggert@twinsun.com>
53276
53277         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
53278         Fix arg typo in previous patch.
53279
53280 2003-09-28  Jim Meyering  <jim@meyering.net>
53281
53282         * lib/error.c: Correct cpp indentation.
53283
53284 2003-09-27  Paul Eggert  <eggert@twinsun.com>
53285
53286         * modules/free: New file.
53287
53288 2003-09-27  Paul Eggert  <eggert@twinsun.com>
53289
53290         * m4/free.m4: New file.
53291
53292 2003-09-27  Paul Eggert  <eggert@twinsun.com>
53293
53294         * lib/minmax.h (MIN, MAX)
53295         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
53296         Omit the special code that used __typeof__, since we worry that
53297         it could be more trouble than it's worth.  See:
53298         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
53299         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
53300
53301         * lib/free.c: New file.
53302
53303 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
53304
53305         Trivial fixes to Makefile.am parts of module listings.
53306         * modules/strstr: Append strstr.h to lib_SOURCES.
53307         * modules/strcase: Likewise, for strcase.h.
53308
53309 2003-09-27  Karl Berry  <karl@gnu.org>
53310
53311         * config/mkinstalldirs: update from automake.
53312
53313 2003-09-26  Paul Eggert  <eggert@twinsun.com>
53314
53315         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
53316         (error_tail): Do not loop, reallocating temporary buffer, since
53317         the output cannot contain more wide characters than the input
53318         contains bytes, the size must be big enough already.  This avoids
53319         one potential size overflow calculation.  Check for size overflow
53320         when calculating temporary buffer size.  Free temporary buffer
53321         when done, if it was allocated with malloc; this plugs a memory
53322         leak.  Remove casts from void * to pointers, that are no longer
53323         needed now that we're assuming C89 or better.
53324
53325         Merge error changes from glibc.
53326
53327         * lib/error.c, error.h: Update copyright notice header to match glibc.
53328         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
53329         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
53330         Disable cancellation while printing error.
53331         * lib/error.h: Prepend __ to parameter names.
53332
53333 2003-09-26  Jim Meyering  <jim@meyering.net>
53334
53335         * lib/error.c (error_tail): Move some declarations
53336         into inner scope where the local variables are used.
53337
53338 2003-09-26  Bruno Haible  <bruno@clisp.org>
53339
53340         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
53341         stpncpy().
53342         Don't define stpncpy through config.h; it's now done through stpncpy.h.
53343
53344 2003-09-26  Bruno Haible  <bruno@clisp.org>
53345
53346         * lib/stpncpy.h (gnu_stpncpy): New declaration.
53347         (stpncpy): Define as alias for gnu_stpncpy.
53348         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
53349
53350 2003-09-25  Simon Josefsson  <jas@extundo.com>
53351
53352         * lib/xgetdomainname.h: New file.
53353         * lib/xgetdomainname.c: New file.
53354
53355 2003-09-25  Simon Josefsson  <jas@extundo.com>
53356             Bruno Haible  <bruno@clisp.org>
53357
53358         * modules/getdomainname: New file.
53359         * modules/xgetdomainname: New file.
53360         * MODULES.html.sh (func_all_modules): Add getdomainname,
53361         xgetdomainname.
53362
53363 2003-09-25  Simon Josefsson  <jas@extundo.com>
53364             Bruno Haible  <bruno@clisp.org>
53365
53366         * m4/getdomainname.m4: New file.
53367
53368 2003-09-25  Simon Josefsson  <jas@extundo.com>
53369             Bruno Haible  <bruno@clisp.org>
53370
53371         * lib/getdomainname.h: New file.
53372         * lib/getdomainname.c: New file.
53373
53374 2003-09-25  Karl Berry  <karl@gnu.org>
53375
53376         * lib/argp-fmtstream.c, argp-help.c: update from libc.
53377
53378 2003-09-25  Karl Berry  <karl@gnu.org>
53379
53380         * config/install-sh: update from automake.
53381
53382 2003-09-25  Bruno Haible  <bruno@clisp.org>
53383
53384         * modules/version-etc-2: New file, from modules/version-etc with
53385         modifications.
53386         * MODULES.html.sh (func_all_modules): Add version-etc-2.
53387
53388 2003-09-25  Bruno Haible  <bruno@clisp.org>
53389
53390         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
53391         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
53392
53393 2003-09-24  Simon Josefsson  <jas@extundo.com>
53394
53395         * modules/xgethostname: Add xgethostname.h.
53396
53397 2003-09-24  Paul Eggert  <eggert@twinsun.com>
53398
53399         * lib/linebuffer.c (freebuffer): Don't free the argument, just
53400         the buffer associated with the argument.  Bug reported by
53401         Simon Josefsson.
53402
53403 2003-09-24  Paul Eggert  <eggert@twinsun.com>
53404
53405         * README: Document assumptions that 'int' is at least 32 bits
53406         wide, that integer arithmetic is 2's complement without overflow,
53407         that there are no holes in integer values, that adding sizes of
53408         two nonoverlapping objects can't overflow, and that all-bits-zero
53409         yields scalar zero.  Fix spelling and capitalization typos.
53410
53411 2003-09-19  Karl Berry  <karl@gnu.org>
53412
53413         * lib/argp.h: update from libc.
53414
53415 2003-09-17  Paul Eggert  <eggert@twinsun.com>
53416
53417         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
53418         to avoid spurious warnings like "AC_RUN_IFELSE was called before
53419         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
53420
53421 2003-09-17  Paul Eggert  <eggert@twinsun.com>
53422
53423         * gnulib-tool: Use "test -h", not "test -L", for portability
53424         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
53425         (tags_regexp): Remove, since \| doesn't conform to POSIX.
53426         (sed_extract_prog): Issue s commands one-by-one, rather than
53427         using \| in one s command.
53428
53429 2003-09-16  Paul Eggert  <eggert@twinsun.com>
53430
53431         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
53432         input error, instead of returning NULL the next time we are called
53433         (and therefore losing track of errno).
53434
53435 2003-09-16  Bruno Haible  <bruno@clisp.org>
53436
53437         * gnulib-tool (func_create_testdir): Warn about duplicated
53438         dependencies.
53439
53440 2003-09-15  Paul Eggert  <eggert@twinsun.com>
53441
53442         * modules/argmatch, modules/fatal, modules/obstack,
53443         modules/xalloc, modules/xgethostname: Sort dependencies by
53444         importance, not alphabetically.
53445
53446 2003-09-15  Paul Eggert  <eggert@twinsun.com>
53447
53448         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
53449         fails, so that the caller gets the proper errno.
53450
53451         * lib/readutmp.c (read_utmp): Likewise.
53452         Check for fstat error.  Close stream and free storage
53453         when failing.
53454
53455 2003-09-14  Karl Berry  <karl@gnu.org>
53456
53457         * config/srclist.txt (strdup.c): disable for c89 changes.
53458
53459 2003-09-14  Jim Meyering  <jim@meyering.net>
53460
53461         * lib/getloadavg.c: Correct cpp indentation.
53462         * lib/strdup.c: Likewise.
53463         * lib/vasnprintf.c: Likewise.
53464
53465 2003-09-14  Bruno Haible  <bruno@clisp.org>
53466
53467         * modules/fwriteerror: New file.
53468         * MODULES.html.sh (func_all_modules): Add fwriteerror.
53469
53470 2003-09-14  Bruno Haible  <bruno@clisp.org>
53471
53472         * lib/fwriteerror.h: New file.
53473         * lib/fwriteerror.c: New file.
53474
53475 2003-09-12  Paul Eggert  <eggert@twinsun.com>
53476
53477         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
53478         modules/xgethostname, modules/xalloc: Depend on exit.
53479
53480 2003-09-12  Paul Eggert  <eggert@twinsun.com>
53481
53482         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
53483
53484         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
53485         and AC_MINIX, too, so that their extensions are available.
53486
53487         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
53488         This macro has been superseded by gl_BACKUPFILE.
53489
53490         More patches to assume C89 or better.
53491
53492         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
53493
53494         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
53495         unconditionally.
53496         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
53497         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
53498         Include <string.h>, <stdlib.h> unconditionally.
53499         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
53500         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
53501         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
53502         headers or for string.h.
53503         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
53504         or strtoul.
53505
53506         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
53507         headers.
53508         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
53509         * m4/userspec.m4 (gl_USERSPEC): Likewise.
53510         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
53511         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
53512         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
53513         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
53514         memcpy, memset.
53515         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
53516         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
53517         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
53518         strtol.
53519         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
53520         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
53521         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
53522         strtoul.
53523
53524 2003-09-12  Paul Eggert  <eggert@twinsun.com>
53525
53526         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
53527         * lib/obstack.c [!defined _LIBC]: Likewise.
53528         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
53529         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
53530         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
53531
53532         More changes to assume C89 or better.
53533
53534         * lib/error.c (error_tail): Assume vprintf.
53535
53536         * lib/argmatch.c (getenv): Remove decl.
53537         * lib/progreloc.c (get_full_program_name): Define via prototype.
53538         * lib/setenv.c (clearenv): Likewise.
53539         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
53540         needed.
53541         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
53542         (malloc, memcpy): Remove decls.
53543         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
53544         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
53545         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
53546         (memcpy): Remove macro.
53547         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
53548         (__P): Remove.  All uses removed.
53549         (PTR): Remove.  All uses changed to void *.
53550         (CHAR_BIT, NULL): Remove.
53551         (spaces, zeros, memset_space, memset_zero)
53552         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
53553         Remove.
53554         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
53555         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
53556         Define with prototype.
53557         Remove now-unnecessary prototype decl.
53558         (extra_args_spec): Assume ANSI C.  All uses changed.
53559         (extra_args_spec_iso): Remove.
53560         (my_strftime, emacs_strftimeu): Define via prototype.
53561         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
53562         unconditionally.
53563         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
53564         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
53565         (strtoul, strtol): Remove decls.
53566         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
53567         LONG_MAX): Remove.
53568         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
53569         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
53570         (LOCALE_PARAM_PROTO): New macro.
53571         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
53572         (INTERNAL (strtol), strtol): Define with a prototype.
53573         (PARAMS): Remove.  All uses removed.
53574         * lib/tempname.c: Include <string.h> unconditionally.
53575         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
53576         * lib/xgethostname.c (main): Define with a prototype.
53577         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
53578         Include <stdlib.h> unconditionally.
53579         (calloc, malloc, realloc, free): Remove decls.
53580         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
53581         Include <stdlib.h> unconditionally.  Sort include file names.
53582         (strtod): Remove.
53583         (xstrtod): Define with a prototype.
53584         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
53585         (strtol, strtoul): Remove decls.
53586
53587 2003-09-11  Paul Eggert  <eggert@twinsun.com>
53588
53589         More patches to assume C89 or better.
53590         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
53591         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
53592         string.h, memchr, STDC_HEADERS.
53593
53594 2003-09-11  Paul Eggert  <eggert@twinsun.com>
53595
53596         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
53597         Include <stdlib.h>, <string.h> unconditionally.
53598         Remove now-unnecessary cast to char *.
53599         * lib/strnlen.c: Include <string.h> unconditionally.
53600         * lib/yesno.c (yesno): Define with a prototype.
53601
53602 2003-09-11  Bruno Haible  <bruno@clisp.org>
53603
53604         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
53605
53606 2003-09-10  Jim Meyering  <jim@meyering.net>
53607
53608         * lib/error.c: Correct indentation of cpp directives.
53609
53610 2003-09-10  Bruno Haible  <bruno@clisp.org>
53611
53612         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
53613         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
53614         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
53615         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
53616         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
53617         <stdlib.h> and <string.h> checks.
53618         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
53619         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
53620
53621 2003-09-10  Bruno Haible  <bruno@clisp.org>
53622
53623         * lib/strcspn.c: Include <string.h> unconditionally.
53624         * lib/strpbrk.c: Include <string.h> unconditionally.
53625         * lib/strstr.c: Include <string.h> unconditionally.
53626         * lib/unicodeio.c: Include <string.h> unconditionally.
53627         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
53628         * lib/unsetenv.c: Likewise.
53629         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
53630         * lib/yesno.c: Include <stdlib.h> unconditionally.
53631         (rpmatch): Add prototype.
53632
53633 2003-09-09  Paul Eggert  <eggert@twinsun.com>
53634
53635         More patches to assume C89 or better.
53636         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
53637         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
53638         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
53639         or for string.h.
53640         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
53641         stdlib.h.
53642         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
53643         C headers.
53644         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
53645         string.h.
53646         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
53647         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
53648         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
53649         or for string.h.
53650         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
53651         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
53652         C headers.
53653         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
53654         memcpy.
53655         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
53656         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
53657         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
53658         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
53659         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
53660         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
53661         string.h, free.
53662         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
53663         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
53664         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
53665         C headers, or for string.h.
53666         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
53667         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
53668         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
53669         headers, memory.h, stdlib.h, string.h, strings.h.
53670         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
53671         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
53672         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
53673         strchr.
53674         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
53675         headers, memory.h, string.h.
53676         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
53677         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
53678         free.
53679         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
53680         headers.
53681         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
53682         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
53683         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
53684         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
53685         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
53686
53687 2003-09-09  Paul Eggert  <eggert@twinsun.com>
53688
53689         More K&R removal.
53690
53691         * lib/acosl.c (main): Use a prototype.
53692         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
53693         tanl.c: Likewise.
53694
53695         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
53696
53697         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
53698         (getopt, etopt_long, getopt_long_only, _getopt_internal)
53699         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
53700         with a prototype.
53701         * lib/getopt.c (const): Remove macro.
53702         Include <string.h> unconditionally.
53703         (my_index): Remove; all uses changed to strchr.
53704         (strlen): Remove decl.
53705         (exchange): Remove forward decl; no longer needed.
53706         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
53707         Define with prototype.
53708         * lib/getopt1.c (const): Remove macro.
53709         (getopt_long, getopt_long_only, main): Define with prototype.
53710
53711         * lib/getugroups.c: Include <string.h> unconditionally.
53712
53713         * lib/getusershell.c: Include <stdlib.h> unconditionally.
53714         (getusershell, setusershell, endusershell, readname, main):
53715         Define with prototypes.
53716
53717         * lib/group-member.c: Include group-member.h first.
53718         Include <stdlib.h> unconditionally.
53719
53720         * lib/hard-locale.c: Include hard-locale.h first.
53721         Include <stdlib.h>, <string.h> unconditionally.
53722
53723         * lib/hash.c (free, malloc): Remove decls.
53724         Include <stdlib.h> unconditionally.
53725
53726         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
53727         (getenv): Do not declare.
53728
53729         * lib/idcache.c: Include <string.h> unconditionally.
53730
53731         * lib/long-options.c: Include long-options.h first, to test interface.
53732         Include <stdlib.h> unconditionally.
53733
53734         * lib/makepath.c: Include makepath.h first, to test interface.
53735         Include <stdlib.h> and <string.h> unconditionally.
53736
53737         * lib/linebuffer.c: Include <stdlib.h>.
53738         (free): Remove decl.
53739
53740         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
53741         stddef.h. rpl_malloc returns void *, not char *.
53742         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
53743         prototype.
53744
53745         * lib/md5.h: Include <limits.h> unconditionally.
53746         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
53747         (__P): Remove; all uses removed.
53748         * lib/md5.c: Include "md5.h" first.
53749         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
53750         md5_buffer, md5_process_bytes, md5_process_block):
53751         Define with prototypes.
53752         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
53753         * lib/sha.c: Include "sha.h" first.
53754         Include <stdlib.h>, <string.h> unconditionally.
53755
53756         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
53757         * lib/memcmp.c (__ptr_t): Likewise.
53758         * lib/memrchr.c (__ptr_t): Likewise.
53759         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
53760         Include <string.h> unconditionally.
53761         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
53762         * lib/memchr.c: Include <stdlib.h> unconditionally.
53763         * lib/memchr.c (LONG_MAX): Remove.
53764         * lib/memrchr.c (LONG_MAX): Likewise.
53765         * lib/memchr.c (__memchr): Define via a prototype.
53766         * lib/memrchr.c (__memrchr): Likewise.
53767         * lib/memcmp.c (__P): Remove, and remove all uses.
53768         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
53769         Remove forward decls; no longer needed.
53770         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
53771         Use types required by C89 in prototype.
53772
53773         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
53774         * lib/savedir.c: Likewise.
53775         * lib/mkdir.c (free): Remove decl.
53776         * lib/rmdir.c (rmdir): Define with a prototype.
53777         * lib/savedir.c: Include savedir.h first, to test interface.
53778
53779         * lib/mktime.c (STDC_HEADERS): Remove.
53780         Include <stdlib.h>, <string.h> unconditionally.
53781
53782         * lib/modechange.c: Include <stdlib.h> unconditionally.
53783         (malloc): Remove decl.
53784
53785         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
53786         (free): Remove decl.
53787
53788         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
53789         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
53790         (This type really should be intptr_t, but that's a C99ism.)
53791         (_obstack_memcpy): Remove: all uses changed to memcpy.
53792         Include <string.h> unconditionally.
53793         (struct obstack): Assume __STDC__ for types of members
53794         chunkfun, freefun, extra_arg.
53795         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
53796         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
53797         obstack_begin, obstack_specify_allocation,
53798         obstack_specify_allocation_with_arg, obstack_chunkfun,
53799         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
53800         Remove unprototyped decls and the macros that use them.
53801         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
53802         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
53803         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
53804         (defined __STDC__ && __STDC__)]:
53805         Remove nonprototyped code.
53806         Include <stdlib.h> unconditionally.
53807         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
53808         _obstack_allocated_p, _obstack_free, obstack_free,
53809         _obstack_memory_used, print_and_abort):
53810         Define using prototypes.
53811         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
53812         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
53813         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
53814         obstack_next_free, obstack_object_size, obstack_room) [0]:
53815         Remove unused, unprototyped code.
53816
53817         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
53818
53819         * lib/physmem.c (physmem_total, physmem_available, main): Define
53820         with prototypes.
53821
53822         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
53823         (main): Define with a prototype.
53824
53825         * lib/posixver.c (getenv): Remove decl.
53826
53827         * lib/putenv.c (malloc): Returns void *, not char *.
53828         Include <string.h> unconditionally.
53829         (strchr, memcpy, NULL): Do not define.
53830
53831         * lib/readtokens.c: Include readtokens.h first, to test interface.
53832         Include <stdlib.h>, <string.h> unconditionally.
53833         (init_tokenbuffer): Define with a prototype.
53834
53835         * lib/regex.c (PARAMS): Remove.  All uses removed.
53836         All uses of _RE_ARGS removed, too.
53837         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
53838         unconditionally.
53839         (bzero): Assume memset exists.
53840         (memcmp, memcpy, NULL): Remove.
53841         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
53842         char, or assignments to local vars of type signed char.
53843         (init_syntax_once, PREFIX(extract_number_and_incr),
53844         PREFIX(print_partial_compiled_pattern),
53845         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
53846         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
53847         PREFIX(regex_grow_registers), PREFIX(regex_compile),
53848         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
53849         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
53850         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
53851         wcs_compile_range, byte_compile_range, truncate_wchar,
53852         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
53853         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
53854         count_mbs_length, wcs_re_match_2_internal,
53855         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
53856         PREFIX(alt_match_null_string_p),
53857         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
53858         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
53859         regfree, PREFIX(extract_number)): Define with prototype.  Remove
53860         now-unnecessary declaration, if any.
53861         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
53862         regcomp, regexec):
53863         Remove now-unnecessary casts among pointer types.
53864         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
53865
53866         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
53867         (free): Remove decl.
53868
53869         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
53870
53871         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
53872         (free): Remove decl.
53873
53874         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
53875         * lib/xgetcwd.c: Likewise.
53876
53877         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
53878         (free): Remove decl.
53879
53880         * lib/strchrnul.c (strchrnul): Define with a prototype.
53881         Fix bug: c_in was not converted to char before searching.
53882
53883         The following changes are not K&R related:
53884
53885         * lib/group-member.h: Include <sys/types.h>, so that this file is
53886         self-contained.
53887         * lib/makepath.h: Likewise.
53888
53889         * lib/getusershell.c (readname, default_index, line_size, readname):
53890         Use size_t, not int, for sizes.
53891         (readname): If the size overflows, report an error instead of
53892         looping forever.
53893
53894 2003-09-09  Paul Eggert  <eggert@twinsun.com>
53895
53896         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
53897         libc.
53898
53899 2003-09-09  Paul Eggert  <eggert@twinsun.com>
53900
53901         * README: New section: portability guidelines.
53902
53903 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
53904
53905         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
53906         C89 spec.
53907
53908 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
53909
53910         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
53911
53912 2003-09-08  Paul Eggert  <eggert@twinsun.com>
53913
53914         Assume C89 or better; remove K&R cruft.
53915         A few of these changes were first proposed by Derek Robert Price
53916         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
53917
53918         * lib/addext.c: Include <string.h> unconditionally.
53919         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
53920         Don't declare getenv or malloc.
53921
53922         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
53923         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
53924         (NULL): Remove.
53925         (find_stack_direction, alloca): Use prototypes.
53926
53927         * lib/atexit.c (atexit): Define using a prototype.
53928
53929         * lib/basename.c, dirname.c, stripslash.c:
53930         Include <string.h> unconditionally.
53931
53932         * lib/bcopy.c: Include <stddef.h>.
53933         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
53934
53935         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
53936
53937         * lib/error.h (error, error_at_line, error_print_progname)
53938         [! (defined (__STDC__) && __STDC__)]: Remove decls.
53939         * lib/error.c: Include error.h first, to check interface.
53940         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
53941         (VA_START): Remove; all uses changeed to va_start.
53942         (exit, strerror): Remove decls.
53943         (error_print_progname): Prototype uncondionally.
53944         Don't include <errno.h>; no longer needed.
53945         (private_strerror): Remove.
53946         (error_tail): Always define.
53947         (error, error_at_line): Assume C89 or better; always use prototypes.
53948         * lib/fatal.c: Include "fatal.h" first, to test interface.
53949         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
53950         (VA_START): Remove; all uses changed to va_start.
53951         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
53952         this case.
53953         (exit): Remove decl.
53954         (fatal): Prototype unconditionally.  Assume va_start works.
53955         Abort at end, to pacify gcc.
53956
53957         * lib/euidaccess.c (main): Define with a prototype.
53958
53959         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
53960
53961         * lib/exitfail.c: Include <stdlib.h> unconditionally.
53962
53963         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
53964         prototypes.
53965         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
53966         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
53967         (getenv): Remove decl.
53968         (fnmatch): Define using a prototype.
53969         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
53970         (FCT): Define using a prototype.
53971
53972         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
53973
53974         * lib/gethostname.c: Include <stddef.h>.
53975         (gethostname): Define with prototype.  Length is size_t, not int.
53976
53977 2003-09-08  Paul Eggert  <eggert@twinsun.com>
53978
53979         Assume C89 or better; remove K&R cruft.
53980         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
53981         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
53982         string.h, getenv, malloc.
53983         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
53984         headers.
53985         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
53986         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
53987         do not check for strerror.
53988         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
53989         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
53990         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
53991         do not check for doprnt or vprintf.
53992         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
53993         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
53994
53995 2003-09-08  Paul Eggert  <eggert@twinsun.com>
53996
53997         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
53998         getversion.c should have been removed then, but was accidentally
53999         preserved.
54000
54001         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
54002         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
54003
54004 2003-09-08  Karl Berry  <karl@gnu.org>
54005
54006         * config/config.sub, config.guess, srclistvars.sh: update from savannah
54007                 config, forget about prep.
54008
54009         * config/depcomp, missing: update from automake.
54010
54011 2003-09-07  Paul Eggert  <eggert@twinsun.com>
54012
54013         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
54014         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
54015
54016 2003-09-07  Paul Eggert  <eggert@twinsun.com>
54017
54018         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
54019         copy_tm_result.  Bug reported by Simon Josefsson in
54020         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
54021
54022 2003-09-06  Paul Eggert  <eggert@twinsun.com>
54023
54024         * m4/time_r.m4: New file.
54025         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
54026         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
54027         is. Check for timegm declaration.
54028         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
54029         Do not check for gmtime_r.
54030         Replace mktime if __mktime_internal does not exist and if mktime
54031         hasn't been replaced already.
54032
54033 2003-09-06  Paul Eggert  <eggert@twinsun.com>
54034
54035         * lib/time_r.c, lib/time_r.h: New files.
54036
54037         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
54038         __localtime_r.
54039         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
54040         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
54041
54042         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
54043         __gmtime_r.
54044         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
54045         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
54046         Include <time_r.h>.
54047
54048         * lib/timegm.c: Switch to glibc implementation, with the following
54049         changes:
54050         [defined HAVE_CONFIG_H]: Include <config.h>.
54051         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
54052         (__mktime_internal) [!defined _LIBC]: New decl.
54053         (__gmtime_r) [!defined _LIBC]: New macro and function.
54054         (timegm): Use a prototype, since gnulib assumes C89.
54055         Do not bother declaring tmp to be const, as it's not really usefu.
54056         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
54057         (timegm): Declare only if HAVE_DECL_TIMEGM.
54058
54059 2003-09-06  Paul Eggert  <eggert@twinsun.com>
54060
54061         * MODULES.html.sh (func_all_modules): Add time_r.
54062         * modules/time_r: New file.
54063         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
54064         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
54065
54066 2003-09-03  Paul Eggert  <eggert@twinsun.com>
54067
54068         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
54069         Bug reported by Lute Kamstra in
54070         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
54071
54072         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
54073         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
54074         course with correspondingly smaller numbers for tomorrow and
54075         yesterday.  From Tadayoshi Funaba.  Originally installed into
54076         sh-utils on 1999-08-07, but the patch got lost (I guess during the
54077         coreutils merge?).
54078
54079 2003-08-31  Simon Josefsson  <jas@extundo.com>
54080
54081         * modules/timegm: New file.
54082         * MODULES.html.sh (func_all_modules): Add timegm.
54083
54084 2003-08-31  Simon Josefsson  <jas@extundo.com>
54085
54086         * m4/timegm.m4: New file.
54087
54088 2003-08-31  Simon Josefsson  <jas@extundo.com>
54089
54090         * lib/timegm.h: New file.
54091         * lib/timegm.c: New file.  Based on
54092         wget-1.8.2/src/http.c:mktime_from_utc.
54093
54094 2003-08-31  Karl Berry  <karl@gnu.org>
54095
54096         * lib/argp.h: update from libc.
54097
54098 2003-08-28  Bruno Haible  <bruno@clisp.org>
54099
54100         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
54101         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
54102         followed by '#define fnmatch fnmatch_posix' gives an error.
54103
54104 2003-08-28  Bruno Haible  <bruno@clisp.org>
54105
54106         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
54107         warning on QNX, which defines O_BINARY to 000000.
54108
54109 2003-08-27  Jim Meyering  <jim@meyering.net>
54110
54111         * m4/mkstemp.m4: Require that the system mkstemp be able to create
54112         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
54113         would fail after 32.  Reported by Danny Levinson.  Details here:
54114         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
54115
54116 2003-08-24  Bruno Haible  <bruno@clisp.org>
54117
54118         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
54119         MSVC7 <stdio.h> is included later.
54120
54121 2003-08-22  Simon Josefsson  <jas@extundo.com>
54122
54123         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
54124
54125 2003-08-20  Karl Berry  <karl@gnu.org>
54126
54127         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
54128
54129 2003-08-20  Bruno Haible  <bruno@clisp.org>
54130
54131         * modules/progname: New file.
54132         * MODULES.html.sh (func_all_modules): Add progname.
54133
54134 2003-08-20  Bruno Haible  <bruno@clisp.org>
54135
54136         * lib/progname.h: New file, from GNU gettext.
54137         * lib/progname.c: New file, from GNU gettext.
54138         * lib/progreloc.c: New file, from GNU gettext.
54139
54140 2003-08-19  Jim Meyering  <jim@meyering.net>
54141
54142         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
54143         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
54144
54145 2003-08-19  Bruno Haible  <bruno@clisp.org>
54146
54147         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
54148         more.
54149
54150 2003-08-19  Bruno Haible  <bruno@clisp.org>
54151
54152         * lib/xstrdup.c: Assume <string.h> exists.
54153
54154 2003-08-18  Paul Eggert  <eggert@twinsun.com>
54155
54156         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
54157         in makefile rules.
54158
54159 2003-08-18  Jim Meyering  <jim@meyering.net>
54160
54161         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
54162         * m4/lib-ld.m4: Likewise.
54163
54164 2003-08-18  Jim Meyering  <jim@meyering.net>
54165
54166         * lib/setenv.h: Indent nested cpp directive.
54167         * lib/vasnprintf.c: Remove trailing blanks.
54168
54169 2003-08-17  Simon Josefsson  <jas@extundo.com>
54170
54171         * modules/xstrndup: New file.
54172         * MODULES.html.sh (func_all_modules): Add xstrndup.
54173
54174 2003-08-17  Simon Josefsson  <jas@extundo.com>
54175
54176         * modules/argp: Fix autoconf macro name. Add more dependencies.
54177
54178 2003-08-17  Simon Josefsson  <jas@extundo.com>
54179
54180         * m4/xstrndup.m4: New file.
54181
54182 2003-08-17  Simon Josefsson  <jas@extundo.com>
54183
54184         * m4/argp.m4: New file.
54185
54186 2003-08-17  Simon Josefsson  <jas@extundo.com>
54187             Bruno Haible  <bruno@clisp.org>
54188
54189         * lib/xstrndup.h: New file.
54190         * lib/xstrndup.c: New file.
54191
54192 2003-08-17  Bruno Haible  <bruno@clisp.org>
54193
54194         * modules/strndup (Files, Include): Add lib/strndup.h.
54195
54196 2003-08-17  Bruno Haible  <bruno@clisp.org>
54197
54198         * modules/euidaccess (Files): Add lib/euidaccess.h.
54199
54200 2003-08-17  Bruno Haible  <bruno@clisp.org>
54201
54202         * lib/strndup.h: New file.
54203
54204 2003-08-17  Bruno Haible  <bruno@clisp.org>
54205
54206         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
54207         like AC_GNU_SOURCE.
54208         * modules/extensions (configure.ac): Comment out the invocation of
54209         gl_USE_SYSTEM_EXTENSIONS.
54210
54211 2003-08-16  Paul Eggert  <eggert@twinsun.com>
54212
54213         Merges from coreutils, etc.
54214         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
54215         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
54216         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
54217         fixing a typo.
54218         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
54219         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
54220
54221 2003-08-16  Paul Eggert  <eggert@twinsun.com>
54222
54223         Document merge from coreutils.
54224         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
54225         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
54226         * modules/utime: Add m4/utimes-null.m4.
54227
54228 2003-08-16  Paul Eggert  <eggert@twinsun.com>
54229
54230         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
54231         space, undoing this 2003-08-12 change:
54232         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
54233
54234 2003-08-16  Paul Eggert  <eggert@twinsun.com>
54235
54236         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
54237         strtoul.c from libc, undoing this 2003-08-12 change:
54238         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
54239
54240 2003-08-16  Jim Meyering  <jim@meyering.net>
54241
54242         Merges from coreutils.
54243         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
54244         prefix.  Adjust cache variables similarly.  Create 500 rather than
54245         just 300 files, to exercise bug on Darwin6.5, too.
54246         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
54247         $missing_dir.
54248         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
54249         AM_SYS_POSIX_TERMIOS.
54250         Reported by mkc@mathdogs.com.
54251         Also change use of $am_cv_sys_posix_termios
54252         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
54253         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
54254         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
54255         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
54256         in /proc/mounts until it finds one with matching device number.  This
54257         is unnecessary when the FILE argument *is* a mount point.  No stat call
54258         is necessary in that case.  So, disable the statvfs-testing code on
54259         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
54260         as RedHat bug# 84846.
54261         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
54262         to 1MB, so as not to render systems with no stack size limit (e.g.,
54263         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
54264         Include <unistd.h>.  On some systems,
54265         it is required for the definition of _SC_PAGESIZE.
54266
54267 2003-08-16  Jim Meyering  <jim@meyering.net>
54268
54269         Merge from coreutils.
54270         * lib/xstrtoimax.c: #else #if -> #elif.
54271         * lib/xstrtoumax.c: Likewise.
54272
54273 2003-08-16  Jim Meyering  <jim@meyering.net>
54274
54275         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
54276         * m4/utimes.m4: Removed.
54277         * m4/utimes-null.m4: Renamed from utimes.m4.
54278
54279         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
54280         to 1MB, so as not to render systems with no stack size limit (e.g.,
54281         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
54282         Include <unistd.h>.  On some systems,
54283         it is required for the definition of _SC_PAGESIZE.
54284
54285 2003-08-16  Jim Meyering  <jim@meyering.net>
54286         and Paul Eggert  <eggert@cs.ucla.edu>
54287
54288         Merges from coreutils, etc.
54289
54290         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
54291         using the latest version from cvs.  This avoids problems with #line
54292         directives using a vendor (Sun) compiler.
54293         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
54294         Don't set GETGROUPS_LIB here; now it's
54295         done via getgroups.m4's wrapper function.
54296         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
54297         rather than just in sh-util/configure.in, so that the
54298         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
54299         same.
54300         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
54301         AC_FUNC_GETLOADAVG where to find getloadavg.c.
54302         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
54303         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
54304         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
54305         Remove code that is now done by the newly-required macros.
54306         Append $(EXEEXT) to DF_PROG.
54307         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
54308         Do not invoke or require the following here,
54309         since prereq.m4 or some gnulib .m4 now does this for us:
54310         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
54311         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
54312         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
54313         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
54314         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
54315         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
54316         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
54317         AC_FUNC_OBSTACK.
54318         Do not replace the following functions, as this is now the job
54319         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
54320         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
54321         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
54322         atexit getpass, strdup, getpagesize.
54323         Replace 'raise'.
54324         Do not check for the following functions, as this is now the job
54325         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
54326         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
54327         setregid.
54328         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
54329         Check for sys/sysctl.h.
54330         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
54331         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
54332         of checking for ssize_t ourselves.
54333
54334         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
54335         Require every macro that gnulib/modules/* suggests for us.
54336         (jm_PREREQ_ADDEXT): New macro.
54337         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
54338         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
54339
54340         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
54341         (gl_PHYSMEM): Use it.
54342         Also check for `table' function.
54343         Check for new headers and functions.
54344         Add check for sys/sysmp.h.
54345         With suggestions from Kaveh Ghazi.
54346         Ignore headers that are present but cannot be compiled.  This
54347         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
54348         C 5.4.
54349
54350 2003-08-15  Paul Eggert  <eggert@twinsun.com>
54351
54352         Document merge from coreutils.
54353         * modules/userspec: Depend on posixver.
54354         * modules/strftime: Depend on tzset.
54355
54356 2003-08-15  Paul Eggert  <eggert@twinsun.com>
54357
54358         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
54359         rather than tab, after '#' in shell-script copyright notices.
54360         Suggested by Bruno Haible.
54361
54362 2003-08-15  Paul Eggert  <eggert@twinsun.com>
54363
54364         * config/srclist-update: Use three spaces, rather than tab, after '#'
54365         in shell-script copyright notices.  Suggested by Bruno Haible.
54366         Remove unnecessary parenthesization in regular expression.
54367
54368 2003-08-15  Jim Meyering  <jim@meyering.net>
54369
54370         Merge from coreutils.
54371         * lib/xgethostname.c: Include <stdlib.h>.
54372         (xghostname): Don't exit for anything other than memory-related
54373         failure; just return NULL.
54374         * lib/userspec.c: Include "posixver.h".
54375         (parse_user_spec): Accept `.' as a separator only
54376         in pre-POSIX-200112 mode.
54377         * lib/strtoimax.c: Use #elif rather than #else #if.
54378         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
54379         Remove function, now that we can rely on a working tzset function.
54380         [!_LIBC]: Ensure that the required autoconf test has been run.
54381         [!defined _NL_CURRENT && HAVE_STRFTIME]:
54382         Use underlying_strftime for %r.
54383         * lib/sha.c: Merge in some clean-up and optimization changes from
54384         glibc.
54385         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
54386         Ensure that it is a multiple of 64.
54387         Rearrange loop exit tests so as to avoid performing an
54388         additional fread after encountering an error or EOF.
54389         * lib/realloc.c: Update copyright date.
54390
54391 2003-08-15  Jim Meyering  <jim@meyering.net>
54392         and Paul Eggert  <eggert@twinsun.com>
54393
54394         Merge from coreutils.
54395         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
54396         member but strut utmpx does not.  Needed for AIX 4.3.3.
54397         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
54398
54399 2003-08-15  Jim Meyering  <jim@meyering.net>
54400         and Paul Eggert  <eggert@cs.ucla.edu>
54401
54402         Merges from coreutils, etc.
54403         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
54404         Require gl_FUNC_TZSET_CLOBBER.
54405         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
54406         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
54407         members.
54408
54409 2003-08-14  Paul Eggert  <eggert@twinsun.com>
54410
54411         Help the merge from coreutils.
54412         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
54413         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
54414         * m4/tzset.m4: Use it too.
54415
54416 2003-08-14  Paul Eggert  <eggert@twinsun.com>
54417
54418         * modules/tzset: New file.
54419
54420 2003-08-14  Jim Meyering  <jim@meyering.net>
54421
54422         Merges from coreutils.
54423         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
54424         variable names, rather than @FNMATCH_H@.
54425         * modules/alloca: Likewise for $(ALLOCA_H).
54426
54427         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
54428         the three copies of the literal target, `fnmatch.h'.
54429         * modules/alloca (alloca.h): Likewise.
54430
54431 2003-08-14  Jim Meyering  <jim@meyering.net>
54432
54433         Merge from coreutils.
54434         * m4/tzset.m4: New file.
54435         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
54436         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
54437         otherwise, AIX 5.1 systems would end up using the latter.
54438         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
54439         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
54440         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
54441         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
54442
54443 2003-08-14  Jim Meyering  <jim@meyering.net>
54444
54445         Merge from coreutils.
54446         * lib/obstack.h: Whitespace changes.
54447         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
54448         and xcalloc return values.
54449         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
54450         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
54451         hang on OSF/1 5.1 for DIR on both local and remote file systems.
54452         Reported by (and fix confirmed by) Nelson H. F. Beebe.
54453         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
54454         error from mntctl.
54455         Use mntctl's return value to drive the entry-processing loop, since
54456         we can't rely on the value of the vmt_length member in the last
54457         entry.  On some systems doing so could result in exhausting
54458         virtual memory.  Based in part on a patch from Mike Jetzer.
54459
54460 2003-08-14  Jim Meyering  <jim@meyering.net>
54461         and Paul Eggert  <eggert@twinsun.com>
54462
54463         Merges from coreutils, plus other fixes.
54464         * lib/physmem.c: Merge in portability changes from gcc/libiberty
54465         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
54466         for credits and details.  Thanks to Kaveh Ghazi for helping
54467         to keep these files in sync.
54468         (ARRAY_SIZE): Define it.
54469         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
54470         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
54471         (memcasecmp): Don't assume size_t fits in unsigned int.
54472         Remove casts and duplicate code.
54473         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
54474         (memcpy): Remove definition.
54475         Merge in some clean-up and optimization changes from glibc.
54476         [BLOCKSIZE]: Move definition to top of file.
54477         Ensure that it is a multiple of 64.
54478         Rearrange loop exit tests so as to avoid performing an
54479         additional fread after encountering an error or EOF.
54480         * lib/md5.h (md5_uintptr): Define.
54481         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
54482         return to the initial working directory.  Preserve errno
54483         for caller.
54484         * lib/idcache.c: Include "xalloc.h".
54485         (xmalloc, xrealloc): Remove decls.
54486         (getuser): Remove casts no longer required in C89.
54487         * lib/human.c: Include stdio.h, for sprintf.
54488         * lib/group-member.c: Include "xalloc.h".
54489         (xmalloc, xrealloc): Remove decls.
54490         (get_group_info): Remove casts no longer required in C89.
54491         * lib/getusershell.c (readname): Remove casts no longer required in
54492         C89.
54493         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
54494         * lib/getline.c: Whitespace fix, from coreutils.
54495
54496 2003-08-13  Paul Eggert  <eggert@twinsun.com>
54497
54498         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
54499         Check for isascii.
54500
54501         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
54502         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
54503         Undo previous (whitespace-only) change.
54504
54505 2003-08-13  Paul Eggert  <eggert@twinsun.com>
54506
54507         * lib/exclude.c: Include <ctype.h>
54508         (IN_CTYPE_DOMAIN): New macro.
54509         (is_space): New fn.
54510         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
54511         and empty lines.
54512
54513         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
54514         Undo previous (whitespace-only) change.
54515
54516 2003-08-13  Paul Eggert  <eggert@twinsun.com>
54517
54518         * config/srclist-update: Change update back to the old behavior,
54519         leaving whitespace alone.  Use one 'sed' command rather than a
54520         pipeline.
54521         (fixlicense): Now a variable, not a function.
54522         (remove_trailing_blanks): Remove.
54523         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
54524         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
54525         Undo previous (whitespace-only) change.
54526
54527 2003-08-12  Paul Eggert  <eggert@twinsun.com>
54528
54529         Merge from coreutils.
54530         * modules/euidaccess: Add lib_SOURCES, include for new
54531         file euidaccess.h
54532
54533 2003-08-12  Paul Eggert  <eggert@twinsun.com>
54534
54535         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
54536         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
54537         Normalize leading white space and remove trailing white space.
54538
54539         Merge from coreutils
54540         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
54541
54542         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
54543         0.12.1.  These files are now being upgraded automatically by
54544         ../config/srclist-update.
54545
54546 2003-08-12  Paul Eggert  <eggert@twinsun.com>
54547
54548         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
54549         Normalize leading white space and remove trailing white space.
54550         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
54551         notice, as per ../config/srclist-update.
54552
54553         Merge from coreutils.
54554         * lib/euidaccess.h: New file.
54555         * lib/euidaccess.c: Include it.
54556         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
54557         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
54558         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
54559
54560 2003-08-12  Paul Eggert  <eggert@twinsun.com>
54561
54562         * config/srclist-update: Add copyright notice.
54563         (remove_id_lines, remove_trailing_blanks): New constants.
54564         (fixfile): Use them to normalize spacing a bit in copied files.
54565         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
54566         Normalize leading white space and remove trailing white space.
54567
54568         * config/texinfo.tex: Sync with texinfo.
54569
54570         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
54571         strtoul.c from libc, to merge coreutils whitespace changes.
54572
54573         * config/srclist.txt: Get the following m4 files from gettext:
54574         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
54575         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
54576         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
54577         wint_t.m4.
54578
54579 2003-08-12  Karl Berry  <karl@gnu.org>
54580
54581         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
54582         been made.
54583
54584 2003-08-11  Paul Eggert  <eggert@twinsun.com>
54585
54586         * modules/gnu-source, m4/gnu-source.m4:
54587         Remove; we're assuming Autoconf 2.54 or later now.
54588         Suggested by Bruno Haible.
54589         * MODULES.html.sh (func_all_modules): Remove gnu-source.
54590
54591 2003-08-11  Bruno Haible  <bruno@clisp.org>
54592
54593         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
54594
54595 2003-08-11  Bruno Haible  <bruno@clisp.org>
54596
54597         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
54598         (vasnprintf): Use it instead of wcslen.
54599
54600 2003-08-11  Bruno Haible  <bruno@clisp.org>
54601
54602         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
54603         value to ensure that _Bool promotes to int. Use #define for _Bool when
54604         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
54605
54606 2003-08-10  Karl Berry  <karl@gnu.org>
54607
54608         * lib/regex.h: update from libc (whitespace fix).
54609
54610 2003-08-09  Paul Eggert  <eggert@twinsun.com>
54611
54612         Merge some files from coreutils.  These changes were
54613         originally made by Jim Meyering.
54614         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
54615         many older Unixes require this.
54616         * lib/alloca.c (alloca): Remove cast to argument of free;
54617         no longer needed in C89.
54618         * lib/alloca_.h, regex.h: Fix white space to match
54619         what GNU indent does.
54620
54621 2003-08-09  Paul Eggert  <eggert@twinsun.com>
54622
54623         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
54624         apparently Emacs's Unicode mode got confused before my 2003-08-05
54625         checkin.
54626
54627 2003-08-08  Paul Eggert  <eggert@twinsun.com>
54628
54629         * m4/extensions.m4: New file.
54630         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
54631         Require gl_USE_SYSTEM_EXTENSIONS.
54632         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
54633         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
54634
54635 2003-08-08  Paul Eggert  <eggert@twinsun.com>
54636
54637         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
54638         * modules/extensions, modules/gnu-source: New files.
54639         * modules/timespec, modules/unlocked-io: Depend on extensions.
54640
54641 2003-08-07  Paul Eggert  <eggert@twinsun.com>
54642
54643         * modules/restrict: New file.
54644         * MODULES.html.sh (func_all_modules): Add restrict.
54645         * modules/regex: Depend on restrict.
54646
54647 2003-08-07  Paul Eggert  <eggert@twinsun.com>
54648
54649         * m4/restrict.m4: New file.
54650         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
54651
54652 2003-08-07  Bruno Haible  <bruno@clisp.org>
54653
54654         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
54655         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
54656
54657 2003-08-07  Bruno Haible  <bruno@clisp.org>
54658
54659         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
54660         makes the module 'getndelim2' compatible with the module 'getline'.
54661
54662 2003-08-05  Paul Eggert  <eggert@twinsun.com>
54663
54664         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
54665         byte with "\201" to avoid glitches when editing that source file
54666         with multi-gnome-terminal.
54667
54668 2003-08-05  Paul Eggert  <eggert@twinsun.com>
54669
54670         * lib/bumpalloc.h: Remove.
54671
54672 2003-08-05  Paul Eggert  <eggert@twinsun.com>
54673
54674         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
54675         * modules/bumpalloc: Remove.
54676
54677 2003-08-04  Paul Eggert  <eggert@twinsun.com>
54678
54679         * lib/getloadavg.c: Change copyright notice and spacing to conform to
54680         GNU coding style.
54681
54682         Merge from coreutils.
54683         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
54684         1. From glibc.
54685         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
54686         from Karl Berry, implemented by Jim Meyering.
54687         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
54688         from Dmitry V. Levin.
54689         Remove anachronistic cast of xrealloc.
54690         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
54691         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
54692         type. Otherwise, it wouldn't compile with at least /bin/cc on
54693         ymp-cray-unicos9.0.2.X.
54694         Combine two mostly-identical uses of alloca into one.
54695         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
54696
54697 2003-08-04  Dave Love  <d.love@dl.ac.uk>
54698
54699         [From Emacs.]
54700
54701         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
54702         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
54703         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
54704         obsolete NLIST_NAME_UNION.
54705         [__GNU__]: Undef BSD and FSCALE.
54706         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
54707
54708 2003-08-03  Paul Eggert  <eggert@twinsun.com>
54709
54710         * lib/stdbool_.h (_Bool): Make it signed char, instead of
54711         an enum type, so that it's guaranteed to promote to int.  See:
54712         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
54713
54714 2003-08-03  Karl Berry  <karl@gnu.org>
54715
54716         * config/depcomp: update from automake.
54717
54718 2003-07-31  Paul Eggert  <eggert@twinsun.com>
54719
54720         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
54721         (strerror): Don't assume that a printable int fits in 14 bytes.
54722
54723 2003-07-31  Bruno Haible  <bruno@clisp.org>
54724
54725         * modules/getpass-gnu: New file.
54726         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
54727
54728 2003-07-31  Bruno Haible  <bruno@clisp.org>
54729
54730         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
54731
54732 2003-07-24  Karl Berry  <karl@gnu.org>
54733
54734         * config/missing: update from automake.
54735
54736 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
54737             Bruno Haible  <bruno@clisp.org>
54738
54739         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
54740         * lib/getline.c (getline, getdelim): Likewise.
54741         Remove _GNU_SOURCE define; now it's defined in config.h through
54742         m4/getline.m4.
54743
54744 2003-07-23  Karl Berry  <karl@gnu.org>
54745
54746         * config/config.sub: update from prep.
54747
54748 2003-07-22  Paul Eggert  <eggert@twinsun.com>
54749
54750         * modules/xalloc (Depends-on): Add exitfail.
54751         * modules/xmemcoll: Likewise.
54752
54753 2003-07-22  Paul Eggert  <eggert@twinsun.com>
54754
54755         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
54756         over-parenthesization in macros.
54757
54758         Sync with coreutils.
54759
54760         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
54761         required by C99.
54762
54763         Use `exit_failure' for xalloc and xmemcoll instead of their own
54764         private exit-failure variables.
54765         * lib/xalloc.h (xalloc_exit_failure): Remove.
54766         * lib/xmalloc.c: Likewise.  Include exitfail.h.
54767         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
54768         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
54769         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
54770         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
54771
54772 2003-07-20  Jim Meyering  <jim@meyering.net>
54773
54774         * modules/closeout (Depends-on): Add exitfail.
54775         Suggestion from Bruno Haible.
54776
54777 2003-07-19  Karl Berry  <karl@gnu.org>
54778
54779         * config/config.sub: update from prep.
54780
54781 2003-07-18  Paul Eggert  <eggert@twinsun.com>
54782
54783         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
54784         Remove.
54785         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
54786         to test that it can stand by itself.  Include "exitfail.h".
54787         Clients should set exit_failure instead.
54788         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
54789
54790 2003-07-18  Bruno Haible  <bruno@clisp.org>
54791
54792         * modules/getndelim2: New file.
54793         * modules/getline: Share files with module getndelim2.
54794         * modules/getnline: Depend on getndelim2 instead of sharing files with
54795         it. Add getnline.c to lib_SOURCES.
54796         * MODULES.html.sh (func_all_modules): Add getndelim2.
54797
54798 2003-07-18  Bruno Haible  <bruno@clisp.org>
54799
54800         * m4/getndelim2.m4: New file.
54801         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
54802         invoke gl_PREREQ_GETNDELIM2.
54803         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
54804         gl_PREREQ_GETNDELIM2.
54805         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
54806         gl_GETNDELIM2.
54807
54808 2003-07-18  Bruno Haible  <bruno@clisp.org>
54809
54810         * lib/getndelim2.h: New file.
54811         * lib/getndelim2.c: Make into a module of its own. Include config.h,
54812         getndelim2.h.
54813         (getndelim2): Make non-static. Change return type to ssize_t.
54814         * lib/getline.h: Change argument names.
54815         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
54816         * lib/getnline.c: Include getndelim2.h.
54817
54818 2003-07-18  Andreas Schwab  <schwab@suse.de>
54819
54820         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
54821
54822 2003-07-17  Karl Berry  <karl@gnu.org>
54823
54824         * config/config.sub: update from prep.
54825
54826 2003-07-17  Bruno Haible  <bruno@clisp.org>
54827
54828         * modules/getnline: New file.
54829         * modules/getline: Add lib/getndelim2.c to source file list.
54830         * MODULES.html.sh (func_all_modules): Add getnline.
54831
54832 2003-07-17  Bruno Haible  <bruno@clisp.org>
54833
54834         * m4/getnline.m4: New file.
54835
54836 2003-07-17  Bruno Haible  <bruno@clisp.org>
54837
54838         * m4/Makefile.am.in: Remove file.
54839         * m4/Makefile.am: Remove file.
54840         * m4/Makefile.in: Remove file.
54841
54842 2003-07-17  Bruno Haible  <bruno@clisp.org>
54843
54844         * lib/getnline.h: New file.
54845         * lib/getnline.c: New file.
54846         * lib/getndelim2.c: New file, extracted from getline.c.
54847         (getndelim2): Renamed from getdelim2, with added nmax argument.
54848         * lib/getline.c: Include getndelim2.c.
54849         (getdelim2): Moved out to getndelim2.c.
54850         (getline, getdelim): Update.
54851
54852 2003-07-17  Bruno Haible  <bruno@clisp.org>
54853
54854         * lib/Makefile.am: Remove file.
54855         * lib/Makefile.in: Remove file.
54856
54857 2003-07-17  Bruno Haible  <bruno@clisp.org>
54858
54859         * configure.in: Remove file.
54860         * Makefile.in: Remove file.
54861
54862 2003-07-17  Bruno Haible  <bruno@clisp.org>
54863
54864         * MODULES.html.sh: Put the </BODY> right before </HTML>.
54865
54866 2003-07-16  Karl Berry  <karl@gnu.org>
54867
54868         * config/srclist-update: was running fixlicense twice, which caused
54869                 texinfo.tex to be nullified for some reason.  Simplify,
54870                 $gplsrc is no longer needed as far as I can see?
54871
54872 2003-07-16  Jim Meyering  <jim@meyering.net>
54873
54874         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
54875
54876 2003-07-15  Paul Eggert  <eggert@twinsun.com>
54877
54878         * config/srclist.txt: Get the following files from gettext-runtime/intl
54879         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
54880         ref-del.sin.  From Bruno Haible.
54881         * config/srclist-update (fixfile): Change grep pattern again, since the
54882         previous fix didn't work (there was another trailing $).  Use
54883         '[$]' to escape the $s.
54884
54885 2003-07-15  Karl Berry  <karl@gnu.org>
54886
54887         * lib/vasnprintf.c: update from gettext.
54888
54889 2003-07-15  Karl Berry  <karl@gnu.org>
54890
54891         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
54892         gets expanded when surrounded by '$'.
54893
54894 2003-07-15  Jim Meyering  <jim@meyering.net>
54895
54896         * modules/save-cwd: Don't depend on error.  From Derek Price.
54897
54898 2003-07-15  Jim Meyering  <jim@meyering.net>
54899
54900         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
54901
54902 2003-07-14  Simon Josefsson  <jas@extundo.com>
54903
54904         * modules/mempcpy: New file.
54905         * MODULES.html.sh (func_all_modules): Add mempcpy.
54906
54907 2003-07-14  Simon Josefsson  <jas@extundo.com>
54908
54909         * m4/mempcpy.m4: New file.
54910
54911 2003-07-14  Simon Josefsson  <jas@extundo.com>
54912
54913         * lib/mempcpy.h: New file.
54914         * lib/mempcpy.c: New file.
54915
54916 2003-07-14  Paul Eggert  <eggert@twinsun.com>
54917
54918         * modules/getdate, modules/posixtm: Depend on mktime.
54919
54920 2003-07-14  Paul Eggert  <eggert@twinsun.com>
54921
54922         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
54923         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
54924         unicodeio.c, unicodeio.h, unlocked-io.h:
54925         Switch from LGPL to GPL.
54926
54927 2003-07-14  Paul Eggert  <eggert@twinsun.com>
54928
54929         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
54930         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
54931         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
54932         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
54933         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
54934         updated automatically by ../config/srclist-update.  This changes
54935         their license from LPGL to GPL.
54936
54937 2003-07-14  Paul Eggert  <eggert@twinsun.com>
54938
54939         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
54940         assumed to refer to the root of the most recent stable gettext version.
54941         * config/srclistvars.sh: Add defaults for eggert.
54942         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
54943         Match "This program" as well as "The program".  This is needed
54944         for gettext.
54945
54946 2003-07-14  Jim Meyering  <jim@meyering.net>
54947
54948         Don't emit diagnostics.  Let callers do that.
54949         * lib/save-cwd.c: Don't include "error.h".
54950         (save_cwd): Don't call error.  Ensure that errno is valid
54951         when returning nonzero.
54952
54953         * lib/save-cwd.h (restore_cwd): Update prototype.
54954         * lib/save-cwd.c (restore_cwd): Remove two parameters.
54955         Simplify.  Don't call error upon failure.  Let callers do that.
54956         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
54957         when auditing is enabled.  But don't bother updating the #if.
54958
54959 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
54960
54961         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
54962         it breaks C++ compilation.
54963         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
54964
54965 2003-07-10  Simon Josefsson  <jas@extundo.com>
54966
54967         * modules/strchrnul (Makefile.am): Add strchrnul.h.
54968
54969 2003-07-10  Jim Meyering  <jim@meyering.net>
54970
54971         * m4/clock_time.m4: Remove trailing blank.
54972         * m4/intmax_t.m4: Likewise.
54973
54974 2003-07-10  Jim Meyering  <jim@meyering.net>
54975
54976         * lib/vasnprintf.c: Remove trailing blanks.
54977         Make cpp indentation consistent.
54978
54979 2003-07-09  Paul Eggert  <eggert@twinsun.com>
54980
54981         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
54982         posixver.c, strftime.c, strnlen.c, strverscmp.c:
54983         Switch from LGPL to GPL.
54984
54985 2003-07-09  Paul Eggert  <eggert@twinsun.com>
54986
54987         * config/srclist.txt: Sort sublists.  Add
54988         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
54989         that differ from gnulib for one reason or another; we'd like this list
54990         to be smaller but for now let's document what we have.
54991
54992 2003-07-08  Paul Eggert  <eggert@twinsun.com>
54993
54994         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
54995         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
54996         and sweeter "eval x=$x".
54997         * config/srclist.txt: Get lib/argp* from glibc.
54998
54999 2003-07-07  Paul Eggert  <eggert@twinsun.com>
55000
55001         * lib/mktime.c: Fix some boundary cases and remove need for floating
55002         point.
55003
55004         Issue a compile-time diagnostic if time_t is floating point, or if
55005         two's complement arithmetic is not in effect, or if arithmetic
55006         right shift does not propagate the sign.  These assumptions were
55007         all in the original code but they weren't checked.
55008
55009         (TIME_T_MIDPOINT, verify): New macros.
55010         (__isleap): Remove; it has integer overflow problems.
55011         (leapyear): New function, without those problems.
55012         (ydhms_tm_diff): Remove; splitting into two parts.
55013         (ydhms_diff): New function, containing the arithmetic part of
55014         the old ydhms_tm_diff function.  Issue a compile-time
55015         diagnostic if we are not using C99 integer division.
55016         Avoid casts when possible.
55017         (guess_time_tm): New function, containing the checking part of
55018         the old ydhms_tm_diff function.  Return the new value, rather than
55019         the difference between it and the old.  Accept a new argument T
55020         so that *T specifies the old value.  Check for overflow in the result.
55021
55022         (__mktime_internal): Use a time_t offset, not a long int offset.
55023         This undoes the 2003-06-04 change, which is no longer needed now
55024         that we have better overflow checking.
55025         (localtime_offset): Likewise.
55026
55027         (__mktime_internal): Avoid harmful overflow on hosts where time_t
55028         and long are 64-bit but int is only 32-bit.
55029         (ydhms_diff): Use long int to store year1 and yday1.
55030         Issue a compile-time diagnostic if long int is not wide enough.
55031
55032         (__mktime_internal): Use long int to store adjusted year and yday.
55033         Use plain C rather than preprocessor commands, if that doesn't
55034         affect efficiency.
55035         Check for overflow (and try to repair) after each probe
55036         rather than checking only at the very end.  This avoids some bugs
55037         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
55038         does not equal GMT offset at maximum time).
55039         Use integer to check for overflow rather than floating point; this
55040         is more portable to non-IEEE hosts, and is a tad faster.
55041         When we detect that we are oscillating between two values,
55042         don't check whether tm_isdst has the requested value, since
55043         we already know the answer.  When tm_isdst has the wrong value,
55044         use a different heuristic to find the right one, based on the
55045         extreme values actually observed in practice in tz2003a,
55046         rather than the (overly optimistic) "previous 3 calendar quarters".
55047
55048         (not_equal_tm, print_tm, check_result): Use "const T" rather than
55049         "T const" to accommodate glibc style.
55050         (check_result): Use less-confusing report format.  "long" -> "long int.
55051         (main): Likewise.
55052         Don't loop if the iteration overflows time_t.
55053         Allow a negative step in the iteration.
55054
55055 2003-07-06  Karl Berry  <karl@gnu.org>
55056
55057         * config/depcomp: update from automake.
55058         * config/config.sub: update from prep.
55059
55060 2003-07-03  Karl Berry  <karl@gnu.org>
55061
55062         * config/config.guess: update from prep.
55063
55064 2003-07-01  Paul Eggert  <eggert@twinsun.com>
55065
55066         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
55067         xreadlink.c now includes it unconditionally.
55068
55069 2003-07-01  Paul Eggert  <eggert@twinsun.com>
55070
55071         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
55072         having it depend on HAVE_SYS_TYPES_H.
55073
55074 2003-07-01  Bruno Haible  <bruno@clisp.org>
55075
55076         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
55077         <sys/types.h> should be sufficient.
55078         Reported by Paul Eggert.
55079
55080 2003-06-26  Karl Berry  <karl@gnu.org>
55081
55082         * config/depcomp: update from automake.
55083
55084 2003-06-26  Bruno Haible  <bruno@clisp.org>
55085
55086         * modules/human: Depend on module stdbool.
55087
55088 2003-06-25  Bruno Haible  <bruno@clisp.org>
55089
55090         * modules/readlink: New file.
55091         * modules/xreadlink: Depend on it.
55092         * MODULES.html.sh (func_all_modules): Add readlink.
55093
55094 2003-06-25  Bruno Haible  <bruno@clisp.org>
55095
55096         * m4/readlink.m4: New file.
55097
55098 2003-06-25  Bruno Haible  <bruno@clisp.org>
55099
55100         * lib/readlink.c: New file.
55101
55102 2003-06-22  Karl Berry  <karl@gnu.org>
55103
55104         * config/srclist.txt: update mkinstalldirs from automake.
55105         * config/mkinstalldirs: update.
55106
55107 2003-06-22  Bruno Haible  <bruno@clisp.org>
55108
55109         Portability to mingw32.
55110         * m4/ssize_t.m4: New file, from GNU gettext.
55111         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
55112         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
55113
55114 2003-06-22  Bruno Haible  <bruno@clisp.org>
55115
55116         * modules/safe-read: Add m4/ssize_t.m4.
55117         * modules/xreadlink: Add m4/ssize_t.m4.
55118
55119 2003-06-20  Bruno Haible  <bruno@clisp.org>
55120
55121         Assume C89, so PARAMS isn't needed.
55122         * lib/unicodeio.h (PARAMS): Remove.
55123         * lib/unicodeio.c: Don't use PARAMS.
55124
55125 2003-06-18  Karl Berry  <karl@gnu.org>
55126
55127         * config/config.{guess,sub}: update from prep.
55128
55129 2003-06-18  Jim Meyering  <jim@meyering.net>
55130
55131         Merge changes from coreutils.
55132         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
55133         Remove explicit declarations of xmalloc and realloc.
55134         Include xalloc.h.
55135         (read_utmp): Remove anachronistic cast of xmalloc.
55136
55137 2003-06-17  Paul Eggert  <eggert@twinsun.com>
55138
55139         Assume C89, so PARAMS isn't needed.
55140         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
55141         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
55142         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
55143         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
55144         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
55145         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
55146         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
55147         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
55148         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
55149         lib/xstrtod.h, lib/xstrtol.h: Likewise.
55150         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
55151         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
55152         no longer needed. Anyway, config.h should always be included before any
55153         other file.
55154
55155 2003-06-11  Simon Josefsson  <jas@extundo.com>
55156
55157         * modules/sysexits: New file.
55158         * MODULES.html.sh (func_all_modules): Add sysexits.
55159
55160 2003-06-11  Simon Josefsson  <jas@extundo.com>
55161
55162         * lib/sysexit_.h: New file.
55163
55164 2003-06-11  Derek Price  <derek@ximbiot.com>
55165
55166         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
55167         necessary.
55168
55169 2003-06-11  Bruno Haible  <bruno@clisp.org>
55170
55171         * m4/sysexits.m4: New file.
55172
55173 2003-06-10  Simon Josefsson  <jas@extundo.com>
55174
55175         * lib/argp.h: New file, from glibc.
55176         * lib/argp-ba.c: New file, from glibc.
55177         * lib/argp-eexst.c: New file, from glibc.
55178         * lib/argp-fmtstream.c: New file, from glibc.
55179         * lib/argp-fmtstream.h: New file, from glibc.
55180         * lib/argp-fs-xinl.c: New file, from glibc.
55181         * lib/argp-help.c: New file, from glibc.
55182         * lib/argp-namefrob.h: New file, from glibc.
55183         * lib/argp-parse.c: New file, from glibc.
55184         * lib/argp-pv.c: New file, from glibc.
55185         * lib/argp-pvh.c: New file, from glibc.
55186         * lib/argp-xinl.c: New file, from glibc.
55187
55188 2003-06-10  Simon Josefsson  <jas@extundo.com>
55189
55190         * modules/strchrnul: New file.
55191
55192 2003-06-10  Simon Josefsson  <jas@extundo.com>
55193
55194         * modules/argp: New file.
55195
55196 2003-06-10  Simon Josefsson  <jas@extundo.com>
55197
55198         * m4/strchrnul.m4: New file.
55199
55200 2003-06-10  Simon Josefsson  <jas@extundo.com>
55201
55202         * lib/strchrnul.h: New file.
55203         * lib/strchrnul.c: New file.
55204
55205 2003-06-10  Bruno Haible  <bruno@clisp.org>
55206
55207         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
55208
55209 2003-06-07  Karl Berry  <karl@gnu.org>
55210
55211         * config/config.{guess,sub}: update from prep.
55212
55213 2003-06-07  Jim Meyering  <jim@meyering.net>
55214
55215         * modules/strtod: Use $(...) notation, not @...@ for
55216         AC_REPLACE'd variables.
55217         * modules/localcharset: Likewise.
55218
55219 2003-06-07  Jim Meyering  <jim@meyering.net>
55220
55221         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
55222         in place of my name in the copyright comment.
55223         Remove definition and uses of __P.
55224
55225         From coreutils.
55226         * lib/stat.c: Don't declare xmalloc explicitly.
55227         Instead, include "xalloc.h".
55228         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
55229         xrealloc, and xcalloc return values.
55230         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
55231         Improve comment.
55232         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
55233
55234 2003-06-07  Bruno Haible  <bruno@clisp.org>
55235
55236         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
55237         avoid AC_CONFIG_LINKS.
55238         * modules/fnmatch (Makefile.am): Use explicit creation rule for
55239         fnmatch.h, to avoid AC_CONFIG_LINKS.
55240         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
55241
55242 2003-06-07  Bruno Haible  <bruno@clisp.org>
55243
55244         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
55245         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
55246         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
55247         directory.
55248         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
55249         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
55250         directory.
55251
55252 2003-06-06  Jim Meyering  <jim@meyering.net>
55253
55254         Merge from coreutils.
55255         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
55256         Consolidate declarations and initializations of *_base* locals.
55257
55258         Merge from coreutils.
55259         This avoids a core dump on systems without GNU putenv,
55260         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
55261         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
55262         (unsetenv): New static function, from GNU libc.
55263         (rpl_putenv): Use it.
55264
55265         * lib/modechange.c: Remove trailing blanks.
55266
55267         Merge from coreutils.
55268         * lib/fsusage.c: Remove declaration of statfs.
55269         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
55270
55271         * lib/posixtm.c: Include <stdbool.h> unconditionally.
55272
55273 2003-06-06  Jim Meyering  <jim@meyering.net>
55274
55275         * lib/stdbool_.h: Renamed from stdbool.h.in.
55276
55277 2003-06-06  Jim Meyering  <jim@meyering.net>
55278             Bruno Haible  <bruno@clisp.org>
55279
55280         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
55281         Adjust Makefile.am snippet not to redirect directly to target.
55282         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
55283
55284 2003-06-05  Paul Eggert  <eggert@twinsun.com>
55285
55286         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
55287         mismatch, look in future quarters as well as past.  This fixes a
55288         bug when processing fall-backwards gaps immediately after a long
55289         period of daylight-saving time.
55290
55291         * lib/mktime.c: Assume freestanding C89 or better.
55292         (HAVE_LIMITS_H): Remove.  Assume it's 1.
55293         (__P): Remove; not used.
55294         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
55295         (mktime, not_equal_tm, print_tm, check_result,
55296         main): Use prototypes.  Use const * where appropriate.
55297         (main): Fix typo in testing code that uncovered by above changes.
55298         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
55299
55300 2003-06-04  Paul Eggert  <eggert@twinsun.com>
55301
55302         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
55303         locale.h, localeconv.  This merges changes from coreutils.
55304
55305         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
55306         It can be removed after the next Autoconf is released.
55307         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
55308         needed.
55309
55310 2003-06-04  Paul Eggert  <eggert@twinsun.com>
55311
55312         * lib/mktime.c: Fix Debian bug 177940
55313         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
55314         (localtime_offset): Now long int, not time_t, because we want it
55315         to be guaranteed to be signed.  All uses changed.
55316         (__mktime_internal): If overflow would occur when adding offset,
55317         don't add it.
55318
55319         Merge 'human' changes from coreutils.  Rewrite to support
55320         locale-specific notations like thousands separators.
55321         * lib/human.c: Simplify authorship notice.
55322         Include human.h immediately after config.h.
55323         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
55324         <limits.h>: Do not include, since human.h does.
55325         (SIZE_MAX, UINTMAX_MAX): New macros.
55326         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
55327         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
55328         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
55329         (power_letter): Renamed from suffixes.
55330         (generate_suffix_backwards): Remove.
55331         (adjust_value): Now takes int style (because of human.h changes)
55332         and long double value (for greater precision on some platforms).
55333         (group_number): New function.
55334         (human_readable): Use it.  Use integer options, not enum.
55335         Put the options before the sizes in the arg list.
55336         Support all the new options.
55337         The old human_readable function has been removed;
55338         use inttostr.h instead.
55339         (human_readable, default_block_size, humblock):
55340         Use uintmax_t, not int, for block sizes.
55341         (human_readable_inexact, block_size_types): Remove.
55342         (block_size_opts): New constant.
55343         (human_options): Renamed from human_block_size, with new signature
55344         that allows block sizes up to UINTMAX_MAX.  All callers changed.
55345         * lib/human.h: Add copyright and authorship notice.
55346         Include <limits.h> and <stdbool.h> unconditionally.
55347         (PARAMS): Remove.  All uses removed.
55348         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
55349         (enum human_inexact_style): Remove tag; now a nameless enum.
55350         (human_floor, human_ceiling, human_round_to_even): Now have
55351         values 2, 0, 1 rather than -1, 1, 0.
55352         (human_group_digits, human_suppress_point_zero, human_autoscale,
55353         human_base_1024, human_SI, human_B): New constants.
55354         (human_readable_inexact, human_block_size): Remove.
55355         (human_readable): Size args are now uintmax_t, not int.
55356         (human_options): New decl.
55357
55358         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
55359         unnecessary now that we assume C89 or better.  This change
55360         imported from coreutils.
55361
55362         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
55363         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
55364         in the 2003-05-30 sync from glibc.
55365
55366         .h files should stand alone, but we shouldn't include <sys/types.h>
55367         if we can get away with just <stddef.h>.
55368
55369         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
55370         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
55371         rather than <sys/types.h>, as we merely need size_t.
55372         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
55373         to get size_t.
55374         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
55375         Include <stdio.h>, to get FILE.
55376         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
55377         memcasecmp.h has included <stddef.h> and all we need is size_t.
55378         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
55379         our interface, instead of including <sys/types.h>
55380
55381 2003-06-04  Paul Eggert  <eggert@twinsun.com>
55382
55383         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
55384         now, as glibc mktime is buggy on non-glibc systems.
55385
55386 2003-06-03  Karl Berry  <karl@gnu.org>
55387
55388         * config/config.sub: update from prep.
55389
55390 2003-06-02  Paul Eggert  <eggert@twinsun.com>
55391
55392         [from coreutils]
55393         Fix some minor time-related bugs with POSIX time arguments.
55394         Some valid time stamps were being rejected (notably -1, and
55395         time stamps before 1900 on 64-bit hosts).  And some invalid
55396         time stamps were being accepted, e.g. September 31.
55397
55398         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
55399         that we can return (time_t) -1 successfully.
55400         * lib/posixtm.c: Likewise.
55401         [HAVE_STDBOOL_H]: Include <stdbool.h>.
55402         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
55403         (t): Remove static var.
55404         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
55405         of static var.  All uses changed.
55406         (year): Do not reject years before 1900; they can occur with
55407         64-bit time_t.
55408         (posix_time_parse): Do not check for out-of-range components;
55409         that is now the caller's responsibility, since our checks were
55410         only approximations.
55411         (posixtime): Use mktime to check for out-of-range components,
55412         since it knows them exactly.
55413         If mktime returns (time_t) -1, check whether an error actually occurred
55414         by invoking localtime on -1.
55415         (main) [TEST_POSIXTIME]: Check for input data errors, and report
55416         posixtime failures better.
55417         Improve the test data (in comments only).
55418
55419 2003-06-02  Karl Berry  <karl@gnu.org>
55420
55421         * config/mkinstalldirs (version): new variable.
55422         (--version): new option.
55423         (usage): improve message.
55424
55425 2003-05-30  Karl Berry  <karl@gnu.org>
55426
55427         * lib/mktime.c: update from libc.
55428
55429 2003-05-30  Bruno Haible  <bruno@clisp.org>
55430
55431         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
55432         * config/config.rpath: Upgrade to gettext-0.12.1.
55433
55434 2003-05-30  Bruno Haible  <bruno@clisp.org>
55435
55436         * m4/gettext.m4: Upgrade to gettext-0.12.1.
55437         * m4/nls.m4: New file, from gettext-0.12.1.
55438         * m4/po.m4: New file, from gettext-0.12.1.
55439         * m4/progtest.m4: Upgrade to gettext-0.12.1.
55440
55441 2003-05-30  Bruno Haible  <bruno@clisp.org>
55442
55443         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
55444         * lib/localcharset.h: Likewise.
55445         * lib/localcharset.c: Likewise.
55446
55447 2003-05-29  Karl Berry  <karl@gnu.org>
55448
55449         * config/config.rpath: update from gettext.
55450
55451 2003-05-28  Paul Eggert  <eggert@twinsun.com>
55452
55453         Assume the headers required for C89 freestanding compilers.
55454         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
55455         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
55456         * m4/human.m4 (gl_HUMAN): Likewise.
55457         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
55458         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
55459         * m4/userspec.m4 (gl_USERSPEC): Likewise.
55460         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
55461         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
55462         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
55463
55464 2003-05-28  Paul Eggert  <eggert@twinsun.com>
55465
55466         Assume the headers required for C89 freestanding compilers.
55467         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
55468         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
55469         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
55470         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
55471         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
55472         define, since <limits.h> is guaranteed to do that.
55473         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
55474         * lib/exclude.c: Include <stdbool.h> unconditionally.
55475         * lib/tempname.c: Include <stddef.h> unconditionally.
55476         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
55477         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
55478         <stddef.h> does that.
55479         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
55480         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
55481         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
55482         needed.
55483         * lib/xstrtol.c: Likewise.
55484         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
55485         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
55486
55487         * lib/addext.c (addext): Use assignment rather than cast, to avoid
55488         warnings on some platforms.
55489
55490         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
55491         arbitrarily.
55492
55493 2003-05-26  Jim Meyering  <jim@meyering.net>
55494
55495         Merge in a change from coreutils:
55496         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
55497         that is guaranteed to be `no'.  Use `no_such_member' to indicate
55498         that condition, rather than `-1' which is slightly misleading.
55499         Change the name of the cache variable to have the gl_ prefix.
55500         Prompted by a patch from Richard Dawe for DJGPP.
55501
55502 2003-05-24  Karl Berry  <karl@gnu.org>
55503
55504         * config/config.guess: update from prep.
55505
55506 2003-05-22  Karl Berry  <karl@gnu.org>
55507
55508         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
55509
55510 2003-05-20  Karl Berry  <karl@gnu.org>
55511
55512         * config/config.guess: update from prep.
55513
55514 2003-05-18  Karl Berry  <karl@gnu.org>
55515
55516         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
55517         might actually be set by the user.
55518
55519         * config/depcomp, install-sh, mdate-sh: update from automake.
55520
55521 2003-05-17  Bruno Haible  <bruno@clisp.org>
55522
55523         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
55524         invalid expansion for AC_EGREP_CPP.
55525         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
55526         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
55527         Suggested by Akim Demaille <akim@epita.fr> in
55528         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
55529
55530 2003-05-12  Jim Meyering  <jim@meyering.net>
55531
55532         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
55533         the space-padded-by-default conversion specifiers, %e, %k, %l.
55534
55535 2003-05-12  Bruno Haible  <bruno@clisp.org>
55536
55537         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
55538         the string is longer than 4 KB.
55539
55540 2003-05-11  Karl Berry  <karl@gnu.org>
55541
55542         * config/config.{guess,sub}: update from prep.
55543
55544 2003-05-09  Bruno Haible  <bruno@clisp.org>
55545
55546         * modules/error: Add m4/strerror_r.m4 to file list.
55547
55548 2003-05-03  Bruno Haible  <bruno@clisp.org>
55549
55550         Upgrade to Unicode-4.0.
55551         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
55552         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
55553         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
55554         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
55555         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
55556         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
55557         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
55558         Change width of U+E0100..U+E01EF from 1 to 0.
55559
55560 2003-04-25  Jim Meyering  <jim@meyering.net>
55561
55562         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
55563         of type size_t, not int.
55564
55565 2003-04-25  Bruno Haible  <bruno@clisp.org>
55566
55567         * lib/copy-file.c: Include <stddef.h>, for size_t.
55568
55569 2003-04-21  Paul Eggert  <eggert@twinsun.com>
55570
55571         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
55572         code which expansion is under static control.  Patch imported from
55573         Akim Demaille's patch to Bison; see
55574         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
55575
55576 2003-04-14  Bruno Haible  <bruno@clisp.org>
55577
55578         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
55579
55580 2003-04-11  Jim Meyering  <jim@meyering.net>
55581
55582         Merge changes from Coreutils.
55583
55584         2003-03-22  Jim Meyering  <jim@meyering.net>
55585
55586         * lib/strftime.c (widen): Cast alloca return value to proper type.
55587
55588         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
55589
55590         From GNU libc.
55591         * lib/strftime.c (my_strftime): Handle very large width
55592         specifications for numeric values correctly.  Improve checks for
55593         overflow.
55594
55595         2003-01-19  Jim Meyering  <jim@meyering.net>
55596
55597         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
55598         definitions.
55599         (nl_get_alt_digit) [! defined my_strftime]: Define.
55600         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
55601         _nl_get_alt_digit and _nl_get_walt_digit.
55602
55603         * lib/strftime.c (my_strftime): Merge in locale-related changes from
55604         libc. These changes have no effect outside of _LIBC.
55605
55606 2003-04-10  Bruno Haible  <bruno@clisp.org>
55607
55608         * modules/findprog: New file.
55609         * MODULES.html.sh (func_all_modules): Add it.
55610
55611 2003-04-10  Bruno Haible  <bruno@clisp.org>
55612
55613         * m4/findprog.m4: New file.
55614         * m4/eaccess.m4: New file.
55615
55616 2003-04-10  Bruno Haible  <bruno@clisp.org>
55617
55618         * lib/findprog.h: New file, from GNU gettext.
55619         * lib/findprog.c: New file, from GNU gettext.
55620
55621 2003-04-05  Jim Meyering  <jim@meyering.net>
55622
55623         Merge changes from Coreutils.
55624
55625         * lib/exclude.h (PARAMS): Remove definition and uses.
55626         * lib/exclude.c: Remove uses of `PARAMS'.
55627
55628         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
55629         Add test-cases for DOS filenames. Declare program_name.
55630         (main): Set up program_name.  Patch by Rich Dawe.
55631
55632         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
55633         error from mntctl.
55634         Use mntctl's return value to drive the entry-processing loop, since
55635         we can't rely on the value of the vmt_length member in the last
55636         entry.  On some systems doing so could result in exhausting
55637         virtual memory.  Based in part on a patch from Mike Jetzer.
55638
55639 2003-04-04  Bruno Haible  <bruno@clisp.org>
55640
55641         * modules/linebreak: New file.
55642         * MODULES.html.sh (func_all_modules): Add it.
55643
55644 2003-04-04  Bruno Haible  <bruno@clisp.org>
55645
55646         * m4/linebreak.m4: New file.
55647
55648 2003-04-04  Bruno Haible  <bruno@clisp.org>
55649
55650         * lib/linebreak.h: New file, from GNU gettext.
55651         * lib/linebreak.c: New file, from GNU gettext with slight
55652         modifications.
55653         * lib/lbrkprop.h: New file, from GNU gettext.
55654
55655 2003-04-03  Bruno Haible  <bruno@clisp.org>
55656
55657         * modules/utf8-ucs4: New file.
55658         * modules/utf16-ucs4: New file.
55659         * modules/ucs4-utf8: New file.
55660         * modules/ucs4-utf16: New file.
55661         * MODULES.html.sh (func_all_modules): Add them.
55662
55663 2003-04-03  Bruno Haible  <bruno@clisp.org>
55664
55665         * m4/utf-ucs4.m4: New file.
55666         * m4/ucs4-utf.m4: New file.
55667
55668 2003-04-03  Bruno Haible  <bruno@clisp.org>
55669
55670         * lib/utf8-ucs4.h: New file, from GNU gettext.
55671         * lib/utf16-ucs4.h: New file, from GNU gettext.
55672         * lib/ucs4-utf8.h: New file, from GNU gettext.
55673         * lib/ucs4-utf16.h: New file, from GNU gettext.
55674
55675 2003-04-02  Bruno Haible  <bruno@clisp.org>
55676
55677         * modules/binary-io: New file.
55678         * MODULES.html.sh (func_all_modules): Add it.
55679
55680 2003-04-02  Bruno Haible  <bruno@clisp.org>
55681
55682         * lib/binary-io.h: New file, from GNU gettext.
55683
55684 2003-04-01  Bruno Haible  <bruno@clisp.org>
55685
55686         * modules/pathname: New file.
55687         * MODULES.html.sh (func_all_modules): Add it.
55688
55689 2003-04-01  Bruno Haible  <bruno@clisp.org>
55690
55691         * lib/pathname.h: New file, from GNU gettext.
55692         * lib/concatpath.c: New file, from GNU gettext.
55693
55694 2003-03-30  Bruno Haible  <bruno@clisp.org>
55695
55696         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
55697
55698 2003-03-30  Bruno Haible  <bruno@clisp.org>
55699
55700         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
55701         function chown() doesn't exist.
55702
55703 2003-03-28  Bruno Haible  <bruno@clisp.org>
55704
55705         * modules/copy-file: New file.
55706         * MODULES.html.sh (func_all_modules): Add it.
55707
55708 2003-03-28  Bruno Haible  <bruno@clisp.org>
55709
55710         * m4/copy-file.m4: New file.
55711
55712 2003-03-28  Bruno Haible  <bruno@clisp.org>
55713
55714         * lib/copy-file.h: New file, from GNU gettext.
55715         * lib/copy-file.c: New file, from GNU gettext.
55716
55717 2003-03-18  Jim Meyering  <jim@meyering.net>
55718
55719         * lib/quote.c (quote_n): Fix typo in comment.
55720
55721 2003-03-18  Bruno Haible  <bruno@clisp.org>
55722
55723         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
55724         checking.
55725         * m4/onceonly_2_57.m4: Likewise.
55726
55727 2003-03-17  Bruno Haible  <bruno@clisp.org>
55728
55729         * m4/onceonly.m4: Require autoconf 2.54 or newer.
55730         (m4_quote): Remove macro.
55731         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
55732
55733 2003-03-14  Jim Meyering  <jim@meyering.net>
55734
55735         Merge changes from Coreutils.
55736         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
55737         to be const, in order to avoid warnings.
55738         (obstack_room): Likewise.
55739         (obstack_empty_p): Likewise.
55740
55741 2003-03-14  Bruno Haible  <bruno@clisp.org>
55742
55743         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
55744         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
55745
55746 2003-03-13  Paul Eggert  <eggert@twinsun.com>
55747
55748         Merge changes from Bison.
55749         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
55750         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
55751         when compiling Bison 1.875's `bitset bset = obstack_alloc
55752         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
55753         * lib/hash.c: Include <stdbool.h> unconditionally.
55754
55755 2003-03-13  Paul Eggert  <eggert@twinsun.com>
55756
55757         * m4/onceonly.m4 (m4_quote): New macro.
55758         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
55759         Quote AC_FOREACH variable-expansions properly.
55760
55761 2003-03-13  Paul Eggert  <eggert@twinsun.com>
55762
55763         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
55764
55765 2003-03-09  Paul Eggert  <eggert@twinsun.com>
55766
55767         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
55768         Reported by Bruce Becker; see:
55769         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
55770
55771 2003-03-03  Paul Eggert  <eggert@twinsun.com>
55772             Bruno Haible  <bruno@clisp.org>
55773
55774         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
55775         Reported by John Hughes, see
55776         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
55777
55778 2003-02-20  Bruno Haible  <bruno@clisp.org>
55779
55780         * MODULES.html.sh (func_all_modules): Add poll.
55781
55782 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
55783
55784         * modules/poll: New file.
55785
55786 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
55787
55788         * lib/poll_.h: New file.
55789         * lib/poll.c: New file.
55790
55791 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
55792
55793         * m4/poll.m4: New file.
55794
55795 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
55796
55797         * modules/mathl: New file.
55798
55799 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
55800
55801         * lib/mathl.h: New file.
55802         * lib/acosl.c: New file.
55803         * lib/asinl.c: New file.
55804         * lib/atanl.c: New file.
55805         * lib/ceill.c: New file.
55806         * lib/cosl.c: New file.
55807         * lib/expl.c: New file.
55808         * lib/floorl.c: New file.
55809         * lib/frexpl.c: New file.
55810         * lib/ldexpl.c: New file.
55811         * lib/logl.c: New file.
55812         * lib/sincosl.c: New file.
55813         * lib/sinl.c: New file.
55814         * lib/sqrtl.c: New file.
55815         * lib/tanl.c: New file.
55816         * lib/trigl.c: New file.
55817         * lib/trigl.h: New file.
55818
55819 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
55820
55821         * m4/mathl.m4: New file.
55822
55823 2003-02-18  Bruno Haible  <bruno@clisp.org>
55824
55825         * MODULES.html.sh (func_all_modules): Add mathl.
55826
55827 2003-02-17  Bruno Haible  <bruno@clisp.org>
55828
55829         * modules/mkdtemp: New module.
55830         * MODULES.html.sh (func_all_modules): Add it.
55831
55832 2003-02-17  Bruno Haible  <bruno@clisp.org>
55833
55834         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
55835
55836 2003-02-17  Bruno Haible  <bruno@clisp.org>
55837
55838         * lib/mkdtemp.h: New file, from GNU gettext.
55839         * lib/mkdtemp.c: New file, from GNU gettext.
55840
55841 2003-02-02  Jim Meyering  <jim@meyering.net>
55842
55843         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
55844         e.g. glibc-2.2.93.
55845
55846 2003-01-31  Bruno Haible  <bruno@clisp.org>
55847
55848         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
55849         'rpl_rename'.
55850         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
55851         'rpl_strnlen'.
55852         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
55853         'rpl_strtod'.
55854         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
55855         'rpl_utime'.
55856
55857 2003-01-31  Bruno Haible  <bruno@clisp.org>
55858
55859         * lib/rename.c: #undef rename before defining rpl_rename.
55860         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
55861
55862 2003-01-30  Bruno Haible  <bruno@clisp.org>
55863
55864         * modules/vasnprintf, modules/vasprintf: New modules.
55865         * MODULES.html.sh (func_all_modules): Add them.
55866
55867 2003-01-30  Bruno Haible  <bruno@clisp.org>
55868
55869         * m4/signed.m4: New file, from GNU gettext.
55870         * m4/longdouble.m4: New file, from GNU gettext.
55871         * m4/wchar_t.m4: New file, from GNU gettext.
55872         * m4/wint_t.m4: New file, from GNU gettext.
55873         * m4/vasnprintf.m4: New file.
55874         * m4/vasprintf.m4: New file.
55875
55876 2003-01-30  Bruno Haible  <bruno@clisp.org>
55877
55878         * lib/printf-args.h: New file, from GNU gettext.
55879         * lib/printf-args.c: New file, from GNU gettext.
55880         * lib/printf-parse.h: New file, from GNU gettext.
55881         * lib/printf-parse.c: New file, from GNU gettext.
55882         * lib/vasnprintf.h: New file, from GNU gettext.
55883         * lib/vasnprintf.c: New file, from GNU gettext.
55884         * lib/asnprintf.c: New file, from GNU gettext.
55885         * lib/vasprintf.h: New file, from GNU gettext with modifications.
55886         * lib/vasprintf.c: New file, from GNU gettext.
55887         * lib/asprintf.c: New file, from GNU gettext.
55888
55889 2003-01-29  Bruno Haible  <bruno@clisp.org>
55890
55891         * modules/stpncpy: New module.
55892         * MODULES.html.sh (func_all_modules): Add it.
55893
55894 2003-01-29  Bruno Haible  <bruno@clisp.org>
55895
55896         * m4/stpncpy.m4: New file.
55897
55898 2003-01-29  Bruno Haible  <bruno@clisp.org>
55899
55900         * lib/stpncpy.h: New file, from GNU gettext with modifications.
55901         * lib/stpncpy.c: New file, from GNU gettext with modifications.
55902
55903 2003-01-28  Bruno Haible  <bruno@clisp.org>
55904
55905         * modules/c-ctype: New module.
55906         * MODULES.html.sh (func_all_modules): Add it.
55907
55908 2003-01-28  Bruno Haible  <bruno@clisp.org>
55909
55910         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
55911         Paul Eggert.
55912         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
55913         Paul Eggert.
55914
55915 2003-01-27  Bruno Haible  <bruno@clisp.org>
55916
55917         * modules/xsetenv: New module.
55918         * MODULES.html.sh (func_all_modules): Add it.
55919
55920 2003-01-27  Bruno Haible  <bruno@clisp.org>
55921
55922         * lib/xsetenv.h: New file, from GNU gettext.
55923         * lib/xsetenv.c: New file, from GNU gettext.
55924
55925 2003-01-23  Jim Meyering  <jim@meyering.net>
55926
55927         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
55928         from working on systems without dirfd (at least Irix and OSF1/Tru64).
55929
55930 2003-01-23  Bruno Haible  <bruno@clisp.org>
55931
55932         * modules/minmax: New module.
55933         * MODULES.html.sh (func_all_modules): Add it.
55934
55935 2003-01-23  Bruno Haible  <bruno@clisp.org>
55936
55937         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
55938         Eggert.
55939
55940 2003-01-22  Bruno Haible  <bruno@clisp.org>
55941
55942         * modules/exit: New module.
55943         * MODULES.html.sh (func_all_modules): Add it.
55944
55945 2003-01-22  Bruno Haible  <bruno@clisp.org>
55946
55947         * lib/exit.h: New file, from GNU gettext.
55948
55949 2003-01-19  Bruno Haible  <bruno@clisp.org>
55950
55951         * gnulib-tool: Recognize option --extract-maintainer.
55952         (func_get_maintainer): New function.
55953         * modules/*: Add Maintainer entry.
55954
55955 2003-01-16  Jim Meyering  <jim@meyering.net>
55956
55957         * m4/regex.m4: The `regex' struct is both input and output.
55958         Initialize it before each use.  Patch by Tim Waugh.
55959
55960 2003-01-16  Bruno Haible  <bruno@clisp.org>
55961
55962         * MODULES.html.sh: Add a table of contents. Add the module name as
55963         leftmost column. Add hyperlinks.
55964
55965 2003-01-15  Bruno Haible  <bruno@clisp.org>
55966
55967         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
55968
55969 2003-01-15  Bruno Haible  <bruno@clisp.org>
55970
55971         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
55972         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
55973         suffix.
55974
55975 2003-01-15  Bruno Haible  <bruno@clisp.org>
55976
55977         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
55978
55979 2003-01-15  Bruno Haible  <bruno@clisp.org>
55980
55981         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
55982         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
55983
55984 2003-01-14  Jim Meyering  <jim@meyering.net>
55985
55986         * lib/same.c (same_name): Tweak a comment.
55987
55988 2003-01-14  Bruno Haible  <bruno@clisp.org>
55989
55990         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
55991         when a string comparison is sufficient.
55992
55993 2003-01-14  Bruno Haible  <bruno@clisp.org>
55994
55995         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
55996         'unsigned int'.
55997
55998 2003-01-14  Bruno Haible  <bruno@clisp.org>
55999
56000         * lib/hash-pjw.c: Add comment about low quality of this function.
56001
56002 2003-01-13  Bruno Haible  <bruno@clisp.org>
56003
56004         * modules/stpcpy: Distribute lib/stpcpy.h.
56005         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
56006
56007 2003-01-13  Bruno Haible  <bruno@clisp.org>
56008
56009         * modules/*: Add a description.
56010         * modules/strpbrk: Fix Makefile.am snippet.
56011         * modules/strtoimax: Fix dependencies.
56012         * modules/strtoumax: Likewise.
56013
56014 2003-01-13  Bruno Haible  <bruno@clisp.org>
56015
56016         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
56017         * modules/alloca (Makefile.am): All object files depend on alloca.h.
56018         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
56019
56020 2003-01-13  Bruno Haible  <bruno@clisp.org>
56021
56022         * gnulib-tool (func_create_testdir): Store config/* files in the main
56023         directory.
56024         * config.rpath: Move to ...
56025         * config/config.rpath: ... here.
56026         * modules/gettext: Contains config/config.rpath, not config.rpath.
56027         * modules/iconv: Likewise.
56028
56029 2003-01-12  Paul Eggert  <eggert@twinsun.com>
56030
56031         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
56032         to avoid collisions with libcurses and libreadline.
56033
56034         * m4/getstr.m4: Remove.
56035         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
56036
56037 2003-01-12  Paul Eggert  <eggert@twinsun.com>
56038
56039         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
56040         to avoid collisions with libcurses and libreadline.
56041
56042         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
56043         * lib/getstr.h, getstr.c: Remove.
56044         * lib/getline.c: Include "getline.h", to check interface.
56045         Move body of old getstr.c here: this defines MIN_CHUNK and
56046         declares getdelim2, which is renamed from getstr.
56047         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
56048
56049         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
56050         All uses changed.
56051         * lib/linebuffer.h: Likewise.
56052         (readline): Remove backward-compatibility macro.
56053
56054 2003-01-12  Paul Eggert  <eggert@twinsun.com>
56055
56056         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
56057         to avoid collisions with libcurses and libreadline.
56058         * getstr: Remove.
56059         * MODULES.html.sh: Remove getstr.
56060         * modules/getline: Depend on unlocked-io, not getstr.
56061
56062 2003-01-12  Jim Meyering  <jim@meyering.net>
56063
56064         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
56065
56066 2003-01-10  Bruno Haible  <bruno@clisp.org>
56067
56068         * modules/alloca: Change Makefile.am requirements. Simplify Include
56069         requirements. Add lib/alloca_.h to file list.
56070
56071 2003-01-10  Bruno Haible  <bruno@clisp.org>
56072
56073         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
56074
56075 2003-01-10  Bruno Haible  <bruno@clisp.org>
56076
56077         * lib/alloca_.h: New file.
56078         * lib/getdate.y: Unconditionally include alloca.h.
56079         * lib/makepath.c: Likewise.
56080         * lib/setenv.c: Likewise.
56081         * lib/userspec.c: Likewise.
56082
56083 2003-01-09  Karl Berry  <karl@gnu.org>
56084
56085         * MODULES.html.sh: include `dirname $0` in PATH, to find
56086         gnulib-tool.
56087
56088 2003-01-09  Bruno Haible  <bruno@clisp.org>
56089
56090         * modules/stdbool: Change configure.ac, Makefile.am requirements.
56091         Simplify Include requirements. Add lib/stdbool.h.in to file list.
56092
56093 2003-01-09  Bruno Haible  <bruno@clisp.org>
56094
56095         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
56096
56097 2003-01-09  Bruno Haible  <bruno@clisp.org>
56098
56099         * lib/stdbool.h.in: New file.
56100
56101 2003-01-09  Bruno Haible  <bruno@clisp.org>
56102
56103         * gnulib-tool (func_all_modules): Ignore files ending in ~.
56104         * MODULES.html.sh: Likewise.
56105
56106 2003-01-08  Jim Meyering  <jim@meyering.net>
56107
56108         * lib/full-write.c: Undefine and define-away `const' after inclusion
56109         of errno.h, not before.  Suggestion from Bruno Haible.
56110
56111 2003-01-08  Bruno Haible  <bruno@clisp.org>
56112
56113         * modules/full-read: Depend on full-write.
56114
56115 2003-01-08  Bruno Haible  <bruno@clisp.org>
56116
56117         * lib/safe-read.c: Include specification header first, to ensure its
56118         selfcontainedness.
56119         * lib/full-write.c: Likewise.
56120
56121 2003-01-07  Jim Meyering  <jim@meyering.net>
56122
56123         * lib/full-write.c: Rework so that it may serve to define full_read,
56124         too.
56125         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
56126
56127 2003-01-07  Bruno Haible  <bruno@clisp.org>
56128
56129         * lib/strtoimax.c: Include <stdint.h> as an alternative to
56130         <inttypes.h>.
56131         * lib/xstrtol.h: Likewise.
56132         * lib/xstrtoimax.c: Likewise.
56133         * lib/xstrtoumax.c: Likewise.
56134         * lib/human.h: Likewise.
56135
56136         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
56137         on systems that have <inttypes.h> but not <stdint.h>.
56138
56139 2003-01-07  Bruno Haible  <bruno@clisp.org>
56140
56141         * MODULES.html.sh: Add copyright notice.
56142         (missed_files): Omit CVS directory entries.
56143         (func_module): Make it work with sed-3.02.
56144         * MODULES.txt: Remove file.
56145
56146 2003-01-06  Jim Meyering  <jim@meyering.net>
56147
56148         * lib/version-etc.c: Update year in translatable copyright string.
56149
56150 2003-01-03  Karl Berry  <karl@gnu.org>
56151
56152         * config/config.{guess,sub}: update from prep.
56153
56154 2003-01-02  Karl Berry  <karl@gnu.org>
56155
56156         * doc/COPYING.DOC: belatedly updated to 1.2.
56157
56158 2003-01-01  Karl Berry  <karl@gnu.org>
56159
56160         * gnulib-tool (func_verify_module): report module name $module in
56161         error message, not $1.
56162         * gnulib-tool (create-testdir): don't complain if destdir couldn't
56163         be created, only if it doesn't exist.
56164         * gnulib-tool (last_checkin_date): don't expand the $Date here.
56165
56166 2002-12-31  Paul Eggert  <eggert@twinsun.com>
56167
56168         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
56169
56170 2002-12-31  Paul Eggert  <eggert@twinsun.com>
56171
56172         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
56173         memcmp if strcoll doesn't work.
56174
56175 2002-12-31  Bruno Haible  <bruno@clisp.org>
56176
56177         * lib/utime.c (utime_null): No need to call ftruncate if the file was
56178         nonempty.
56179
56180 2002-12-31  Bruno Haible  <bruno@clisp.org>
56181
56182         * lib/memcoll.c (STRCOLL): New macro.
56183         (memcoll): Use it.
56184
56185 2002-12-31  Bruno Haible  <bruno@clisp.org>
56186
56187         * lib/localcharset.h: New file.
56188         * lib/localcharset.c: Include it.
56189         * lib/unicodeio.c: Likewise.
56190
56191 2002-12-31  Bruno Haible  <bruno@clisp.org>
56192
56193         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
56194         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
56195
56196 2002-12-31  Bruno Haible  <bruno@clisp.org>
56197
56198         * lib/getline.h: Include <stddef.h>, for size_t.
56199
56200         * lib/unicodeio.h: Include <stddef.h>, for size_t.
56201         * lib/unicodeio.c: Don't include <stddef.h>.
56202
56203 2002-12-31  Bruno Haible  <bruno@clisp.org>
56204
56205         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
56206         HAVE_TM_ZONE.
56207
56208 2002-12-24  Karl Berry  <karl@gnu.org>
56209
56210         * config/config.guess: update from prep.
56211
56212 2002-12-24  Bruno Haible  <bruno@clisp.org>
56213
56214         General infrasructure.
56215         * m4/README: Rewritten.
56216         * m4/onceonly.m4: New file.
56217         * m4/onceonly_2_57.m4: New file.
56218
56219         Module atexit.
56220         * m4/atexit.m4: New file.
56221
56222         Module strtod.
56223         * m4/strtod.m4: New file.
56224
56225         Module strtol.
56226         * m4/strtol.m4: New file.
56227
56228         Module strtoul.
56229         * m4/strtoul.m4: New file.
56230
56231         Module memchr.
56232         * m4/memchr.m4: New file.
56233
56234         Module memcmp.
56235         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
56236         (jm_FUNC_MEMCMP): Invoke it.
56237
56238         Module memcpy.
56239         * m4/memcpy.m4: New file.
56240
56241         Module memmove.
56242         * m4/memmove.m4: New file.
56243
56244         Module memset.
56245         * m4/memset.m4: New file.
56246
56247         Module strcspn.
56248         * m4/strcspn.m4: New file.
56249
56250         Module strpbrk.
56251         * m4/strpbrk.m4: New file.
56252
56253         Module strstr.
56254         * m4/strstr.m4: New file.
56255
56256         Module strerror.
56257         * m4/strerror.m4: New file.
56258
56259         Module mktime.
56260         * m4/mktime.m4: Renamed from jm-mktime.m4.
56261         (gl_PREREQ_MKTIME): New macro.
56262         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
56263
56264         Module malloc.
56265         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
56266         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
56267         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
56268
56269         Module realloc.
56270         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
56271         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
56272         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
56273
56274         Module strftime.
56275         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
56276         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
56277         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
56278         gl_TM_GMTOFF.
56279         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
56280
56281         Module xalloc.
56282         * m4/xalloc.m4: New file.
56283
56284         Module alloca.
56285         * m4/alloca.m4: New file.
56286
56287         Module putenv.
56288         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
56289         (jm_FUNC_PUTENV): Invoke it.
56290
56291         Module setenv.
56292         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
56293         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
56294         when invoked twice.
56295         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
56296         gt_FUNC_SETENV.
56297
56298         Module memrchr.
56299         * m4/memrchr.m4: New file.
56300
56301         Module stpcpy.
56302         * m4/stpcpy.m4: New file.
56303
56304         Module strcase.
56305         * m4/strcase.m4: New file.
56306
56307         Module strdup.
56308         * m4/strdup.m4: New file.
56309
56310         Module strnlen.
56311         * m4/strnlen.m4: New file.
56312
56313         Module strndup.
56314         * m4/strndup.m4: New file.
56315
56316         Module xstrtod.
56317         * m4/xstrtod.m4: New file.
56318
56319         Module xstrtol.
56320         * m4/xstrtol.m4: New file.
56321
56322         Module getdate.
56323         * m4/getdate.m4: New file.
56324
56325         Module unlocked-io.
56326         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
56327         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
56328         * m4/jm-glibc-io.m4n: Remove file.
56329
56330         Module long-options.
56331         * m4/long-options.m4: New file.
56332
56333         Module md5.
56334         * m4/md5.m4: New file.
56335
56336         Module sha.
56337         * m4/sha.m4: New file.
56338
56339         Module getstr.
56340         * m4/getstr.m4: New file.
56341
56342         Module getline.
56343         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
56344         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
56345         <sys/types.h>, for size_t. Use the function name gnu_getline, not
56346         simply getline. Infoke gl_PREREQ_GETLINE.
56347
56348         Module obstack.
56349         * m4/obstack.m4: New file.
56350
56351         Module hash.
56352         * m4/hash.m4: New file.
56353
56354         Module readtokens.
56355         * m4/readtokens.m4: New file.
56356
56357         Module strverscmp.
56358         * m4/strverscmp.m4: New file.
56359
56360         Module stdbool.
56361         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
56362         OSF/1.
56363
56364         Module strtoll.
56365         * m4/strtoll.m4: New file.
56366
56367         Module strtoull.
56368         * m4/strtoull.m4: New file.
56369
56370         Module strtoimax.
56371         * m4/strtoimax.m4: New file.
56372
56373         Module strtoumax.
56374         * m4/strtoumax.m4: New file.
56375
56376         Module xstrtoimax.
56377         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
56378         jm_AC_PREREQ_XSTRTOIMAX.
56379         Moved the strtol prerequisites to strtol.m4.
56380         Moved the strtoll prerequisites to strtoll.m4.
56381         Moved the strtoimax prerequisites to strtoimax.m4.
56382
56383         Module xstrtoumax.
56384         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
56385         jm_AC_PREREQ_XSTRTOUMAX.
56386         Moved the strtoul prerequisites to strtoul.m4.
56387         Moved the strtoull prerequisites to strtoull.m4.
56388         Moved the strtoumax prerequisites to strtoumax.m4.
56389
56390         Module chown.
56391         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
56392         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
56393
56394         Module dup2.
56395         * m4/dup2.m4: New file.
56396
56397         Module ftruncate.
56398         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
56399         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
56400
56401         Module getgroups.
56402         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
56403         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
56404
56405         Module gettimeofday.
56406         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
56407         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
56408         gl_PREREQ_GETTIMEOFDAY.
56409
56410         Module mkdir.
56411         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
56412         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
56413
56414         Module mkstemp.
56415         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
56416         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
56417         jm_AC_TYPE_UINTMAX_T.
56418         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
56419
56420         Module stat.
56421         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
56422         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
56423
56424         Module lstat.
56425         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
56426         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
56427
56428         Module timespec.
56429         * m4/timespec.m4 (gl_TIMESPEC): New macro.
56430         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
56431         * m4/st_mtim.m4: Indentation.
56432
56433         Module nanosleep.
56434         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
56435         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
56436         gl_PREREQ_NANOSLEEP.
56437
56438         Module regex.
56439         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
56440         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
56441         (gl_REGEX): New macro.
56442
56443         Module rename.
56444         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
56445         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
56446
56447         Module rmdir.
56448         * m4/rmdir.m4: New file.
56449
56450         Module utime.
56451         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
56452         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
56453         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
56454
56455         Module dirname.
56456         * m4/dirname.m4: New file.
56457
56458         Module getopt.
56459         * m4/getopt.m4: New file.
56460
56461         Module unistd-safer.
56462         * m4/unistd-safer.m4: New file.
56463
56464         Module fnmatch.
56465         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
56466         declaration.
56467         (gl_PREREQ_FNMATCH_EXTRA): New macro.
56468         (gl_FUNC_FNMATCH_POSIX): New macro.
56469         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
56470         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
56471         simply fnmatch.
56472
56473         Module exclude.
56474         * m4/exclude.m4: New file.
56475
56476         Module human.
56477         * m4/human.m4: New file.
56478
56479         Module acl.
56480         * m4/acl.m4: Nop.
56481
56482         Module backupfile.
56483         * m4/backupfile.m4: New file.
56484         * m4/d-ino.m4: Indentation.
56485
56486         Module fsusage.
56487         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
56488         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
56489         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
56490
56491         Module dirfd.
56492         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
56493         requirements.
56494
56495         Module euidaccess.
56496         * m4/euidaccess.m4: New file.
56497
56498         Module file-type.
56499         * m4/file-type.m4: New file.
56500
56501         Module fileblocks.
56502         * m4/fileblocks.m4: New file.
56503
56504         Module filemode.
56505         * m4/filemode.m4: New file.
56506
56507         Module isdir.
56508         * m4/isdir.m4: New file.
56509
56510         Module lchown.
56511         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
56512         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
56513
56514         Module makepath.
56515         * m4/makepath.m4: New file.
56516
56517         Module modechange.
56518         * m4/modechange.m4: New file.
56519
56520         Module mountlist.
56521         * m4/mountlist.m4: New file.
56522         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
56523         Indentation.
56524
56525         Module path-concat.
56526         * m4/path-concat.m4: New file.
56527
56528         Module pathmax.
56529         * m4/pathmax.m4: New file.
56530
56531         Module same.
56532         * m4/same.m4: New file.
56533
56534         Module save-cwd.
56535         * m4/save-cwd.m4: New file.
56536
56537         Module savedir.
56538         * m4/savedir.m4: New file.
56539
56540         Module xgetcwd.
56541         * m4/xgetcwd.m4: New file.
56542         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
56543
56544         Module xreadlink.
56545         * m4/xreadlink.m4: New file.
56546
56547         Module safe-read.
56548         * m4/safe-read.m4: New file.
56549
56550         Module safe-write.
56551         * m4/safe-write.m4: New file.
56552
56553         Module closeout.
56554         * m4/closeout.m4: New file.
56555
56556         Module stdio-safer.
56557         * m4/stdio-safer.m4: New file.
56558
56559         Module getpass.
56560         * m4/getpass.m4: New file.
56561
56562         Module getugroups.
56563         * m4/getugroups.m4: New file.
56564
56565         Module group-member.
56566         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
56567         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
56568
56569         Module idcache.
56570         * m4/idcache.m4: New file.
56571
56572         Module userspec.
56573         * m4/userspec.m4: New file.
56574
56575         Module gettime.
56576         * m4/clock_time.m4: New file.
56577         * m4/gettime.m4: New file.
56578
56579         Module settime.
56580         * m4/settime.m4: New file.
56581
56582         Module posixtm.
56583         * m4/posixtm.m4: New file.
56584
56585         Module gethostname.
56586         * m4/gethostname.m4: New file.
56587
56588         Module canon-host.
56589         * m4/canon-host.m4: New file.
56590
56591         Module gettext.
56592         * m4/codeset.m4: New file, from gettext-0.11.5.
56593         * m4/gettext.m4: New file, from gettext-0.11.5.
56594         * m4/glibc21.m4: New file, from gettext-0.11.5.
56595         * m4/iconv.m4: New file, from gettext-0.11.5.
56596         * m4/intdiv0.m4: New file, from gettext-0.11.5.
56597         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
56598         * m4/inttypes.m4: New file, from gettext-0.11.5.
56599         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
56600         * m4/isc-posix.m4: New file, from gettext-0.11.5.
56601         * m4/lcmessage.m4: New file, from gettext-0.11.5.
56602         * m4/lib-ld.m4: New file, from gettext-0.11.5.
56603         * m4/lib-link.m4: New file, from gettext-0.11.5.
56604         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
56605         * m4/progtest.m4: New file, from gettext-0.11.5.
56606         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
56607         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
56608         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
56609
56610         Module localcharset.
56611         * m4/localcharset.m4: New file.
56612
56613         Module hard-locale.
56614         * m4/hard-locale.m4: New file.
56615
56616         Module mbswidth.
56617         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
56618         onceonly macros.
56619         * m4/mbrtowc.m4: Add comment.
56620
56621         Module memcasecmp.
56622         * m4/memcasecmp.m4: New file.
56623
56624         Module memcoll.
56625         * m4/memcoll.m4: New file.
56626
56627         Module unicodeio.
56628         * m4/unicodeio.m4: New file.
56629
56630         Module rpmatch.
56631         * m4/rpmatch.m4: New file.
56632
56633         Module yesno.
56634         * m4/yesno.m4: New file.
56635
56636         Module exitfail.
56637         * m4/exitfail.m4: New file.
56638
56639         Module c-stack.
56640         * m4/c-stack.m4 (gl_C_STACK): New macro.
56641         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
56642
56643         Module error.
56644         * m4/error.m4 (gl_ERROR): New macro.
56645         (jm_PREREQ_ERROR): Use onceonly macros.
56646
56647         Module fatal.
56648         * m4/fatal.m4: New file.
56649
56650         Module getloadavg.
56651         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
56652         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
56653
56654         Module getpagesize.
56655         * m4/getpagesize.m4: New file.
56656
56657         Module getusershell.
56658         * m4/getusershell.m4: New file.
56659
56660         Module physmem.
56661         * m4/physmem.m4: New file.
56662
56663         Module posixver.
56664         * m4/posixver.m4: New file.
56665
56666         Module quotearg.
56667         * m4/quotearg.m4: New file.
56668
56669         Module quote.
56670         * m4/quote.m4: New file.
56671
56672         Module readutmp.
56673         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
56674
56675         Module sig2str.
56676         * m4/sig2str.m4: New file.
56677
56678         Other.
56679         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
56680         ulonglong.m4.
56681         * m4/intmax_t.m4: New file.
56682         * m4/d-type.m4: Indentation.
56683         * m4/jm-macros.m4: Update.
56684         * m4/prereq.m4 (jm_PREREQ): Update.
56685         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
56686         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
56687         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
56688         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
56689         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
56690         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
56691         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
56692         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
56693         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
56694         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
56695         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
56696         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
56697         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
56698         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
56699         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
56700         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
56701         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
56702         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
56703         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
56704
56705 2002-12-24  Bruno Haible  <bruno@clisp.org>
56706
56707         * MODULES.txt: Update according to m4/ changes.
56708
56709         Module gettext.
56710         * config.rpath: New file, from gettext-0.11.5.
56711
56712         * modules/*: New module descriptions.
56713         * gnulib-tool: New file.
56714         * MODULES.html.sh: New file.
56715
56716 2002-12-21  Karl Berry  <karl@gnu.org>
56717
56718         * doc/fdl.texi: update to version 1.2.
56719
56720 2002-12-19  Karl Berry  <karl@gnu.org>
56721
56722         * config/config.guess: update from prep.
56723
56724 2002-12-18  Bruno Haible  <bruno@clisp.org>
56725
56726         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
56727         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
56728
56729 2002-12-17  Bruno Haible  <bruno@clisp.org>
56730
56731         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
56732         stdlib.h, string.h.
56733
56734 2002-12-17  Bruno Haible  <bruno@clisp.org>
56735
56736         * lib/canon-host.c (strdup): Remove unused declaration.
56737
56738         * lib/fsusage.c: Include full_read.h.
56739         (get_fs_usage): Use full_read instead of safe_read.
56740
56741         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
56742
56743 2002-12-12  Karl Berry  <karl@gnu.org>
56744
56745         * config/config.guess: update from prep.
56746
56747 2002-12-11  Bruno Haible  <bruno@clisp.org>
56748
56749         * m4/setenv.m4: New file, from gettext-0.11.5.
56750
56751 2002-12-11  Bruno Haible  <bruno@clisp.org>
56752
56753         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
56754         not unsetenv().
56755         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
56756         modifications:
56757
56758         2002-12-11  Bruno Haible  <bruno@clisp.org>
56759
56760                 * setenv.c (alloca): Fall back to malloc.
56761                 (freea): New macro.
56762                 (setenv): Use freea() to free memory allocated with alloca().
56763
56764         2002-11-13  Bruno Haible  <bruno@clisp.org>
56765
56766                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
56767                 function declarations.
56768                 * unsetenv.c (unsetenv): Likewise.
56769
56770         2002-03-04  Bruno Haible  <bruno@clisp.org>
56771
56772                 Portability to AIX 4.3.3.
56773                 * unsetenv.c: New file, extracted from setenv.c.
56774                 * setenv.c: Move the unsetenv() function to unsetenv.c.
56775
56776         2001-12-20  Bruno Haible  <bruno@clisp.org>
56777
56778                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
56779                 use malloc instead. For SunOS 4.
56780
56781         2001-12-11  Bruno Haible  <bruno@clisp.org>
56782
56783                 * setenv.c: Declare alloca.
56784                 (compar_fn_t): New typedef.
56785                 (KNOWN_VALUE, STORE_VALUE): Use it.
56786
56787         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
56788         setenv.h.
56789
56790 2002-12-10  Paul Eggert  <eggert@twinsun.com>
56791
56792         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
56793         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
56794         Choose values that are less likely to collide with system fnmatch
56795         options.
56796         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
56797         defined (e.g., a pure POSIX system).
56798         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
56799         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
56800
56801 2002-12-06  Paul Eggert  <eggert@twinsun.com>
56802
56803         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
56804         a pain in practice to deal with generated m4 files.  This change
56805         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
56806
56807         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
56808         and jm-glibc-io.m4, as they are no longer a special case.
56809         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
56810         kludge and the auto-generation stuff.  Check only whether the
56811         functions are declared, not whether they exist, since older hosts
56812         that don't declare the functions can't use the optimization anyway.
56813
56814 2002-12-06  Jim Meyering  <jim@meyering.net>
56815
56816         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
56817
56818         Merge in changes from libc's misc/error.c, in preparation
56819         for the merge of gnulib's changes back into libc.
56820
56821         * lib/error.c (_): Define only if not already defined.
56822         Move definition to follow all #include directives.
56823         Include unlocked-io.h only if !_LIBC.
56824         [_LIBC]: Include <libio/libioP.h>.
56825         [USE_IN_LIBIO]: Include <libio/iolibio.h>
56826         (fflush): Tweak definition to use INTUSE.
56827         (putc): Define.
56828
56829 2002-12-05  Paul Eggert  <eggert@twinsun.com>
56830
56831         * lib/alloca.c [defined emacs]: Include "lisp.h".
56832         (xalloc_die) [defined emacs]: New macro.
56833         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
56834         [! defined emacs]: Include <xalloc.h>.
56835         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
56836         (pointer): Typedef to POINTER_TYPE *.
56837         (malloc): Remove decl; we now always use xmalloc.
56838         (alloca): Use old-style definition, since Emacs needs this.
56839         Check for arithmetic overflow when computing combined size.
56840
56841 2002-12-04  Paul Eggert  <eggert@twinsun.com>
56842
56843         Do not generate unlocked-io.h automatically, since it's easier to
56844         maintain it by hand.
56845
56846         * lib/unlocked-io.h: New file, from GNU diffutils,
56847         but with proper copyright notice and attribution.
56848         * lib/gen-uio: Remove.
56849         * lib/Makefile.am: Add copyright notice.
56850         (libfetish_a_SOURCES): Add unlocked-io.h.
56851         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
56852         (DISTCLEANFILES, io_functions): Remove macros.
56853         (EXTRA_DIST): Remove gen_uio.
56854         (unlocked-io.h): Remove rule.
56855
56856 2002-12-04  Jim Meyering  <jim@meyering.net>
56857
56858         Reflect the fact that stat.c and lstat.c are no longer generated.
56859         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
56860         (DISTCLEANFILES): Likewise.
56861         (EXTRA_DIST): Likewise.
56862         (all_local): Don't depend on stat.c or lstat.c.
56863         (stat.c, lstat.c): Remove rules.
56864         (EXTRA_DIST): Remove xstat.in.
56865
56866         * lib/xstat.in: Remove file.  Contents moved into stat.c.
56867         * lib/stat.c: New file.  Contents mostly from xstat.in.
56868         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
56869         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
56870
56871         * lib/safe-read.c: Rework so that it may serve to define safe_write,
56872         too.
56873         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
56874
56875 2002-12-03  Jim Meyering  <jim@meyering.net>
56876
56877         * lib/safe-read.c, safe-write.c: Change variable names and comments,
56878         but not semantics, to minimize the differences between these two files.
56879         (safe_read): Change comment to mention SAFE_READ_ERROR.
56880
56881         * lib/safe-read.c (IS_EINTR): Define.
56882         (safe_read): Use IS_EINTR in place of in-function cpp directives.
56883
56884 2002-12-02  Jim Meyering  <jim@meyering.net>
56885
56886         * lib/safe-read.c (EINTR): Define.
56887         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
56888         (INT_MAX): Provide fallback.
56889         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
56890
56891         * lib/safe-read.h (SAFE_READ_ERROR): Define.
56892
56893 2002-12-02  Bruno Haible  <bruno@clisp.org>
56894
56895         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
56896         Define, taken from safe-read.c.
56897         (INT_MAX): Provide fallback.
56898         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
56899         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
56900
56901         * lib/safe-read.c (EINTR): Remove definition.
56902         (safe_read): Don't use EINTR if it is absent.
56903
56904 2002-12-01  Jim Meyering  <jim@meyering.net>
56905
56906         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
56907         zero.
56908         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
56909
56910 2002-11-27  Paul Eggert  <eggert@twinsun.com>
56911
56912         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
56913         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
56914         with `if (! (value < limit)) abort ();', for readability.
56915
56916 2002-11-26  Karl Berry  <karl@gnu.org>
56917
56918         * lib/strdup.c: copy from libc again, with jim's ok.
56919         * lib/.cppi-disable: re-add strdup.c
56920
56921 2002-11-25  Karl Berry  <karl@gnu.org>
56922
56923         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
56924         instead of "strtol.c".
56925
56926 2002-11-25  Karl Berry  <karl@gnu.org>
56927
56928         * config/install-sh: update from automake for variable quoting, $0 in
56929         error msgs, etc.
56930
56931         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
56932         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
56933         entry.
56934
56935 2002-11-25  Jim Meyering  <jim@meyering.net>
56936
56937         * lib/mktime.c: Sync from libc, now that it has the latest fix.
56938
56939 2002-11-24  Karl Berry  <karl@gnu.org>
56940
56941         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
56942         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
56943
56944 2002-11-24  Jim Meyering  <jim@meyering.net>
56945
56946         Update from coreutils:
56947
56948         * lib/mktime.c: Merge in changes from libc.
56949
56950         Avoid a link-time failure on some Linux systems.
56951         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
56952         (otherwise).
56953         (__mon_yday): Declare with the STATIC attribute.
56954         (__mktime_internal): Likewise.
56955         Based on a report from Greg Schafer.
56956
56957 2002-11-23  Jim Meyering  <jim@meyering.net>
56958
56959         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
56960         Use `unsigned', not `int', as type of index.
56961
56962         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
56963
56964         * lib/fsusage.c: Remove unneeded parentheses around operands of
56965         `defined'.
56966
56967 2002-11-22  Paul Eggert  <eggert@twinsun.com>
56968
56969         * lib/quotearg.h: Allow multiple inclusion by surrounding with
56970         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
56971         so that we can be included first.
56972         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
56973         * lib/quotearg.c: Include quotearg.h immediately after config.h.
56974         No need to include stddef.h or sys/types.h any more.
56975         Surround local include files with "", not "<>".
56976         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
56977         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
56978         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
56979         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
56980         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
56981         (ISPRINT): Remove; no longer needed now that we assume C89.
56982
56983         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
56984         Preserve errno.
56985
56986         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
56987         quotearg_char): Use SIZE_MAX rather than
56988         (size_t) -1 when we are talking about "infinity".
56989
56990         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
56991
56992 2002-11-22  Paul Eggert  <eggert@twinsun.com>
56993
56994         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
56995         hint that one should use `if (! x) abort ();' rather than `assert
56996         (x);', and anyway it's one less thing to worry about configuring.
56997         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
56998         hash_rehash, hash_insert): Use abort rather than assert.
56999
57000 2002-11-22  Bruno Haible  <bruno@clisp.org>
57001
57002         * lib/safe-read.h: Assume C89. Add comments.
57003         (safe_read): Change return type to size_t.
57004         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
57005         byte counts > SSIZE_MAX correctly.
57006         * lib/safe-write.h: New file.
57007         * lib/safe-write.c: New file.
57008         * lib/full-read.h: New file.
57009         * lib/full-read.c: New file.
57010         * lib/full-write.h: Assume C89. Add comments.
57011         * lib/full-write.c: Include safe-write.h.
57012         (full_write): Rewritten to use safe_write.
57013         Suggested by Jim Meyering and Paul Eggert.
57014
57015 2002-11-21  Jim Meyering  <jim@meyering.net>
57016
57017         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
57018
57019         Merge in changes from the coreutils.
57020
57021         2002-09-25  Paul Eggert  <eggert@twinsun.com>
57022         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
57023         <stdint.h>.
57024         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
57025         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
57026         int.  Work more efficiently if X is the same width as uintmax_t.
57027         Do not compare X to -1, to avoid bogus compiler warning.
57028         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
57029         Don't assume that f_frsize and f_bsize are the same type.
57030
57031         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
57032         warning on FreeBSD.
57033
57034         * lib/makepath.c (make_path): Restore umask *before* creating the final
57035         component.
57036         (make_path): Minor reformatting.
57037
57038         * lib/xmalloc.c: Adjust to work with new autoconf macros,
57039         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
57040         HAVE_MALLOC/HAVE_REALLOC.
57041
57042         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
57043         dummy ones.  At least on GNU/Linux systems, `auto' means something
57044         else.
57045         From Michael Stone.
57046
57047 2002-11-21  Bruno Haible  <bruno@clisp.org>
57048
57049         Remove case insensitive option matching.
57050         * lib/argmatch.h (argcasematch): Remove declaration.
57051         (ARGCASEMATCH): Remove macro.
57052         (__xargmatch_internal): Remove case_sensitive argument.
57053         (XARGMATCH): Update.
57054         (XARGCASEMATCH): Remove macro.
57055         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
57056         case_sensitive argument.
57057         (argcasematch): Remove function.
57058         (__xargmatch_internal): Remove case_sensitive argument.
57059         (main): Use XARGMATCH instead of XARGCASEMATCH.
57060
57061         * lib/xmalloc.c: Change compile-time error message. Add comment about
57062         required autoconf version.
57063
57064 2002-11-20  Paul Eggert  <eggert@twinsun.com>
57065
57066         Merge argmatch cleanups from Bison.  Assume C89.
57067
57068         * lib/argmatch.c: Include config.h here, not in argmatch.h.
57069         Include stdlib.h, for EXIT_FAILURE.
57070         Always include <string.h>, since we assume C89.
57071         (EXIT_FAILURE): Remove pre-C89 bug workaround.
57072         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
57073         Include <stddef.h> instead, since it's all we need for size_t.
57074         (PARAMS): Remove.  All uses removed.
57075         (ARRAY_CARDINALITY): Do not bother to #undef.
57076         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
57077         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
57078         Remove unnecessary parentheses.
57079         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
57080         Insert necessary parentheses.
57081         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
57082         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
57083
57084 2002-11-19  Bruno Haible  <bruno@clisp.org>
57085
57086         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
57087         * lib/mbswidth.h: Include <stddef.h>, for size_t.
57088
57089         * lib/mbswidth.h (PARAMS): Remove macro.
57090         (mbswidth, mbsnwidth): Use ANSI C function declarations.
57091         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
57092
57093         * lib/gcd.h (PARAMS): Remove macro.
57094         (gcd): Use ANSI C function declarations.
57095         * lib/gcd.c (gcd): Likewise.
57096
57097 2002-11-15  Bruno Haible  <bruno@clisp.org>
57098
57099         * lib/strcspn.c: Include <stddef.h>.
57100         (strcspn): Use ANSI C function declaration. Change return type to
57101         size_t. Use NULL.
57102         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
57103         (strpbrk): Use NULL.
57104         * lib/strpbrk.h (PARAMS): Remove macro.
57105         (strpbrk): Use ANSI C function declaration.
57106         * lib/strstr.c: Don't include <sys/types.h>.
57107         * lib/strstr.h (PARAMS): Remove macro.
57108         (strstr): Use ANSI C function declarations.
57109
57110 2002-11-14  Karl Berry  <karl@gnu.org>
57111
57112         * config/mkinstalldirs: `do' on separate line, instead of
57113         `for var; do'.
57114
57115 2002-11-06  Bruno Haible  <bruno@clisp.org>
57116
57117         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
57118         * lib/gcd.c (gcd): Likewise.
57119
57120 2002-11-05  Bruno Haible  <bruno@clisp.org>
57121
57122         * lib/gcd.h: New file, from gettext-0.11.5.
57123         * lib/gcd.c: New file, from gettext-0.11.5.
57124
57125 2002-11-05  Bruno Haible  <bruno@clisp.org>
57126
57127         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
57128         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
57129         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
57130         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
57131
57132         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
57133         <libintl.h>.
57134         * lib/makepath.c: Include gettext.h instead of <locale.h> and
57135         <libintl.h>.
57136
57137         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
57138         * lib/human.c: Include gettext.h instead of <libintl.h>.
57139         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
57140         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
57141         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
57142         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
57143         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
57144         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
57145         (textdomain): Remove definition.
57146         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
57147
57148         * lib/long-options.c: Remove include of <libintl.h> and definition of
57149         _.
57150         * lib/same.c: Remove include of <libintl.h> and definition of _.
57151
57152 2002-11-04  Owen Taylor  <otaylor@redhat.com>
57153
57154         * lib/config.charset: A few additions for Solaris.
57155
57156 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
57157
57158         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
57159         * lib/localcharset.c (locale_charset): Declare as extern "C".
57160
57161 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
57162
57163         * lib/config.charset: msdos in uk_UA uses CP1125.
57164
57165 2002-11-04  Bruno Haible  <bruno@clisp.org>
57166
57167         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
57168         * lib/strcase.h: New file, from GNU gettext-0.11.5.
57169         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
57170         * lib/strstr.h: New file, from GNU gettext-0.11.5.
57171         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
57172
57173 2002-11-04  Bruno Haible  <bruno@clisp.org>
57174
57175         * lib/localcharset.c (locale_charset): Don't return an empty string.
57176
57177 2002-11-04  Bruno Haible  <bruno@clisp.org>
57178
57179         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
57180         aliases.
57181
57182 2002-11-04  Bruno Haible  <bruno@clisp.org>
57183
57184         * lib/config.charset: Update for newest glibc. Add canonical names
57185         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
57186
57187 2002-11-04  Bruno Haible  <bruno@clisp.org>
57188
57189         * lib/config.charset: Add support for NetBSD.
57190
57191 2002-11-04  Bruno Haible  <bruno@clisp.org>
57192
57193         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
57194
57195 2002-11-01  Bruno Haible  <bruno@clisp.org>
57196
57197         * configure.in: Add AC_CONFIG_AUX_DIR call.
57198         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
57199         test/Makefile.
57200         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
57201
57202 2002-09-28  Karl Berry  <karl@gnu.org>
57203
57204         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
57205         installed automake until the next release, since changes have been
57206         made.
57207
57208 2002-09-25  Karl Berry  <karl@gnu.org>
57209
57210         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
57211         * lib/getopt*: copy from libc/posix.
57212         * lib/gettext.h: copy from gettext.
57213         * lib/.cppi-disable: add strdup.c, gettext.h.
57214
57215 2002-09-25  Karl Berry  <karl@gnu.org>
57216
57217         * config/srclist.txt: enable gettext.h check.
57218         * config/config.{guess,sub}: update from prep.
57219         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
57220                 from automake 1.6.3.
57221         See srclist*.
57222
57223 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
57224
57225         * regex.c (PATFETCH): Remove the translating fetch.
57226         (PATFETCH_RAW): Rename to PATFETCH.
57227         (set_image_of_range): New fun.
57228         (SET_RANGE_TABLE_WORK_AREA): Use it.
57229         (regex_compile): Don't translate the pattern chars so eagerly.
57230         Only do it when inserting an `exactn' bytecode or when handling
57231         a char-range.
57232         (mutually_exclusive_p): Avoid empty statement.
57233
57234 2002-07-06  Jim Meyering  <meyering@lucent.com>
57235
57236         * m4/README: Don't mention Makefile.am.in.
57237         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
57238
57239 2002-07-01  Jim Meyering  <meyering@lucent.com>
57240
57241         * lib/c-stack.c: Include sys/time.h.
57242         From Volker Borchert.
57243
57244 2002-06-26  Paul Eggert  <eggert@twinsun.com>
57245
57246         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
57247
57248 2002-06-26  Paul Eggert  <eggert@twinsun.com>
57249
57250         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
57251         New macro.  Use it uniformly instead of
57252         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
57253         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
57254         reported by Vin Shelton.
57255
57256 2002-06-22  Paul Eggert  <eggert@twinsun.com>
57257
57258         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
57259         Do not assume SA_SIGINFO behavior.
57260         Bug reported by Jim Meyering on NetBSD 1.5.2.
57261
57262 2002-06-22  Jim Meyering  <meyering@lucent.com>
57263
57264         * m4/c-stack.m4: New file, from diffutils-2.8.2.
57265         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
57266
57267         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
57268         now that configure.ac uses AC_GNU_SOURCE.
57269         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
57270         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
57271
57272         Update to latest tools.  Suggestions from Paul Eggert.
57273         * m4/stdbool.m4: New file, from diffutils-2.8.2.
57274         * m4/gnu-source.m4: Update from diffutils-2.8.2.
57275         * m4/fnmatch.m4: Likewise.
57276         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
57277         to AC_HEADER_STDBOOL
57278
57279 2002-06-22  Jim Meyering  <meyering@lucent.com>
57280
57281         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
57282         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
57283
57284 2002-06-22  Jim Meyering  <meyering@lucent.com>
57285
57286         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
57287
57288         * lib/exitfail.c, exitfail.h: Likewise.
57289         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
57290
57291         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
57292         of fnmatch.h.
57293         (EXTRA_DIST): Add fnmatch_loop.c.
57294         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
57295
57296         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
57297         * lib/fnmatch.c: Update from diffutils-2.8.2.
57298         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
57299         * lib/fnmatch.h: Remove file.
57300
57301 2002-06-21  Jim Meyering  <meyering@lucent.com>
57302
57303         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
57304         * m4/mbrtowc.m4: Likewise.
57305
57306         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
57307         * m4/mbswidth.m4: Reflect name change:
57308         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
57309         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
57310
57311         * m4/lib-link.m4: Update from gettext-0.11.2.
57312         * m4/gettext.m4: Likewise.
57313
57314         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
57315         From Alfred M. Szmidt.
57316
57317 2002-06-18  Paul Eggert  <eggert@twinsun.com>
57318
57319         * lib/file-type.h: Report an error if neither S_ISREG nor
57320         S_IFREG is defined, instead of using a test specific to glibc
57321         2.2.  This should be safe, since POSIX requires S_ISREG and
57322         Unix Version 7 had S_IFREG.  We don't need to check for
57323         <sys/types.h> since we don't use any symbols that it defines.
57324
57325 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
57326
57327         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
57328         $@-t, so that each temporary file name is unique and valid in the first
57329         8 characters, for operation under DOS.
57330
57331 2002-06-15  Paul Eggert  <eggert@twinsun.com>
57332
57333         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
57334
57335 2002-06-15  Jim Meyering  <meyering@lucent.com>
57336
57337         Work even with DJGPP 2.03, which lacks support for symlinks.
57338         From Richard Dawe.
57339         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
57340         is defined.
57341         * lib/lchown.c (S_ISLNK): Likewise.
57342
57343 2002-06-15  Jim Meyering  <meyering@lucent.com>
57344
57345         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
57346         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
57347         have been included before this file.
57348
57349 2002-06-14  Jim Meyering  <meyering@lucent.com>
57350
57351         * lib/file-type.h: Use the version from diffutils-2.8.2.
57352         * lib/file-type.c: Likewise.
57353
57354 2002-06-07  Jim Meyering  <meyering@lucent.com>
57355
57356         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
57357         They're needed at least for NetBSD 1.5.2.
57358         ($statxfs_includes): Include those same headers.
57359         ($statxfs_includes): Include sys/vfs.h if available.
57360         ($statxfs_includes): Likewise for sys/statvfs.h.
57361         Check for the following members in both structs statfs and statvfs:
57362         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
57363
57364 2002-06-01  Jim Meyering  <meyering@lucent.com>
57365
57366         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
57367         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
57368
57369 2002-05-28  Jim Meyering  <meyering@lucent.com>
57370
57371         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
57372         Reported by Volker Borchert.
57373
57374 2002-05-27  Jim Meyering  <meyering@lucent.com>
57375
57376         Fix a problem seen only on nonconforming systems whereby ls.c's
57377         use of localtime, and then of gettimeofday would cause trouble:
57378         the localtime call used to initialize rpl_gettimeofday's save
57379         mechanism would clobber ls's current local time information so
57380         that in any long listing the first file would always be listed
57381         with date 1970-01-01.  Analysis by Volker Borchert.
57382
57383         * lib/gettimeofday.c (localtime): Undefine.
57384         (rpl_localtime): New function.
57385
57386 2002-05-27  Jim Meyering  <meyering@lucent.com>
57387
57388         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
57389         localtime.
57390
57391         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
57392         use the replacement function; it wouldn't resolve at link time.
57393         Reported by Volker Borchert.
57394
57395 2002-05-22  Jim Meyering  <meyering@lucent.com>
57396
57397         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
57398         file-type.h.
57399         * lib/file-type.h: New file.
57400         * lib/file-type.c (file_type): New file/function.  Extracted from
57401         diffutils.
57402
57403 2002-04-30  Jim Meyering  <meyering@lucent.com>
57404
57405         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
57406
57407 2002-04-29  Paul Eggert  <eggert@twinsun.com>
57408
57409         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
57410
57411 2002-04-29  Paul Eggert  <eggert@twinsun.com>
57412
57413         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
57414         Do not check for alloca.h (no longer used) or stdbool.h (was never
57415         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
57416
57417 2002-04-29  Paul Eggert  <eggert@twinsun.com>
57418
57419         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
57420
57421 2002-04-29  Jim Meyering  <meyering@lucent.com>
57422
57423         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
57424         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
57425         Use AC_FUNC_STRNLEN here instead.
57426
57427         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
57428         With autoconf-2.53a, it's part of AC_PROG_CC.
57429
57430 2002-04-28  Paul Eggert  <eggert@twinsun.com>
57431
57432         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
57433         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
57434
57435 2002-04-28  Paul Eggert  <eggert@twinsun.com>
57436
57437         * lib/sig2str.h, lib/sig2str.c: New files.
57438         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
57439
57440 2002-04-28  Paul Eggert  <eggert@twinsun.com>
57441
57442         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
57443         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
57444         of 127, since 64 is the largest conceivable number for ancient
57445         nonstandard hosts.
57446         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
57447
57448 2002-04-28  Jim Meyering  <meyering@lucent.com>
57449
57450         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
57451
57452 2002-04-24  Jim Meyering  <meyering@lucent.com>
57453
57454         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
57455         (jm_PREREQ): Use it.
57456
57457         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
57458         mach/mach.h fcntl.h.
57459         Check for this function: setlocale.
57460
57461 2002-04-24  Jim Meyering  <meyering@lucent.com>
57462
57463         * lib/gettext.h: New file, from Gettext.
57464         * lib/Makefile.am (INCLUDES): Remove -I../intl.
57465         (libfetish_a_SOURCES): Add gettext.h.
57466
57467 2002-04-16  Jim Meyering  <meyering@lucent.com>
57468
57469         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
57470         ut_pid, ut_id, ut_exit.
57471
57472 2002-04-16  Jim Meyering  <meyering@lucent.com>
57473
57474         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
57475         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
57476         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
57477
57478 2002-04-12  Jim Meyering  <meyering@lucent.com>
57479
57480         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
57481         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
57482         existence of the getmntinfo function.  Needed for Darwin 5.3.
57483
57484         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
57485         This is necessary at least on Darwin 5.3.
57486
57487         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
57488         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
57489         strnlen.o in the library, and that makes some versions of ranlib
57490         object.
57491
57492 2002-04-12  Jim Meyering  <meyering@lucent.com>
57493
57494         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
57495
57496 2002-04-09  Jim Meyering  <meyering@lucent.com>
57497
57498         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
57499         to be more precise.  Rather than saying we're checking whether the
57500         function `works', say what we're testing.
57501         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
57502         Reported by Bruno Haible.
57503
57504 2002-03-10  Jim Meyering  <meyering@lucent.com>
57505
57506         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
57507         Suggestion from Santiago Vila.
57508
57509 2002-03-08  Jim Meyering  <meyering@lucent.com>
57510
57511         * lib/rename.c: Mention that this wrapper is needed also on
57512         mips-dec-ultrix4.4 systems.
57513
57514 2002-03-02  Jim Meyering  <meyering@lucent.com>
57515
57516         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
57517         not HAVE_CLOCK_SETTIME.
57518
57519 2002-02-27  Paul Eggert  <eggert@twinsun.com>
57520
57521         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
57522         Check for clock_settime.
57523
57524 2002-02-27  Paul Eggert  <eggert@twinsun.com>
57525
57526         * lib/nanosleep.h: Rename to....
57527         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
57528
57529         * lib/gettime.c: New file.
57530         * lib/settime.c: New file.
57531         * lib/stime.c: Remove.
57532
57533         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
57534         timespec.h.  Remove nanosleep.h.
57535
57536 2002-02-25  Paul Eggert  <eggert@twinsun.com>
57537
57538         * m4/acl.m4: New file.
57539         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
57540         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
57541
57542 2002-02-25  Paul Eggert  <eggert@twinsun.com>
57543
57544         * lib/acl.c, lib/acl.h: New files.
57545         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
57546
57547 2002-02-24  Jim Meyering  <meyering@lucent.com>
57548
57549         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
57550         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
57551         cause trouble.  Reported by Nelson Beebe.
57552
57553 2002-02-23  Paul Eggert  <eggert@twinsun.com>
57554
57555         * lib/path-concat.c (xpath_concat): Reorder code to pacify
57556         compilers that don't know that xalloc_die never returns.
57557
57558 2002-02-20  Jim Meyering  <meyering@lucent.com>
57559
57560         * lib/getdate.c: Regenerate using bison-1.33.
57561
57562 2002-02-17  Jim Meyering  <meyering@lucent.com>
57563
57564         * config/config.guess (main): Don't use `head -1'; it's no longer
57565         portable. Use `sed 1q' instead.
57566
57567 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
57568
57569         * m4/codeset.m4: Upgrade to gettext-0.11.
57570         * m4/gettext.m4: Upgrade to gettext-0.11.
57571         * m4/glibc21.m4: Upgrade to gettext-0.11.
57572         * m4/iconv.m4: Upgrade to gettext-0.11.
57573         * m4/isc-posix.m4: Upgrade to gettext-0.11.
57574         * m4/lcmessage.m4: Upgrade to gettext-0.11.
57575         * m4/lib-ld.m4: New file, from gettext-0.11.
57576         * m4/lib-link.m4: New file, from gettext-0.11.
57577         * m4/lib-prefix.m4: New file, from gettext-0.11.
57578         * m4/progtest.m4: Upgrade to gettext-0.11.
57579
57580 2002-02-15  Paul Eggert  <eggert@twinsun.com>
57581
57582         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
57583         (jm_PREREQ): Use it.
57584
57585 2002-02-15  Paul Eggert  <eggert@twinsun.com>
57586
57587         * lib/posixver.c, lib/posixver.h: New files.
57588         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
57589
57590 2002-02-02  Paul Eggert  <eggert@twinsun.com>
57591             Bruno Haible  <bruno@clisp.org>
57592
57593         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
57594         (fwrite_success_callback): New declaration.
57595         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
57596         print_unicode_char. Call failure callback instead of error.
57597         (fwrite_success_callback): New function.
57598         (exit_failure_callback): New function.
57599         (fallback_failure_callback): New function.
57600         (print_unicode_char): Call unicode_to_mb.
57601
57602 2002-01-26  Jim Meyering  <meyering@lucent.com>
57603
57604         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
57605         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
57606
57607 2002-01-26  Jim Meyering  <meyering@lucent.com>
57608
57609         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
57610
57611 2002-01-22  Paul Eggert  <eggert@twinsun.com>
57612
57613         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
57614
57615 2002-01-22  Jim Meyering  <meyering@lucent.com>
57616
57617         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
57618         Otherwise, some versions of automake would omit the rule that makes
57619         Makefile from Makefile.in.
57620
57621 2002-01-21  Paul Eggert  <eggert@twinsun.com>
57622
57623         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
57624         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
57625         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
57626         (memcoll): Set errno to zero if there is no error.
57627
57628         * lib/quotearg.c (quotearg_buffer_restyled):
57629         Fix bug with quoting buffers containing NUL when backslashing escapes.
57630         This bug was exposed by the other changes in this patch.
57631         (quotearg_n_options): New arg ARGSIZE.
57632         All callers changed.
57633         (quoting_options_from_style): New function.
57634         (quotearg_n_style): Use it.
57635         (quotearg_n_style_mem): New function.
57636
57637         * lib/quotearg.h (quotearg_n_style_mem): New function.
57638
57639 2002-01-19  Jim Meyering  <meyering@lucent.com>
57640
57641         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
57642         Remove useless quotes: DF_PROG="df".
57643         * m4/strnlen.m4: New file.
57644
57645 2002-01-16  Paul Eggert  <eggert@twinsun.com>
57646
57647         * lib/backupfile.c (ISDIGIT): Comment fix.
57648         * lib/getdate.y (ISDIGIT): Likewise.
57649         * lib/posixtm.c (ISDIGIT, year): Likewise.
57650         * lib/strverscmp.c (ISDIGIT): Likewise.
57651         * lib/userspec.c (ISDIGIT): Likewise.
57652
57653 2002-01-16  Jim Meyering  <meyering@lucent.com>
57654
57655         * lib/getdate.y: Add three semicolons, each just before a closing
57656         brace. Bison (as of version 1.31) no longer papers over that mistake.
57657
57658 2002-01-05  Jim Meyering  <meyering@lucent.com>
57659
57660         * lib/version-etc.c (version_etc_copyright): Update copyright year.
57661
57662 2001-12-19  Paul Eggert  <eggert@twinsun.com>
57663
57664         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
57665         not silently exit merely because the output buffer happens to
57666         have nothing pending.
57667
57668 2001-12-18  Paul Eggert  <eggert@twinsun.com>
57669
57670         See the big note in ../ChangeLog.
57671         * lib/human.c (suffixes): Prefer K to k for 1024.
57672         (generate_suffix_backwards): New function.
57673         (human_readable_inexact): Use it.
57674         * lib/xstrtol.c (__xstrtol): If there is no number but there
57675         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
57676         Accept 'K' as well as 'k'.
57677
57678 2001-12-15  Jim Meyering  <meyering@lucent.com>
57679
57680         * lib/regex.h (__restrict_arr): Update from libc.
57681
57682         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
57683         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
57684         (STREQ): Define.
57685
57686 2001-12-14  Jim Meyering  <meyering@lucent.com>
57687
57688         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
57689         Suggestion from Bruno Haible.
57690
57691 2001-12-10  Jim Meyering  <meyering@lucent.com>
57692
57693         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
57694         xrealloc, Instead, include "xalloc.h".
57695         (initbuffer): Don't cast xmalloc return value to char*.
57696         (readline): Reword comment.
57697         Don't cast xrealloc return value to char*
57698         Return NULL, not 0.
57699
57700 2001-12-09  Jim Meyering  <meyering@lucent.com>
57701
57702         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
57703         about `signed and unsigned type in conditional expression'.
57704         * lib/posixtm.c (posix_time_parse): Likewise.
57705
57706         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
57707
57708         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
57709         to avoid a pedantic warning.
57710
57711         * lib/getstr.c: Don't include assert.h.
57712         (getstr): Remove warning-evoking assertions.
57713         Return -1 if offset parameter is out of bounds.
57714         Change the type of a local from int to size_t.
57715
57716         * lib/strftime.c (my_strftime_localtime_r): Include this function
57717         definition in the `#if ! HAVE_TM_GMTOFF' block.
57718
57719         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
57720         Include xalloc.h instead.
57721
57722 2001-12-02  Jim Meyering  <meyering@lucent.com>
57723
57724         * lib/tempname.c: Don't declare getenv, thus reverting the change of
57725         2001-11-18.  It's no longer necessary, now that stdlib.h is always
57726         included.
57727
57728         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
57729         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
57730
57731 2001-11-30  Akim Demaille  <akim@epita.fr>
57732
57733         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
57734         before being defined.
57735
57736 2001-11-27  Paul Eggert  <eggert@twinsun.com>
57737
57738         * lib/quotearg.h (quotearg_n, quotearg_n_style):
57739         First arg is int, not unsigned.
57740         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
57741         (SIZE_MAX, UINT_MAX): New macros.
57742         (quotearg_n_options): Abort if N is negative.
57743         Avoid overflow check on hosts where size_t is 64 bits and int
57744         is 32 bits, as overflow is impossible there.
57745         Fix off-by-one typo that caused unnecessary reallocation.
57746
57747 2001-11-27  Jim Meyering  <meyering@lucent.com>
57748
57749         * lib/tempname.c: Merge with version from libc.
57750         * lib/regex.c: Likewise.
57751
57752         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
57753         systems for which STDC_HEADERS is 0, it was not included, resulting in
57754         a warning about an integer-to-pointer conversion problem with getenv.
57755         Reported by Volker Borchert.
57756
57757 2001-11-26  Jim Meyering  <meyering@lucent.com>
57758
57759         * lib/gtod.h: Remove file.
57760         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
57761         * lib/gettimeofday.c: Don't include gtod.h.
57762         (GTOD_init): Remove function.
57763         (rpl_gettimeofday): Do its job here instead, rather than aborting.
57764         Suggestion from Volker Borchert.
57765
57766 2001-11-23  Jim Meyering  <meyering@lucent.com>
57767
57768         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
57769         it.
57770         * lib/hash.c (struct hash_table): Define it here instead.
57771
57772 2001-11-22  Jim Meyering  <meyering@lucent.com>
57773
57774         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
57775
57776 2001-11-20  Jim Meyering  <meyering@lucent.com>
57777
57778         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
57779         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
57780
57781 2001-11-19  Jim Meyering  <meyering@lucent.com>
57782
57783         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
57784         directory.  Use "conftestXXXXXX" as the template.
57785         Suggestion from Paul Eggert.
57786
57787         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
57788         immediately, so the test doesn't mistakenly hit the max-open-files
57789         limit.
57790
57791 2001-11-18  Paul Eggert  <eggert@twinsun.com>
57792
57793         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
57794         (TEMPORARIES): New macro.
57795         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
57796         removes an artificial limitation (e.g. HP-UX 10.20, where
57797         TMP_MAX is 17576).
57798
57799 2001-11-18  Jim Meyering  <meyering@lucent.com>
57800
57801         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
57802
57803 2001-11-18  Jim Meyering  <meyering@lucent.com>
57804
57805         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
57806         on SunOS 4.
57807
57808         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
57809         files will be created before anything else.
57810
57811 2001-11-17  Paul Eggert  <eggert@twinsun.com>
57812
57813         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
57814         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
57815
57816 2001-11-17  Jim Meyering  <meyering@lucent.com>
57817
57818         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
57819         Prompted by a report from Bob Proulx.
57820
57821         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
57822         Instead, require UTILS_FUNC_MKSTEMP.
57823
57824 2001-11-17  Jim Meyering  <meyering@lucent.com>
57825
57826         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
57827         Now, that's done as part of AC_FUNC_STRTOD.
57828
57829 2001-11-17  Jim Meyering  <meyering@lucent.com>
57830
57831         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
57832         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
57833         rather than group writable.  Patch by Juan F. Codagnone.
57834
57835         * lib/readtokens.c: Remove explicit declarations of xmalloc and
57836         xrealloc, Instead, include "xalloc.h".
57837
57838         * lib/mountlist.c: Include unlocked-io.h after all system headers.
57839         Remove explicit declarations of xmalloc, xrealloc,
57840         and xstrdup.  Instead, include "xalloc.h".
57841
57842         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
57843         unlocked-io.h.
57844         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
57845         Likewise.
57846         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
57847
57848         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
57849         Reported by Padraig Brady.
57850
57851         * lib/mkstemp.c: #undef mkstemp.
57852         Include config.h.
57853         (rpl_mkstemp): Rename from mkstemp.
57854         Protoize.
57855
57856 2001-11-16  Jim Meyering  <meyering@lucent.com>
57857
57858         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
57859         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
57860         determine the amount of total physical memory, use pstat_getstatic.
57861         HPUX-11 doesn't define _SC_PHYS_PAGES.
57862         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
57863         If sysconf couldn't be used to determine the amount of available
57864         physical memory, use both pstat_getstatic and pstat_getdynamic.
57865         Based on a patch from Bob Proulx.
57866
57867 2001-11-10  Jim Meyering  <meyering@lucent.com>
57868
57869         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
57870         (jm_PREREQ): Use it.
57871
57872 2001-11-09  Jim Meyering  <meyering@lucent.com>
57873
57874         * m4/jm-macros.m4: Require autoconf-2.52f.
57875         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
57876         Use these AC_-prefixed names, not the AM_-prefixed ones.
57877
57878         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
57879
57880 2001-11-05  Jim Meyering  <meyering@lucent.com>
57881
57882         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
57883
57884 2001-11-04  Jim Meyering  <meyering@lucent.com>
57885
57886         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
57887         $DEFS.
57888
57889 2001-11-03  Jim Meyering  <meyering@lucent.com>
57890
57891         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
57892         of AC_DEFUN.
57893
57894         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
57895         know the name of the variable in the macro definition.
57896
57897 2001-11-03  Jim Meyering  <meyering@lucent.com>
57898
57899         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
57900         in argmatch_to_argument call.
57901
57902         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
57903         argument.
57904
57905         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
57906         e.g., a fault due to an attempt to free a NULL pointer.
57907
57908 2001-11-01  Jim Meyering  <meyering@lucent.com>
57909
57910         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
57911         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
57912
57913 2001-11-01  Jim Meyering  <meyering@lucent.com>
57914
57915         * lib/dirfd.c, lib/dirfd.h: New files.
57916         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
57917
57918         * lib/hash.c (hash_print) [TESTING]: Clean up.
57919
57920 2001-10-22  Paul Eggert  <eggert@twinsun.com>
57921
57922         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
57923         to avoid a warning if -Wall.
57924
57925 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
57926
57927         * README: New file
57928         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
57929         (per RMS's instructions, this is now the canonical source)
57930         * lgpl/, gpl/: New directories.
57931
57932 2001-10-21  Paul Eggert  <eggert@twinsun.com>
57933
57934         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
57935
57936 2001-10-21  Jim Meyering  <meyering@lucent.com>
57937
57938         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
57939         this code would end up calling gettext even in packages built
57940         with --disable-nls.
57941         * lib/getopt.c (_): Likewise.
57942         * lib/regex.c (_): Likewise.
57943
57944 2001-10-20  Paul Eggert  <eggert@twinsun.com>
57945
57946         * m4/error.m4 (jm_PREREQ_ERROR):
57947         Do not invoke AC_CHECK_FUNCS with strerror_r, as
57948         AC_FUNC_STRERROR_R does that.
57949         Check for strerror declaration.
57950
57951         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
57952         are supposed to have them these days.
57953         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
57954         Merge changes from latest Autoconf CVS.
57955         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
57956         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
57957         POSIX decided to standardize on the int flavor of strerror_r.
57958
57959 2001-10-20  Paul Eggert  <eggert@twinsun.com>
57960
57961         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
57962         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
57963         Use strerror_r that is only a macro, even if it is not a function.
57964         (strerror): Check for HAVE_DECL_STRERROR before declaring.
57965         (private_strerror): Use prototypes, not old-style function definition.
57966         (print_errno_message): New function.
57967         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
57968         char*-flavored one.
57969         (error_tail, error, error_at_line): Use it.
57970
57971 2001-10-11  Jim Meyering  <meyering@lucent.com>
57972
57973         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
57974         and quote_n (1, ... to avoid clobbering a buffer.
57975
57976 2001-10-05  Jim Meyering  <meyering@lucent.com>
57977
57978         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
57979         hash-pjw.h.
57980         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
57981         * lib/hash-pjw.h: New file.
57982
57983 2001-09-30  Jim Meyering  <meyering@lucent.com>
57984
57985         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
57986         `struct fsstat' has the `f_fstypename' member.
57987         Use that to define FS_TYPE, which is now used to make
57988         the getfsstat link test tighter.
57989
57990 2001-09-30  Jim Meyering  <meyering@lucent.com>
57991
57992         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
57993         Include <sys/ucred.h>, for Apple Darwin.
57994         Include sys/mount.h and sys/fs_types.h only if available.
57995         (FS_TYPE): Define.
57996         (read_filesystem_list): Use FS_TYPE.
57997
57998 2001-09-29  Paul Eggert  <eggert@twinsun.com>
57999
58000         * lib/exclude.c (excluded_filename): 0 -> false, since it's
58001         a boolean context.
58002
58003 2001-09-29  Jim Meyering  <meyering@lucent.com>
58004
58005         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
58006         [one-argument getmntent function]): Include stdio.h before mntent.h.
58007         SunOS 4.1.x needs it for the declaration of `FILE'.
58008         Patch by Volker Borchert.
58009
58010         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
58011         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
58012         sys/fs_types.h, and make the link-test for getfsstat guard #include
58013         directives with appropriate #if HAVE_*_H tests so that we can
58014         detect getfsstat on Apple Darwin1.3.7 systems.
58015         Reported by Nelson Beebe.
58016         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
58017
58018 2001-09-28  Paul Eggert  <eggert@twinsun.com>
58019
58020         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
58021         #defines strtoimax.  Also treat the other strto* functions
58022         like strtoimax.
58023
58024         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
58025         Check for strtoul and strtoumax,
58026         as those declarations are made even in the signed case.
58027         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
58028         Likewise, for strtol and strtoimax.
58029
58030 2001-09-28  Paul Eggert  <eggert@twinsun.com>
58031
58032         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
58033         #defines strtoimax.  Also treat the other strto* functions
58034         like strtoimax.
58035
58036         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
58037         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
58038         (strtoimax, strtoumax): Do not declare if already defined as a macro.
58039
58040 2001-09-26  Jim Meyering  <meyering@lucent.com>
58041
58042         Most macros in unlocked-io.h had the wrong number of arguments.
58043         * lib/gen-uio: New script.
58044         (USE_UNLOCKED_IO): Define to 1 if not already defined.
58045         * lib/unlocked-io.hin: Remove file.
58046         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
58047         rather than trying to embed it here.
58048         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
58049         Reported by Padraig Brady.
58050
58051 2001-09-25  Volker Borchert  <bt@teknon.de>
58052
58053         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
58054         `result'.
58055
58056 2001-09-24  Jim Meyering  <meyering@lucent.com>
58057
58058         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
58059
58060 2001-09-23  Jim Meyering  <meyering@lucent.com>
58061
58062         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
58063         instead of the mere test for existence of mntent.h.  The latter
58064         would get a false-positive on AIX 3.4 systems.
58065         In the outer getmntent if-block, don't die if neither of the getmntent
58066         tests succeeds.  Instead, just fall through and continue with the
58067         remaining tests.
58068
58069 2001-09-23  Jim Meyering  <meyering@lucent.com>
58070
58071         * lib/mountlist.c: Remove useless parentheses in #if directives.
58072         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
58073         the deprecated MOUNTED symbol is no longer defined in mntent.h.
58074
58075 2001-09-22  Jim Meyering  <meyering@lucent.com>
58076
58077         * m4/gettext.m4: New file.  From gettext.
58078         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
58079         * m4/progtest.m4: Likewise
58080         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
58081         * m4/glibc21.m4: Likewise.
58082
58083         * m4/libintl.m4: Remove.  No longer used.
58084
58085 2001-09-22  Jim Meyering  <meyering@lucent.com>
58086
58087         * lib/localcharset.c: Update from latest gettext.
58088         * lib/config.charset: Likewise.
58089
58090 2001-09-20  Jim Meyering  <meyering@lucent.com>
58091
58092         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
58093         strtoimax.
58094         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
58095         strtoumax.
58096
58097 2001-09-20  Jim Meyering  <meyering@lucent.com>
58098
58099         * lib/xstrtol.c (strtoimax): Guard declaration with
58100         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
58101         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
58102         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
58103         (strtoumax): Likewise, for completeness (it wasn't necessary).
58104
58105 2001-09-17  Paul Eggert  <eggert@twinsun.com>
58106
58107         * lib/strtoimax.c (HAVE_LONG_LONG):
58108         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
58109         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
58110         to work around bug in IBM C compiler.
58111
58112 2001-09-17  Jim Meyering  <meyering@lucent.com>
58113
58114         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
58115         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
58116         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
58117         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
58118         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
58119         whenever the right hand side need not be expanded by the shell.
58120
58121 2001-09-16  Paul Eggert  <eggert@twinsun.com>
58122
58123         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
58124         library.  It's not correct, as some older glibcs are buggy.
58125         fnmatch wasn't fixed until glibc 2.2.
58126
58127         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
58128         special shell magic here.
58129
58130 2001-09-16  Jim Meyering  <meyering@lucent.com>
58131
58132         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
58133         * m4/jm-macros.m4: Require it.
58134
58135 2001-09-16  Jim Meyering  <meyering@lucent.com>
58136
58137         * lib/mkdir.c: New file.
58138
58139 2001-09-15  Jim Meyering  <meyering@lucent.com>
58140
58141         * m4/jm-macros.m4: Check for help2man.
58142
58143 2001-09-11  Jim Meyering  <meyering@lucent.com>
58144
58145         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
58146         The body, by Paul Eggert, was moved here from configure.in.
58147         * m4/jm-macros.m4: Require UTILS_HOST_OS.
58148
58149 2001-09-04  Paul Eggert  <eggert@twinsun.com>
58150
58151         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
58152         (jm_PREREQ): Use it.
58153
58154 2001-09-04  Paul Eggert  <eggert@twinsun.com>
58155
58156         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
58157         Use ssize_t, not int, to store result of readlink.
58158         Check for ssize_t overflow as well as size_t overflow,
58159         as POSIX says the result of readlink is implementation-defined
58160         when ssize_t overflows.
58161         Remove unnecessary cast to char*.
58162         Use free+malloc instead of realloc, as the storage doesn't need
58163         to be preserved and it's clearer and can be more efficient that way.
58164         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
58165         * lib/xreadlink.h (xreadlink): Update prototype.
58166
58167 2001-09-04  Paul Eggert  <eggert@twinsun.com>
58168
58169         * lib/xgetcwd.c: Revert some of the previous change; intead,
58170         fix the HAVE_GETCWD_NULL code to behave more like the
58171         !HAVE_GETCWD_NULL code used to.
58172
58173         Include "xalloc.h".
58174         (xgetcwd): Do not return NULL when memory is exhausted; instead,
58175         invoke xalloc_die.
58176
58177 2001-09-03  Paul Eggert  <eggert@twinsun.com>
58178
58179         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
58180         sys/param.h, as pathmax.h includes them.
58181
58182 2001-09-03  Paul Eggert  <eggert@twinsun.com>
58183
58184         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
58185         (jm_PREREQ_XGETCWD): New macro.
58186
58187         * m4/getcwd.m4: New file.
58188
58189 2001-09-03  Paul Eggert  <eggert@twinsun.com>
58190
58191         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
58192         like the HAVE_GETCWD_NULL code.
58193         Include pathmax.h if not HAVE_GETCWD.
58194         Do not include xalloc.h.
58195         (INITIAL_BUFFER_SIZE): New symbol.
58196         Do not use xmalloc / xrealloc, since the caller is responsible for
58197         handling errors.  Preserve errno around `free' during failure.
58198         Do not overrun buffer when using getwd.
58199
58200 2001-09-03  Paul Eggert  <eggert@twinsun.com>
58201
58202         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
58203         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
58204         getcwd (NULL, 0).
58205
58206 2001-09-03  Paul Eggert  <eggert@twinsun.com>
58207
58208         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
58209         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
58210         spotted by Jim Meyering.
58211
58212 2001-09-03  Jim Meyering  <meyering@lucent.com>
58213
58214         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
58215         failure.
58216
58217 2001-09-02  Jim Meyering  <meyering@lucent.com>
58218
58219         * lib/error.c: Update from GNU libc.
58220
58221 2001-09-01  Jim Meyering  <meyering@lucent.com>
58222
58223         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
58224         Used by df.
58225
58226 2001-09-01  Jim Meyering  <meyering@lucent.com>
58227
58228         * lib/xreadlink.c: New file.
58229         * lib/xreadlink.h: New file.
58230         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
58231         xreadlink.h.
58232
58233         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
58234         doesn't conflict with sparc Solaris 7's definition in
58235         /usr/include/sys/int_types.h.
58236
58237         * lib/exclude.c: Use `""', not `<>' to #include non-system header
58238         files.
58239         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
58240         and strncasecmp as r-values.  Unixware didn't have declarations.
58241
58242 2001-08-31  Paul Eggert  <eggert@twinsun.com>
58243
58244         * lib/xstrtol.h: Add copyright notice.
58245         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
58246         LONGINT_INVALID_SUFFIX_CHAR.
58247
58248 2001-08-31  Paul Eggert  <eggert@twinsun.com>
58249
58250         * lib/xstrtol.c (strtoimax): New decl.
58251
58252 2001-08-31  Paul Eggert  <eggert@twinsun.com>
58253
58254         * lib/xgetcwd.c: Don't include pathmax.h.
58255         Include stdlib.h and unistd.h if available.
58256         Include xalloc.h.
58257         (xmalloc, xstrdup, free): Remove decls.
58258         (xgetcwd): Don't assume sizes fit in unsigned.
58259         Check for overflow when computing sizes.
58260         Simplify reallocation code.
58261
58262 2001-08-31  Paul Eggert  <eggert@twinsun.com>
58263
58264         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
58265         a directory's st_size can have an arbitrary value, so the old
58266         usage could waste an arbitrary amount of memory.  All uses
58267         changed.
58268         * lib/savedir.h: Update prototype.
58269
58270 2001-08-31  Paul Eggert  <eggert@twinsun.com>
58271
58272         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
58273
58274         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
58275         old strtoimax.c.
58276
58277         Also, make the following further changes to make this file's
58278         configuration more similar to that of strtol.c:
58279         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
58280         (strtoumax, uintmax_t, strtoull, strtol): Remove.
58281         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
58282         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
58283         changed to signed values.
58284
58285         And make the following changes as well:
58286         Fix copyright notice, as 1999 was missing.
58287         (verify): New macro.
58288         (strtoimax): Check sizes at compile-time, not run-time.
58289         Prefer strtol to strtoll if both work.
58290         (main): Remove; it was not that useful and was a pain to maintain.
58291
58292         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
58293
58294 2001-08-31  Jim Meyering  <meyering@lucent.com>
58295
58296         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
58297         Use an initial, malloc'd, buffer of length 128 rather than
58298         a statically allocated one of length 1024.
58299
58300 2001-08-30  Paul Eggert  <eggert@twinsun.com>
58301
58302         Simplify code, partly by assuming autoconf 2.52 semantics.
58303
58304         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
58305
58306         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
58307         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
58308         All uses removed.
58309         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
58310         Move AC_REQUIRE to next-to-top level, to avoid confusion.
58311         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
58312         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
58313         jm_AC_HEADER_INTTYPES_H.
58314         * m4/jm-macros.m4 (jm_MACROS): Likewise.
58315
58316         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
58317
58318         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
58319         Quote first arg of AC_DEFUN.
58320         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
58321         since they are needed to parse the include file even if we need
58322         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
58323         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
58324         but with opposite signedness.
58325
58326 2001-08-30  Paul Eggert  <eggert@twinsun.com>
58327
58328         Merge 'exclude' changes from tar 1.13.22.
58329         This fixes one or two unlikely storage allocation overflow bugs,
58330         but doesn't change user-visible behavior otherwise.
58331
58332 2001-08-30  Paul Eggert  <eggert@twinsun.com>
58333
58334         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
58335         (jm_PREREQ_EXCLUDE): New macro.
58336
58337 2001-08-30  Paul Eggert  <eggert@twinsun.com>
58338
58339         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
58340         tm to be declared.
58341
58342 2001-08-30  Paul Eggert  <eggert@twinsun.com>
58343
58344         * lib/hash.c: Remove '2001' from copyright notice.
58345
58346 2001-08-30  Paul Eggert  <eggert@twinsun.com>
58347
58348         * lib/full-write.h: New file.
58349         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
58350         * lib/full-write.c: Correct credits, as cccp.c no longer
58351         exists and anyway it was so heavily changed from the old cccp
58352         code as to be unrecognizable.  Include full-write.h.
58353         (full_write) Return size_t, with short writes meaning failure.
58354         All callers changed.  This fixes a bug with large buffers
58355         on 64-bit hosts.
58356         * lib/utime.c: Include full-write.h.
58357
58358 2001-08-30  Paul Eggert  <eggert@twinsun.com>
58359
58360         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
58361         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
58362         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
58363         Include if available.
58364         (<xalloc.h>): Include
58365         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
58366         (verify): New macro.  Use it to verify that EXCLUDE macros do not
58367         collide with FNM macros.
58368         (struct patopts): New struct.
58369         (struct exclude): Use it, as exclude patterns now come with options.
58370         (new_exclude): Support above changes.
58371         (new_exclude, add_exclude_file):
58372         Initial size must now be a power of two to simplify overflow checking.
58373         (free_exclude, fnmatch_no_wildcards): New function.
58374         (excluded_filename): No longer requires options arg, as the options
58375         are determined by add_exclude.  Now returns bool, not int.
58376         (excluded_filename, add_exclude):
58377         Add support for the fancy new exclusion options.
58378         (add_exclude, add_exclude_file): Now takes int options arg.
58379         Check for arithmetic overflow when computing sizes.
58380         (add_exclude_file): xrealloc might modify errno, so don't
58381         realloc until after errno might be used.
58382
58383         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
58384         New macros.
58385         (free_exclude): New decl.
58386         (add_exclude, add_exclude_file): Now takes int options arg.
58387         (excluded_filename): No longer requires options arg, as the options
58388         are determined by add_exclude.  Now returns bool, not int.
58389
58390 2001-08-30  Paul Eggert  <eggert@twinsun.com>
58391
58392         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
58393
58394 2001-08-27  Jim Meyering  <meyering@lucent.com>
58395
58396         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
58397
58398         * lib/version-etc.c (N_): Remove definition.
58399         Revert most of last change.
58400         Instead, simply don't mark the `Copyright...' string for translation.
58401         Based on advice from Paul Eggert.
58402
58403         * lib/strtoxmax.c: Tweak comment.
58404
58405 2001-08-26  Jim Meyering  <meyering@lucent.com>
58406
58407         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
58408
58409         * m4/xstrtoimax.m4: New file.
58410         * m4/xstrtoumax.m4: Add comments explaining why we
58411         AC_REPLACE_FUNCS(strtol).
58412
58413 2001-08-26  Jim Meyering  <meyering@lucent.com>
58414
58415         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
58416         of copyright with `%s' so translators don't get an untranslated
58417         message in 2002.
58418         (COPYRIGHT_YEAR): Define.
58419         (version_etc): Use fprintf rather than fputs.
58420         Suggestion from Ulrich Drepper.
58421
58422         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
58423
58424         * lib/strtoll.c: New file, from GNU libc.
58425         * lib/xstrtoimax.c: New file.
58426
58427         * lib/xstrtol.h: Add xstrtoimax.
58428         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
58429         * lib/strtoimax.c: New file.  Likewise, but first define
58430         STRTOUXMAX_SIGNED.
58431
58432         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
58433         ...
58434         * lib/strtoxmax.c: ... then renamed to this.
58435
58436 2001-08-18  Paul Eggert  <eggert@twinsun.com>
58437
58438         * m4/inttypes.m4: Add AC_PREREQ(2.13).
58439         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
58440         (jm_AC_TYPE_INTMAX_T): New macro.
58441         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
58442
58443         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
58444
58445         * m4/longlong.m4: Renamed from ulonglong.m4.
58446         * m4/inttypes.m4: Renamed from inttypes_h.m4.
58447         * m4/uintmax_t.m4: Removed.
58448
58449 2001-08-13  Paul Eggert  <eggert@twinsun.com>
58450
58451         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
58452         Port to Solaris 8, where 'sed' requires a space after the 'r'
58453         command, and where sh dislikes "$/".  Clean up the spacing a bit.
58454         Redirect output to $tmp just once.
58455
58456 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
58457
58458         * lib/addext.c (<errno.h>): Include.
58459         (errno): Declare if not defined.
58460         (addext): Work correctly when pathconf returns -1 and leaves
58461         errno alone because there is no limit.  Also, work even if
58462         pathconf returns a value greater than SIZE_MAX.
58463
58464 2001-08-12  Jim Meyering  <meyering@lucent.com>
58465
58466         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
58467         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
58468         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
58469         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
58470         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
58471         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
58472         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
58473         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
58474         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
58475         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
58476         utime.m4, utimes.m4, xstrtoumax.m4:
58477         Quote the first argument in each use of AC_DEFUN.
58478
58479 2001-08-12  Jim Meyering  <meyering@lucent.com>
58480
58481         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
58482         Simply `return getcwd (NULL, 0);'.
58483         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
58484         Use 1300 as initial value for length, not PATH_MAX.
58485
58486         * lib/pathmax.h: Clean up cpp syntax.
58487
58488 2001-08-12  Jim Meyering  <meyering@lucent.com>
58489
58490         * lib/gettimeofday.c: New file.
58491         * lib/gtod.h: New file.
58492         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
58493
58494 2001-08-05  Jim Meyering  <meyering@lucent.com>
58495
58496         * m4/jm-macros.m4: Require autoconf-2.52.
58497
58498 2001-08-04  Jim Meyering  <meyering@lucent.com>
58499
58500         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
58501         stmt, to get in sync with glibc.
58502
58503 2001-08-03  Paul Eggert  <eggert@twinsun.com>
58504
58505         The following changes are from gettext 0.10.39 as maintained by
58506         Bruno Haible.
58507
58508         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
58509         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
58510         with inverted sense.  All uses changed.
58511
58512         * lib/mbswidth.c: Don't include <limits.h>.
58513         Include <stdlib.h> and <string.h> unconditionally.
58514         (iswcntrl, mbsinit, ISCNTRL): New macros.
58515         (mbsnwidth): Use K&R style function declarations.
58516         Don't bother checking for MB_LEN_MAX == 1, since the compiler
58517         can optimize it when MB_CUR_MAX == 1.
58518         The width of control characters is zero, not 1.
58519
58520 2001-08-03  Paul Eggert  <eggert@twinsun.com>
58521
58522         The following changes are from gettext 0.10.39 as maintained by
58523         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
58524
58525         * m4/codeset.m4: Upgrade to serial AM1.
58526         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
58527         all uses changed.  Quote first arg of AC_DEFUN.
58528         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
58529
58530         * m4/iconv.m4: Upgrade to serial AM2.
58531         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
58532         Add --with-libconv-prefix.
58533         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
58534         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
58535         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
58536         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
58537         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
58538
58539         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
58540         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
58541         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
58542         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
58543         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
58544         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
58545         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
58546         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
58547         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
58548
58549         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
58550         string.h any more.
58551
58552         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
58553         not the default value.
58554
58555         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
58556         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
58557         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
58558         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
58559         Also check for iswcntrl, used for wcwidth fallback.
58560         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
58561         to Autoconf 2.13.
58562
58563 2001-08-03  Jim Meyering  <meyering@lucent.com>
58564
58565         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
58566         as it was in the original.  Reported by Paul Eggert.
58567
58568 2001-07-16  Jim Meyering  <meyering@lucent.com>
58569
58570         * m4/gettimeofday.m4: New file.
58571         Prompted by a report from Bernhard Baehr.
58572
58573 2001-07-15  Jim Meyering  <meyering@lucent.com>
58574
58575         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
58576         stuff. Now it's in ../Makefile.cfg.
58577
58578 2001-07-15  Jim Meyering  <meyering@lucent.com>
58579
58580         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
58581         (BUILT_SOURCES): Add unlocked-io.h.
58582         (io_functions): Define.
58583         (unlocked-io.h): New rule.
58584         (DISTCLEANFILES): Add unlocked-io.h.
58585         (all-local): Depend on unlocked-io.h, to ensure it is created.
58586
58587         * lib/unlocked-io.hin: New file
58588
58589         * lib/regex.c: Update from glibc.
58590
58591 2001-07-05  Jim Meyering  <meyering@lucent.com>
58592
58593         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
58594         recommendation.
58595         (libfetish_a_SOURCES): Put all .h files here instead.
58596         Remove a thus-exposed (better checks in automake) duplicate and
58597         two unnecessary .h files.
58598
58599 2001-07-04  Jim Meyering  <meyering@lucent.com>
58600
58601         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
58602         that generates jm-glibc-io.m4 so that it doesn't trigger any make
58603         distcheck failure.
58604
58605 2001-07-02  Jim Meyering  <meyering@lucent.com>
58606
58607         The following changes were prompted by suggestions from Bruno Haible.
58608
58609         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
58610         is now generated.
58611         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
58612         definition of EXTRA_DIST.
58613         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
58614         ensure that the generated file is created/updated whenever the list
58615         of $(unlocked_functions) is changed.
58616         (jm-glibc-io.m4): New rule.
58617         (unlocked-io.h): New rule -- currently unused.
58618
58619 2001-06-24  Jim Meyering  <meyering@lucent.com>
58620
58621         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
58622         unmatched right bracket, rather than kludging it with an extra,
58623         falsely-matching quote in a comment.  Patch by Akim Demaille.
58624
58625 2001-06-11  Jim Meyering  <meyering@lucent.com>
58626
58627         * lib/regex.c: Update from GNU libc.
58628
58629 2001-05-27  Jim Meyering  <meyering@lucent.com>
58630
58631         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
58632         Check for ut_type in struct utmp.
58633
58634 2001-05-27  Jim Meyering  <meyering@lucent.com>
58635
58636         * lib/readutmp.h (UT_TYPE): Define.
58637
58638 2001-05-24  Jim Meyering  <meyering@lucent.com>
58639
58640         * lib/argmatch.c: Include "quote.h".
58641         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
58642         quote function.  Reported by Göran Uddeborg.
58643
58644 2001-05-22  Jim Meyering  <meyering@lucent.com>
58645
58646         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
58647         now that we use the package-supplied version unconditionally.
58648         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
58649
58650 2001-05-21  Jim Meyering  <meyering@lucent.com>
58651
58652         * m4/regex.m4: Change a couple backticks to single quotes to avoid
58653         shell syntax errors.
58654
58655 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
58656
58657         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
58658
58659 2001-05-20  Paul Eggert  <eggert@twinsun.com>
58660
58661         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
58662         Don't bother to check library strftime, since
58663         we'll be using our own my_strftime function anyway.
58664         Define my_strftime instead of strftime.
58665
58666 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
58667
58668         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
58669         which is not yet declared.
58670
58671 2001-05-15  Jim Meyering  <meyering@lucent.com>
58672
58673         * m4/regex.m4: Use proper quoting so brackets appear in the test
58674         program.
58675         Reported by, and with help from, Bruno Haible.
58676
58677 2001-05-13  Jim Meyering  <meyering@lucent.com>
58678
58679         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
58680         undefined.
58681
58682 2001-05-11  Paul Eggert  <eggert@twinsun.com>
58683
58684         dirname code cleanup.  base_name now behaves more compatibly
58685         with POSIX basename when given file names that have trailing
58686         slashes, and similarly for dir_name.  Add new primitives
58687         base_len and dir_len.  Put the directory-name-related decls
58688         into dirname.h.
58689
58690         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
58691         * lib/backupfile.c (base_name): Likewise.
58692         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
58693         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
58694         * lib/makepath.c (strip_trailing_slashes): Likewise.
58695         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
58696         ISSLASH): Likewise.
58697         * lib/rename.c (strip_trailing_slashes): Likewise.
58698         * lib/same.c (base_name): Likewise.
58699         * lib/stripslash.c (ISSLASH): Likewise.
58700
58701         * lib/addext.c: Include <dirname.h> after size_t is defined.
58702         * lib/backupfile.c: Likewise.
58703
58704         * lib/addext.c (addext): Use base_len to trim redundant
58705         trailing slashes instead of doing it ourselves.
58706         But do not trim the last slash if it is not redundant.
58707
58708         * lib/backupfile.c (find_backup_file_name,
58709         max_backup_version): Use base_len instead of rolling it ourselves.
58710         Handle the case of "" and (on DOS) "C:" correctly.
58711
58712         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
58713         needed. Include <string.h>, <dirname.h>.
58714         (base_name): Allow file names ending in slashes, other than names
58715         that are all slashes.  In this case, return the basename followed
58716         by the slashes.  This is more general, and can be used in places
58717         where the original base_name purposely had an assertion failure.
58718         (base_len): New function.
58719
58720         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
58721         Do not include <assert.h>; no longer needed.
58722         Include xalloc.h.
58723         (memrchr): Remove decl.
58724         (dir_name_r): Remove.
58725         (dir_len): Renamed from dirlen.  All callers changed.
58726         Rewrite in terms of base_name, for simplicity and consistency.
58727         (dir_name): Never return NULL.  All callers changed.
58728         Do not include <stdlib.h> in test program; no longer needed.
58729         return 0; is fine for test program.
58730
58731         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
58732         New macros.
58733         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
58734
58735         * lib/path-concat.c (path_concat): Use base_len to compute
58736         base length, not strlen; this means we cannot rely on memcpy
58737         to null-terminate.
58738
58739         * lib/same.c (STREQ): Remove.
58740         (same_name): Handle the case where the basename ends in trailing '/'.
58741
58742         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
58743         a slash was stripped.  Do not strip the last slash after a
58744         file system prefix.
58745
58746 2001-05-11  Paul Eggert  <eggert@twinsun.com>
58747
58748         * lib/Makefile.am (libfetish_a_SOURCES):
58749         Add strftime.c, since we now compile it on all hosts.
58750
58751         * lib/strftime.c (my_strftime):
58752         Define to nstrftime if emacs, but only if my_strftime is not defined.
58753         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
58754         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
58755         Add one more extra argument: a nanoseconds value.
58756         All uses changed.
58757         (ns): New macro.
58758         (my_strftime function): Add %N format.
58759         (emacs_strftimeu): Renamed from emacs_strftime,
58760         with extra ut argument.
58761
58762 2001-05-09  Paul Eggert  <eggert@twinsun.com>
58763
58764         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
58765
58766 2001-04-21  Jim Meyering  <meyering@lucent.com>
58767
58768         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
58769         doesn't interfere.
58770
58771 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
58772
58773         * m4/ftruncate.m4: Check for chsize.
58774         Link with ftruncate.o unconditionally if ftruncate is missing.
58775         This was required when cross-compiling to i586-mingw32msvc.
58776
58777 2001-04-08  Jim Meyering  <meyering@lucent.com>
58778
58779         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
58780         recomputed; that's necessary when the offset spans a DST transition.
58781         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
58782
58783 2001-04-02  Jim Meyering  <meyering@lucent.com>
58784
58785         * lib/regex.h, regex.c: Update from GNU libc.
58786
58787 2001-03-24  Jim Meyering  <meyering@lucent.com>
58788
58789         * m4/jm-macros.m4: Require autoconf-2.49d.
58790
58791 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
58792
58793         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
58794
58795 2001-03-19  Paul Eggert  <eggert@twinsun.com>
58796
58797         * lib/version-etc.c (version_etc_copyright): Update to 2001.
58798
58799 2001-03-17  Jim Meyering  <meyering@lucent.com>
58800
58801         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
58802         now that the version in autoconf is equivalent.
58803         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
58804
58805         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
58806         Suggestion from Akim Demaille.
58807
58808         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
58809         (jm_PREREQ_TEMPNAME): New function.
58810
58811 2001-03-16  Paul Eggert  <eggert@twinsun.com>
58812
58813         * lib/tempname.c (uint64_t): Define to uintmax_t if
58814         not defined, and if UINT64_MAX is not defined.
58815         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
58816         Reported by John David Anglin.
58817
58818 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
58819
58820         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
58821         resolve alias if codeset is empty.
58822         * lib/config.charset (BeOS): Use wildcard syntax.
58823
58824 2001-03-13  Jim Meyering  <meyering@lucent.com>
58825
58826         * lib/path-concat.c (path_concat)
58827         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
58828         concatenating e.g., `C:' and `foo'.
58829         From Bruno Haible.
58830
58831 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
58832
58833         * lib/localcharset.c (locale_charset): Don't use
58834         setlocale(LC_CTYPE,NULL). Don't return NULL.
58835         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
58836
58837 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
58838
58839         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
58840         support for DOS/DJGPP.
58841
58842 2001-03-01  Paul Eggert  <eggert@twinsun.com>
58843
58844         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
58845         lacks mkstemp.  Compile our own tempname.c if we compile our own
58846         mkstemp.c, as mkstemp relies on tempname.
58847
58848 2001-03-01  Jim Meyering  <meyering@lucent.com>
58849
58850         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
58851         AH_VERBATIM really does output its argument verbatim.
58852
58853 2001-02-28  Paul Eggert  <eggert@twinsun.com>
58854
58855         * lib/Makefile.am (libfetish_a_SOURCES):
58856         Add dup-safer.c, fopen-safer.c.
58857         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
58858
58859         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
58860         * lib/unistd-safer.h: New files.
58861
58862 2001-02-25  Paul Eggert  <eggert@twinsun.com>
58863
58864         The mkstemp replacement is taken from glibc 2.2.2, with some
58865         portability fixes for use outside glibc, as follows:
58866
58867         * lib/tempname.c (struct_stat64): New macro.
58868         (direxists, __gen_tempname): Use it.
58869         This avoids a portability problem with Solaris 8.
58870
58871         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
58872         (<stddef.h>, <stdint.h>, <string.h>):
58873         Include only if STDC_HEADERS || _LIBC.
58874         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
58875         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
58876         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
58877         (__set_errno): Define this macro if <errno.h> doesn't.
58878         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
58879         Define these macros if <stdio.h> doesn't.
58880         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
58881         Define these macros if <sys/stat.h>
58882         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
58883         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
58884         __xstat64): Define if not _LIBC.
58885         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
58886         (__gen_tempname): Invoke gettimeofday only if
58887         HAVE_GETTIMEOFDAY || _LIBC;
58888         otherwise, fall back on plain "time".
58889         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
58890
58891         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
58892
58893         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
58894
58895 2001-02-18  Paul Eggert  <eggert@twinsun.com>
58896
58897         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
58898
58899 2001-02-17  Paul Eggert  <eggert@twinsun.com>
58900
58901         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
58902         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
58903         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
58904         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
58905
58906 2001-02-17  Paul Eggert  <eggert@twinsun.com>
58907
58908         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
58909         Remove workaround macros for hosts that have mbrtowc but not
58910         mbstate_t, as we now insist on proper declarations for both
58911         before using mbrtowc.
58912
58913 2001-02-17  Jim Meyering  <meyering@lucent.com>
58914
58915         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
58916         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
58917         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
58918         UnixWare 7.1.1.
58919
58920         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
58921         rather than AC_CACHE_VAL.
58922
58923 2001-02-17  Jim Meyering  <meyering@lucent.com>
58924
58925         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
58926         around included file name.
58927
58928         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
58929
58930         * lib/strftime.c: Update from GNU libc (the only changes were to
58931         comments).
58932
58933 2001-02-17  Jim Meyering  <meyering@lucent.com>
58934
58935         * lib/regex.c: Update from libc.
58936
58937 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
58938
58939         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
58940         clash.
58941
58942 2001-02-16  Paul Eggert  <eggert@twinsun.com>
58943
58944         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
58945         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
58946         Reported by Mark Hounschell via Paul Eggert.
58947
58948 2001-02-07  Jim Meyering  <meyering@lucent.com>
58949
58950         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
58951
58952 2001-02-05  Jim Meyering  <meyering@lucent.com>
58953
58954         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
58955         it includes the patch required for `large file' support with at least
58956         HP-UX's 10.20 /bin/cc.
58957
58958 2001-02-03  Jim Meyering  <meyering@lucent.com>
58959
58960         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
58961         AS_IF, now that it works once again (mysteriously).
58962         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
58963
58964 2001-01-30  Jim Meyering  <meyering@lucent.com>
58965
58966         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
58967         * m4/chown.m4: Rename conftestchown to conftest.chown.
58968         * m4/rename.m4: s/conftestdir/conftest.d1/ and
58969         s/conftestdir2/conftest.d2/.
58970         * m4/utimes.m4: s/conftestdata/conftest.data/
58971         Inspired by Pavel Roskin's change in autoconf.
58972
58973 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
58974
58975         * lib/config.charset: Update for FreeBSD 4.2.
58976
58977 2001-01-27  Jim Meyering  <meyering@lucent.com>
58978
58979         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
58980         a use of AS_IF.
58981         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
58982
58983 2001-01-26  Jim Meyering  <meyering@lucent.com>
58984
58985         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
58986         quotearg.c includes it.
58987
58988 2001-01-26  Jim Meyering  <meyering@lucent.com>
58989
58990         * lib/quotearg.c: Include stddef.h.
58991         * lib/quote.c: Include stddef.h.
58992         Reported by Axel Kittenberger.
58993
58994         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
58995         line in double quotes so that it evokes a better diagnostic.
58996         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
58997         Reported by Axel Kittenberger.
58998
58999 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
59000
59001         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
59002         as if it was a `charset'.
59003
59004 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
59005
59006         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
59007         has const.
59008
59009 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
59010
59011         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
59012         to avoid a warning.  Add back 'const' to inptr.
59013
59014 2001-01-20  Jim Meyering  <meyering@lucent.com>
59015
59016         Be sure that headers are checked before used in code compiled
59017         for the type checks.
59018         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
59019         In place of that, invoke jm_CHECK_ALL_TYPES.
59020         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
59021         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
59022         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
59023         The check for ssize_t was mistakenly run before the test for unistd.h.
59024
59025         The configure-time check for stdbool.h was missing.
59026         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
59027         (jm_PREREQ_HASH): New function.
59028
59029 2001-01-17  Jim Meyering  <meyering@lucent.com>
59030
59031         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
59032         for autoconf-2.49c.
59033         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
59034
59035 2001-01-16  Jim Meyering  <meyering@lucent.com>
59036
59037         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
59038         From Bruno Haible.
59039
59040 2001-01-14  Jim Meyering  <meyering@lucent.com>
59041
59042         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
59043         foo and bar.  Create conftestdir/ in the script, not in the C code.
59044         Remove directories in the script, not in the C code.
59045         Remove conftestdir{,2} before trying to create the directory.
59046         Make the entire configure script fail if the mkdir fails.
59047
59048 2001-01-14  Jim Meyering  <meyering@lucent.com>
59049
59050         * lib/rename.c: New file.  From Volker Borchert.
59051         Include stdlib.h, string.h or strings.h, and xalloc.h.
59052         Use strip_trailing_slashes rather than open-coding it.
59053
59054 2001-01-03  Paul Eggert  <eggert@twinsun.com>
59055
59056         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
59057
59058 2001-01-03  Jim Meyering  <meyering@lucent.com>
59059
59060         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
59061         of local `inptr' to avoid warning with some system declarations of
59062         iconv.
59063
59064 2001-01-02  Volker Borchert  <bt@teknon.de>
59065
59066         * m4/rename.m4: New file.
59067         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
59068
59069 2001-01-01  Jim Meyering  <meyering@lucent.com>
59070
59071         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
59072         even on systems with utmpx.h.  It's necessary for the declaration of
59073         utmp's ut_user member.  Reported by Andreas Jaeger.
59074
59075         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
59076         available. They are required for the declarations of getgrgid and
59077         getpwuid resp.
59078         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
59079         Reported by Andreas Jaeger.
59080
59081 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
59082
59083         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
59084         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
59085         so `make install' also works in VPATH builds.
59086
59087 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
59088
59089         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
59090         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
59091         can be used in subdirectories.
59092
59093 2000-12-29  Paul Eggert  <eggert@twinsun.com>
59094
59095         * lib/modechange.c: Do not assume that mode_t uses the
59096         traditional octal encoding.  E.g. "chmod 1 FOO" should set
59097         the other-execute bit of FOO even if S_IXOTH != 1.
59098
59099         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
59100         WOTH, XOTH, ALLM): New macros.
59101         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
59102          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
59103         Use them.
59104         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
59105         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
59106         (mode_compile):
59107         No need to use uintmax_t; unsigned long is long enough.
59108         Don't bother to get suffix since we don't use it.
59109
59110 2000-12-26  Jim Meyering  <meyering@lucent.com>
59111
59112         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
59113         better with autoheader.
59114
59115 2000-12-24  Jim Meyering  <meyering@lucent.com>
59116
59117         * lib/hash.c (is_prime): Return explicit boolean values.
59118         (hash_get_first): Return NULL to appease Irix5.6's 89.
59119         Reported by Nelson Beebe.
59120
59121 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
59122
59123         * lib/localcharset.c (locale_charset): Add support for Win32.
59124
59125 2000-12-18  Paul Eggert  <eggert@twinsun.com>
59126
59127         * lib/physmem.h, lib/physmem.c: New files.
59128
59129         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
59130         (noinst_HEADERS): Add physmem.h.
59131
59132         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
59133         't' for compatibility with Solaris 8 sort.
59134
59135 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
59136
59137         * lib/config.charset: Add support for BeOS.
59138
59139 2000-12-17  Jim Meyering  <meyering@lucent.com>
59140
59141         * m4/dos.m4 (jm_AC_DOS): New file and macro.
59142         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
59143
59144 2000-12-16  Jim Meyering  <meyering@lucent.com>
59145
59146         This bug had a serious impact on chown: `chown N:M FILE' (for integer
59147         N and M) would have treated it like `chown N:N FILE'.
59148
59149         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
59150
59151 2000-12-16  Jim Meyering  <meyering@lucent.com>
59152
59153         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
59154         SHELLS_FILE to a file name that's useful on djgpp systems.
59155         Include stdlib.h.
59156         (ADDITIONAL_DEFAULT_SHELLS): Define.
59157         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
59158         Based mostly on a patch from Prashant TR.
59159
59160 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
59161
59162         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
59163         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
59164         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
59165
59166 2000-12-08  Andreas Schwab  <schwab@suse.de>
59167
59168         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
59169         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
59170
59171 2000-12-07  Jim Meyering  <meyering@lucent.com>
59172
59173         * lib/stripslash.c (ISSLASH): Define.
59174         (strip_trailing_slashes): Use ISSLASH rather than comparing against
59175         `/'.
59176         From Prashant TR.
59177
59178         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
59179         (dir_name_r): Declare this function as static.
59180         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
59181         manifest itself on a name containing a mix of slashes and
59182         backslashes.
59183         Make this function work with names starting with a DOS-style
59184         drive letter and colon prefix.
59185         (dir_name): Append `.' if necessary.
59186         Based mostly on patches from Prashant TR and Eli Zaretskii.
59187
59188         * lib/dirname.h (dir_name_r): Remove prototype.
59189
59190 2000-12-06  Paul Eggert  <eggert@twinsun.com>
59191
59192         * m4/off_t-format.m4: Remove this file.
59193         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
59194
59195 2000-12-06  Jim Meyering  <meyering@lucent.com>
59196
59197         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
59198         replacement strtoull, we may well need the replacement strtoul, too.
59199         Check for declarations of strtoul and strtoull.
59200         Check for strtol.  Mainly as a cue to cause automake to include
59201         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
59202         Check for limits.h -- strtol.c needs it.
59203
59204 2000-12-05  Jim Meyering  <meyering@lucent.com>
59205
59206         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
59207
59208 2000-12-04  Jim Meyering  <meyering@lucent.com>
59209
59210         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
59211         Also include memory.h, stdlib.h, unistd.h if appropriate.
59212         Reported by Andreas Jaeger (conflicting declaration of malloc).
59213
59214 2000-12-02  Jim Meyering  <meyering@lucent.com>
59215
59216         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
59217         * m4/jm-macros.m4 (jm_MACROS): require it.
59218
59219 2000-12-02  Jim Meyering  <meyering@lucent.com>
59220
59221         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
59222
59223 2000-12-01  Paul Eggert  <eggert@twinsun.com>
59224
59225         * lib/memrchr.c: Include <config.h> before any system include file.
59226
59227 2000-11-30  Jim Meyering  <meyering@lucent.com>
59228
59229         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
59230
59231 2000-11-30  Jim Meyering  <meyering@lucent.com>
59232
59233         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
59234
59235 2000-11-29  Paul Eggert  <eggert@twinsun.com>
59236
59237         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
59238
59239 2000-11-26  Jim Meyering  <meyering@lucent.com>
59240
59241         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
59242
59243 2000-11-22  Paul Eggert  <eggert@twinsun.com>
59244
59245         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
59246         size of (size_t) -1; it's not portable.
59247
59248 2000-11-17  Jim Meyering  <meyering@lucent.com>
59249
59250         * lib/strstr.c: Update from GNU libc.
59251
59252 2000-11-17  Akim Demaille  <akim@epita.fr>
59253
59254         * lib/obstack.h: Formatting changes.
59255         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
59256         prevent type checking.
59257         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
59258         cast the value to (void *): assigning a `foo *' to a `void *'
59259         variable is valid.
59260         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
59261
59262 2000-11-16  Jim Meyering  <meyering@lucent.com>
59263
59264         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
59265
59266 2000-11-11  Jim Meyering  <meyering@lucent.com>
59267
59268         * lib/error.c: Add a couple #includes, merging from GNU libc version.
59269
59270 2000-11-10  Jim Meyering  <meyering@lucent.com>
59271
59272         * lib/obstack.h: Update from GNU libc.
59273         * lib/obstack.c: Likewise.
59274
59275 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
59276
59277         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
59278
59279 2000-11-06  Paul Eggert  <eggert@twinsun.com>
59280
59281         * lib/getusershell.c (setusershell): Use rewind rather than
59282         fseek/fseeko, to avoid configuration hassles with fseeko.
59283         Don't bother opening SHELLS_FILE if shellstream is NULL;
59284         it's not necessary.
59285
59286 2000-11-05  Jim Meyering  <meyering@lucent.com>
59287
59288         * lib/makepath.h (make_dir): Declare.
59289         * lib/makepath.c (make_dir): Remove `static' attribute.
59290         Tweak a comment.
59291
59292 2000-11-04  Jim Meyering  <meyering@lucent.com>
59293
59294         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
59295
59296 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
59297
59298         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
59299         last one in a bucket, advance to the next bucket.
59300
59301 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
59302
59303         * lib/fnmatch.c: Do not comment out all the code if we are using
59304         the GNU C library, because in some cases we are replacing buggy
59305         code in the GNU C library itself.
59306
59307 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
59308
59309         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
59310         (regex_compile): Catch bogus \(\1\).
59311
59312 2000-10-30  Paul Eggert  <eggert@twinsun.com>
59313
59314         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
59315         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
59316         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
59317
59318 2000-10-30  Paul Eggert  <eggert@twinsun.com>
59319
59320         * lib/error.h, getline.h, modechange.h:
59321         Remove "2000" from Copyright line, as the file hasn't been
59322         changed this year other than in the copyright notice.
59323
59324         * lib/xalloc.h: Add "2000" to Copyright line, as this file
59325         was changed this year.
59326
59327 2000-10-29  Jim Meyering  <meyering@lucent.com>
59328
59329         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
59330         renaming.
59331         * m4/ls-mntd-fs.m4: Likewise
59332
59333 2000-10-29  Jim Meyering  <meyering@lucent.com>
59334
59335         * lib/xstat.in: Fix grammar in comment.
59336
59337 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
59338
59339         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
59340         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
59341         doesn't define __restrict_arr.
59342
59343 2000-10-28  Jim Meyering  <meyering@lucent.com>
59344
59345         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
59346         (jm_PREREQ_MEMCHR): New function.
59347
59348 2000-10-28  Jim Meyering  <meyering@lucent.com>
59349
59350         * lib/memchr.c: Update from libc.
59351         Adjust for portability:
59352         [HAVE_STDLIB_H]: Include stdlib.h.
59353         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
59354         Undef __memchr, too.
59355         [!weak_alias]: Define __memchr to memchr.
59356
59357         * lib/regex.c: Update from libc.
59358         * lib/regex.h: Likewise.
59359         * lib/getopt1.c: Likewise.
59360         * lib/memcmp.c: Likewise.
59361
59362         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
59363         Avoid using fseek, when possible -- it's broken by design.
59364         Patch by Ulrich Drepper.
59365
59366 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
59367
59368         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
59369         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
59370         Giving in to popular pressure to shut up the compiler with casts.
59371
59372 2000-10-26  Jim Meyering  <meyering@lucent.com>
59373
59374         * lib/strftime.c: Update from libc.
59375
59376 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
59377
59378         * regex.c: More `unsigned char' -> `re_char' changes.
59379         Also change several `int' into `re_wchar_t'.
59380         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
59381         (PUSH_FAILURE_POINTER): Don't cast any more.
59382         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
59383         We want GCC to complain, since this piece of code makes
59384         re_match non-reentrant, which *should* be fixed.
59385         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
59386         (EXTEND_BUFFER): Use RETALLOC.
59387         (SET_LIST_BIT): Don't cast.
59388         (re_wchar_t): New type.
59389         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
59390         that those two functions will always properly return.
59391         (IMMEDIATE_QUIT_CHECK): Cast to void.
59392         (analyse_first): Use recursion rather than an explicit stack.
59393         (re_compile_fastmap): Can't fail anymore.
59394         (re_search_2): Don't check re_compile_fastmap for failure.
59395         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
59396         Now also sets the new value (passed in a new argument).
59397         (re_match_2_internal): Use it.
59398         Also, use a new var `reg' of type size_t when looping through regs
59399         rather than reuse the inappropriate `mcnt'.
59400
59401 2000-10-25  Jim Meyering  <meyering@lucent.com>
59402
59403         * lib/obstack.c: Update from libc.
59404
59405 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
59406
59407         * regex.c (regex_compile): Change the way of handling a range from
59408         a char less than 256 to a char not less than 256.
59409
59410 2000-10-24  Andrew Innes  <andrewi@gnu.org>
59411
59412         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
59413         NT-Emacs only.
59414         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
59415         so that re_search functions only quit when callers expect them to.
59416
59417 2000-10-23  Jim Meyering  <meyering@lucent.com>
59418
59419         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
59420         wrong.  That set_locale call must not have any side effects.
59421         From Paul Eggert.
59422
59423 2000-10-22  Jim Meyering  <meyering@lucent.com>
59424
59425         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
59426         [CYCLIC]: Remove now-unused definition.
59427
59428         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
59429         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
59430         Suggestion from Ulrich Drepper.
59431
59432 2000-10-21  Jim Meyering  <meyering@lucent.com>
59433
59434         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
59435         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
59436         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
59437
59438 2000-10-21  Jim Meyering  <meyering@lucent.com>
59439
59440         * lib/dirname.c (memrchr): Declare if necessary.
59441         (dir_name): Remove the restriction that there be no
59442         trailing slashes.  Now, this code skips past them, effectively
59443         ignoring them.
59444         [TEST_DIRNAME] (main): New unit tests.
59445
59446         * lib/memrchr.c: New file from GNU libc.
59447         Undef __memrchr, too.
59448         [!weak_alias]: Define __memrchr to memrchr.
59449         Guard weak_alias use with `#ifdef weak_alias'.
59450
59451 2000-10-21  Jim Meyering  <meyering@lucent.com>
59452
59453         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
59454         (dir_name): Use dir_name_r.
59455         * lib/dirname.h (dir_name_r): Declare it.
59456
59457 2000-10-17  Jim Meyering  <meyering@lucent.com>
59458
59459         * lib/quote.h (PARAMS): Define and use.
59460         Reported by Akim Demaille.
59461
59462         * lib/getopt.c: Update from libc.
59463
59464 2000-10-16  Jim Meyering  <meyering@lucent.com>
59465
59466         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
59467         setlocale.
59468         From Jan Fedak.
59469
59470 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
59471
59472         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
59473
59474 2000-09-25  Jim Meyering  <meyering@lucent.com>
59475
59476         * lib/md5.h (rol): Define (from GnuPG).
59477
59478         * lib/sha.c: Give credit (GnuPG) where due.
59479         (M): Use rol rather than open-coding it.
59480         Add a FIXME comment.
59481
59482 2000-09-21  Jim Meyering  <meyering@lucent.com>
59483
59484         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
59485         Reported by Michael Stone.
59486
59487 2000-09-20  Jim Meyering  <meyering@lucent.com>
59488
59489         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
59490         (noinst_HEADERS): Add sha.h.
59491         Based on code from Scott G. Miller and from GnuPG.
59492
59493 2000-09-18  Jim Meyering  <meyering@lucent.com>
59494
59495         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
59496         LIBS. Otherwise, everyone ends up linking with -lelf for some
59497         configurations.
59498         Reported by Mike Stone.
59499
59500 2000-09-15  Jim Meyering  <meyering@lucent.com>
59501
59502         * lib/regex.c: Update from libc.
59503
59504 2000-09-10  Jim Meyering  <meyering@lucent.com>
59505
59506         * lib/getopt.c (_getopt_internal): Update from glibc.
59507
59508 2000-09-09  Jim Meyering  <meyering@lucent.com>
59509
59510         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
59511         think it should be used as a general replacement for isascii.
59512         * lib/fnmatch.c: Likewise.
59513         * lib/mbswidth.c: Likewise
59514         * lib/regex.c: Likewise.
59515
59516         Don't use atoi.
59517         * lib/userspec.c: Include sys/param.h and limits.h.
59518         Include xstrtol.h.
59519         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
59520         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
59521         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
59522         UID, GID.  Check range.
59523
59524 2000-09-06  Jim Meyering  <meyering@lucent.com>
59525
59526         * lib/getopt.c (_getopt_internal): Update from glibc.
59527
59528 2000-08-30  Jim Meyering  <meyering@lucent.com>
59529
59530         * lib/strftime.c: Merge in changes from GNU libc.
59531
59532 2000-08-26  Jim Meyering  <meyering@lucent.com>
59533
59534         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
59535         * m4/fpending.m4: New file.
59536
59537 2000-08-26  Jim Meyering  <meyering@lucent.com>
59538
59539         * lib/closeout.c: Include "__fpending.h".
59540         (close_stdout_status): Return right away if there's nothing to flush.
59541
59542         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
59543         * lib/__fpending.c: New file.
59544         * lib/__fpending.h: New file.
59545
59546 2000-08-20  Jim Meyering  <meyering@lucent.com>
59547
59548         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
59549         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
59550         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
59551
59552 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
59553
59554         Improve fileutils installation on systems where running
59555         programs (like install) can't be unlinked.
59556         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
59557         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
59558
59559 2000-08-07  Paul Eggert  <eggert@twinsun.com>
59560
59561         Standardize on "memory exhausted" instead of "Memory exhausted"
59562         or "virtual memory exhausted".
59563         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
59564         "virtual memory exhausted".
59565         * lib/same.c (same_name): Invoke xalloc_die instead of printing
59566         our own message.
59567         * lib/userspec.c (parse_user_spec): Likewise.
59568         * lib/bumpalloc.h: comment fix
59569         * lib/same.c, userspec.c: Include xalloc.h.
59570
59571         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
59572         not char *const and pointing to a constant array.
59573         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
59574         (xrealloc): Comment fix.
59575
59576         * lib/userspec.c (parse_user_spec):
59577         Don't translate a message until just before returning,
59578         to avoid unnecessary translation.
59579
59580 2000-08-07  Jim Meyering  <meyering@lucent.com>
59581
59582         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
59583         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
59584         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
59585         getgroups.c, gethostname.c, getopt.h, group-member.c,
59586         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
59587         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
59588         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
59589         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
59590         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
59591         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
59592         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
59593         yesno.c: Back out Copyright date changes for each file with no change
59594         this year.  This eases coordination with other programs using the same
59595         source code modules.  From Paul Eggert.
59596
59597 2000-08-06  Paul Eggert  <eggert@twinsun.com>
59598
59599         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
59600         not char, for compatibility with glibc 2.1.3 strftime.c.
59601
59602 2000-08-03  Greg McGary  <greg@mcgary.org>
59603
59604         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
59605         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
59606         (EXTEND_BUFFER): Use them.
59607
59608 2000-08-01  Jim Meyering  <meyering@lucent.com>
59609
59610         * lib/dirname.c (ISSLASH): Define.
59611         (BACKSLASH_IS_PATH_SEPARATOR): Define.
59612         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
59613         both `\' and `/' may be use as path separators.
59614         Based on a patch from Prashant TR.
59615
59616 2000-07-31  Paul Eggert  <eggert@twinsun.com>
59617
59618         * lib/quotearg.c (quotearg_n_options): Don't make the initial
59619         slot vector a constant, since it might get modified.
59620
59621 2000-07-31  Jim Meyering  <meyering@lucent.com>
59622
59623         * lib/xmalloc.c: Use `virtual memory exhausted', not
59624         `Memory exhausted'.
59625         * lib/obstack.c (print_and_abort): Likewise.
59626
59627 2000-07-30  Paul Eggert  <eggert@twinsun.com>
59628
59629         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
59630         buffer, so that the caller can always quote one small
59631         component of a "memory exhausted" message in slot 0.
59632         From a suggestion by Jim Meyering.
59633
59634 2000-07-30  Jim Meyering  <meyering@lucent.com>
59635
59636         * lib/makepath.c (make_path): Quote the other instance, too.
59637
59638         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
59639         (STATIC_BUF_SIZE): Define.
59640         (quotearg_n_options): Use only statically allocated storage when
59641         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
59642         than STATIC_BUF_SIZE.
59643
59644 2000-07-29  Jim Meyering  <meyering@lucent.com>
59645
59646         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
59647         * lib/dirname.c (dir_name): Likewise.
59648
59649         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
59650         `/'.
59651
59652         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
59653         (dir_name): Assert that there are no trailing slashes.
59654
59655 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
59656
59657         * lib/mbswidth.h (mbswidth): Add a flags argument.
59658         (mbswidth): New declaration.
59659         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
59660         * lib/mbswidth.c (mbswidth): Add a flags argument.
59661         (mbsnwidth): New function.
59662
59663 2000-07-24  Jim Meyering  <meyering@lucent.com>
59664
59665         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
59666
59667 2000-07-23  Paul Eggert  <eggert@twinsun.com>
59668
59669         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
59670
59671 2000-07-23  Paul Eggert  <eggert@twinsun.com>
59672
59673         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
59674         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
59675         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
59676         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
59677         invoke multibyte primitives.
59678
59679 2000-07-23  Paul Eggert  <eggert@twinsun.com>
59680
59681         * lib/quotearg.c:
59682         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
59683         so that mbstate_t is always defined.
59684
59685         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
59686         be 1 in at least one GCC installation, and this configuration
59687         error is likely to be common.  Ignoring MB_LEN_MAX hurts
59688         performance on hosts that have mbrtowc but have only unibyte
59689         locales, but I assume these hosts are rare.
59690
59691 2000-07-23  Paul Eggert  <eggert@twinsun.com>
59692
59693         * lib/mbswidth.c (_XOPEN_SOURCE):
59694         Don't define; this causes problems on Solaris 7.
59695         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
59696
59697 2000-07-23  Jim Meyering  <meyering@lucent.com>
59698
59699         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
59700         too: getgrgid, getpwuid, getuid.
59701
59702 2000-07-23  Jim Meyering  <meyering@lucent.com>
59703
59704         * lib/basename.c (base_name): Add an assertion.
59705
59706 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
59707
59708         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
59709         shadow its mbsinit function.
59710
59711 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
59712
59713         * lib/mbswidth.h: New file.
59714         * lib/mbswidth.c: New file.
59715         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
59716         (noinst_HEADERS): Add mbswidth.h.
59717
59718 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
59719
59720         * lib/config.charset: Add support for FreeBSD. Improve support for
59721         HP-UX and IRIX 6.
59722
59723 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
59724
59725         * m4/mbswidth.m4: New file.
59726         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
59727
59728 2000-07-15  Jim Meyering  <meyering@lucent.com>
59729
59730         * lib/makepath.c: Include quote.h.
59731         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
59732         corresponding argument in a `quote (...)' call.
59733         Give better diagnostics.
59734
59735         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
59736         (noinst_HEADERS): Add quote.h.
59737
59738         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
59739         from tar's src/misc.c.
59740         * lib/quote.h: New file.  Prototypes for same.
59741
59742 2000-07-14  Paul Eggert  <eggert@twinsun.com>
59743
59744         From a suggestion by Bruno Haible.
59745         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
59746         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
59747         to decide whether to define the BeOS workaround macro;
59748         this adjusts to the change to AC_MBSTATE_T.
59749
59750 2000-07-14  Jim Meyering  <meyering@lucent.com>
59751
59752         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
59753         jm_AC_TYPE_UINTMAX_T.
59754
59755 2000-07-13  Paul Eggert  <eggert@twinsun.com>
59756
59757         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
59758
59759         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
59760         quotearg_buffer_restyled): Add support for
59761         clocale_quoting_style.  Undo previous change to
59762         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
59763         and "{RIGHT QUOTATION MARK}" msgids.
59764
59765 2000-07-10  Paul Eggert  <eggert@twinsun.com>
59766
59767         From a suggestion by Bruno Haible.
59768         * m4/mbstate_t.m4 (AC_MBSTATE_T):
59769         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
59770         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
59771         and mbstate_t, to a single-part test that simply defines mbstate_t.
59772         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
59773         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
59774
59775 2000-07-10  Jim Meyering  <meyering@lucent.com>
59776
59777         * m4/strerror_r.m4: Mirror the correction made in autoconf.
59778
59779         * m4/gnu-source.m4: Output to confdefs.h directly.
59780         Suggestion from Akim Demaille.
59781
59782 2000-07-09  Paul Eggert  <eggert@twinsun.com>
59783
59784         The old behavior of quoting `like this' doesn't look good with
59785         newer, ISO-style fonts.  See:
59786         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
59787
59788         Instead, quote "like this" by default.  Let the translator
59789         tailor the locale-specific quoting behavior by providing
59790         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
59791
59792         * lib/quotearg.c (N_): New macro.
59793         (gettext_default): New function.
59794         (quotearg_buffer_restyled): Use
59795         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
59796         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
59797
59798 2000-07-09  Jim Meyering  <meyering@lucent.com>
59799
59800         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
59801         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
59802
59803         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
59804         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
59805
59806 2000-07-09  Jim Meyering  <meyering@lucent.com>
59807
59808         * lib/Most files: Update copyright dates to include 2000.
59809
59810 2000-07-08  Jim Meyering  <meyering@lucent.com>
59811
59812         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
59813         if not defined.
59814         (xgethostname): Remove now-unnecessary #ifdef.
59815         Move declaration of `err' into loop where it's used.
59816
59817 2000-07-05  Paul Eggert  <eggert@twinsun.com>
59818         and Bruno Haible  <haible@clisp.cons.org>
59819
59820         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
59821         only if the test for an object-type mbstate_t fails.  This
59822         prevents us from mistakenly reporting that mbstate_t is a
59823         system object type after we "#define mbstate_t int" to work
59824         around its lack.
59825
59826 2000-07-05  Paul Eggert  <eggert@twinsun.com>
59827         and Bruno Haible  <haible@clisp.cons.org>
59828
59829         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
59830
59831 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
59832
59833         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
59834         to strerror_r.
59835         Include <ctype.h> for use of isalpha.
59836
59837 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
59838
59839         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
59840         by allocating a larger buffer. Test the gethostname return value for
59841         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
59842         returns an error and ENAMETOOLONG isn't defined.
59843
59844 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
59845
59846         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
59847         dimension.
59848
59849 2000-07-04  Jim Meyering  <meyering@lucent.com>
59850
59851         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
59852         of the deprecated AC_CHECKING.
59853
59854 2000-07-04  Jim Meyering  <meyering@lucent.com>
59855
59856         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
59857         Reported by Bruno Haible.
59858
59859 2000-07-04  Jim Meyering  <meyering@lucent.com>
59860
59861         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
59862         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
59863         lacks mbrtowc.
59864
59865 2000-07-03  Paul Eggert  <eggert@twinsun.com>
59866
59867         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
59868         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
59869
59870 2000-07-03  Paul Eggert  <eggert@twinsun.com>
59871         and Bruno Haible  <haible@clisp.cons.org>
59872
59873         * lib/quotearg.c (mbrtowc):
59874         Assign to *pwc, and return 1 only if result is nonzero.
59875         (iswprint): Use ISPRINT when substituting our own mbrtowc.
59876
59877 2000-07-03  Jim Meyering  <meyering@lucent.com>
59878
59879         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
59880
59881 2000-07-03  Jim Meyering  <meyering@lucent.com>
59882
59883         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
59884         This is necessary to get a definition of e.g., UTMP_FILE on
59885         HP-UX 10.20.
59886         From Bob Proulx.
59887
59888 2000-07-02  Jim Meyering  <meyering@lucent.com>
59889
59890         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
59891
59892         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
59893         AC_LIBOBJ(function_name).
59894         * m4/chown.m4: Likewise.
59895         * m4/fnmatch.m4: Likewise.
59896         * m4/ftruncate.m4: Likewise.
59897         * m4/getgroups.m4: Likewise.
59898         * m4/getline.m4: Likewise.
59899         * m4/group-member.m4: Likewise.
59900         * m4/jm-macros.m4: Likewise.
59901         * m4/lstat.m4: Likewise.
59902         * m4/malloc.m4: Likewise.
59903         * m4/memcmp.m4: Likewise.
59904         * m4/nanosleep.m4: Likewise.
59905         * m4/putenv.m4: Likewise.
59906         * m4/realloc.m4: Likewise.
59907         * m4/regex.m4: Likewise.
59908         * m4/stat.m4: Likewise.
59909         * m4/strftime.m4: Likewise.
59910
59911 2000-07-02  Jim Meyering  <meyering@lucent.com>
59912
59913         * lib/quotearg.c (mbstate_t): Don't define here.
59914
59915 2000-07-02  Jim Meyering  <meyering@lucent.com>
59916
59917         * lib/nanosleep.c (SIGCONT): Define if not already defined.
59918
59919 2000-07-01  Jim Meyering  <meyering@lucent.com>
59920
59921         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
59922
59923 2000-07-01  Jim Meyering  <meyering@lucent.com>
59924
59925         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
59926         problem.
59927
59928 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
59929
59930         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
59931         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
59932
59933 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
59934
59935         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
59936         per change in ../m4/ls-mntd-fs.m4.
59937         (read_filesystem_list): Ignore symbolic links.
59938
59939 2000-06-29  Jim Meyering  <meyering@lucent.com>
59940
59941         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
59942         for declaration of strcmp.
59943
59944         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
59945
59946         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
59947         Avoid warning by casting result to `char *' to remove `const'.
59948
59949 2000-06-28  Jim Meyering  <meyering@lucent.com>
59950
59951         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
59952         included by quotearg.c, for which we perform this test.  From
59953         Bruno Haible.
59954
59955 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
59956
59957         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
59958         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
59959         <utmpx.h> exists, put readutmp.o into LIBOBJS.
59960
59961 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
59962
59963         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
59964
59965 2000-06-26  Paul Eggert  <eggert@twinsun.com>
59966
59967         savedir now sets errno on failure and invokes xmalloc to get memory.
59968         Fix a couple of other minor bugs while we're at it.
59969
59970         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
59971         (NAMLEN): Remove macro.
59972         (malloc, realloc): Remove decls.
59973         (stpcpy): Likewise.
59974         ("xalloc.h"): Include.
59975         (NAME_SIZE_DEFAULT): New macro.
59976         (savedir): Use xmalloc / xrealloc to allocate memory.
59977         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
59978         Skip "" directory entries.
59979         Use strlen to calculate directory entry length, since the old method
59980         is rarely used these days and isn't worth supporting.
59981         Don't use a pointer after freeing it.
59982         Check for integer overflow when calculating allocation size.
59983         Use memcpy to copy entries, instead of stpcpy.
59984         Set errno properly when returning NULL.
59985         Check for readdir error.
59986
59987 2000-06-26  Jim Meyering  <meyering@lucent.com>
59988
59989         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
59990
59991 2000-06-25  Jim Meyering  <meyering@lucent.com>
59992
59993         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
59994         Linux header bug when _XOPEN_SOURCE is defined to 500.
59995
59996 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
59997
59998         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
59999         deficiency.
60000
60001 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
60002
60003         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
60004         Include xalloc.h.
60005         Don't include <stdlib.h>.  Don't declare malloc, realloc.
60006
60007 2000-06-24  Jim Meyering  <meyering@lucent.com>
60008
60009         * m4/strerror_r.m4: Revive this file -- to try out an experimental
60010         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
60011         for which strerror does return char*, but which lacks a conveniently
60012         accessible declaration of the function.  If the compile-test says
60013         strerror_r doesn't work, then resort to a `run'-test that works on
60014         BeOS and segfaults on DEC Unix.
60015
60016 2000-06-24  Jim Meyering  <meyering@lucent.com>
60017
60018         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
60019
60020 2000-06-23  Paul Eggert  <eggert@twinsun.com>
60021
60022         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
60023         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
60024
60025 2000-06-23  Paul Eggert  <eggert@twinsun.com>
60026
60027         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
60028         (mbrtowc, mbstate_t): Define substitutes if
60029         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
60030         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
60031         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
60032
60033 2000-06-23  Jim Meyering  <meyering@lucent.com>
60034
60035         * m4/afs.m4: Add missing AC_MSG_RESULT.
60036         Reported by Bruno Haible.
60037
60038         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
60039         Suggestion from Bruno Haible.
60040
60041 2000-06-23  Jim Meyering  <meyering@lucent.com>
60042
60043         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
60044
60045 2000-06-21  Jim Meyering  <meyering@lucent.com>
60046
60047         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
60048
60049 2000-06-21  Jim Meyering  <meyering@lucent.com>
60050
60051         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
60052         (noinst_HEADERS): Add getstr.h.
60053
60054         * lib/getline.c (getstr): Move into a separate file.
60055         * lib/getstr.c (getstr): New file, extracted from getline.c, with
60056         the following changes: new parameter, delim2; both delim[12]
60057         parameters have type `int', not `char'.  The latter would lose
60058         with 8-bit delimiters.
60059         * lib/getstr.h: New file.
60060
60061 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
60062
60063         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
60064         than 1024, return a memory chunk of least possible size, instead
60065         of size PATH_MAX + 2. In the loop, increment the size proportionally.
60066         Use free/xmalloc instead of xrealloc to avoid copying for very long
60067         paths.
60068
60069 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
60070
60071         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
60072         the empty string.
60073
60074 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
60075
60076         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
60077         address, not strdup.  Include <stdlib.h> and don't declare free().
60078
60079 2000-06-19  Jim Meyering  <meyering@lucent.com>
60080
60081         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
60082
60083 2000-06-18  Jim Meyering  <meyering@lucent.com>
60084
60085         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
60086
60087         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
60088         `checking whether...' message to be consistent with that of the
60089         lstat test.
60090
60091 2000-06-18  Jim Meyering  <meyering@lucent.com>
60092
60093         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
60094         Besides, these days every porting target provides a mkdir function.
60095
60096         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
60097         needed. (this snippet comes from src/system.h).
60098
60099 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
60100
60101         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
60102
60103 2000-06-15  Paul Eggert  <eggert@twinsun.com>
60104
60105         * lib/human.c (adjust_value): New function.
60106         (human_readable_inexact): Apply rounding style even when
60107         printing approximate values.
60108
60109 2000-06-14  Paul Eggert  <eggert@twinsun.com>
60110
60111         * lib/human.c (human_readable_inexact): Allow an input block
60112         size that is not a multiple of the output block size, and vice versa.
60113         Reported by Piergiorgio Sartor.
60114
60115 2000-06-14  Paul Eggert  <eggert@twinsun.com>
60116
60117         * lib/getdate.y (get_date): Apply relative times after time
60118         zone indicator, not before.  Reported by Todd A. Jacobs.
60119
60120 2000-06-13  Jim Meyering  <meyering@lucent.com>
60121
60122         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
60123
60124         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
60125
60126 2000-06-12  Paul Eggert  <eggert@twinsun.com>
60127
60128         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
60129
60130 2000-06-12  Jim Meyering  <meyering@lucent.com>
60131
60132         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
60133         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
60134         optional argument.
60135         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
60136         the optional argument, `lib'.
60137
60138 2000-06-08  Jim Meyering  <meyering@lucent.com>
60139
60140         * m4/largefile.m4: Remove file (now that it's part of autoconf).
60141
60142 2000-06-04  Paul Eggert  <eggert@twinsun.com>
60143
60144         Rewrite largefile configuration so that we don't need to run
60145         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
60146         AC_CANONICAL_HOST in configure.in -- jmm]
60147
60148         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
60149         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
60150         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
60151         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
60152         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
60153         All uses changed.
60154         Instead of inspecting the output of getconf, try to compile the
60155         test program without and with the macro definition.
60156         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
60157         for getconf.  Instead, check for the needed flags by compiling
60158         test programs.
60159
60160 2000-06-04  Paul Eggert  <eggert@twinsun.com>
60161
60162         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
60163
60164 2000-06-04  Jim Meyering  <meyering@lucent.com>
60165
60166         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
60167         SunOS 4.1.4 for which gid_t is an unsigned type.
60168
60169 2000-06-03  Jim Meyering  <meyering@lucent.com>
60170
60171         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
60172         now that autoconf requires that.
60173
60174         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
60175         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
60176         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
60177
60178 2000-06-03  Jim Meyering  <meyering@lucent.com>
60179
60180         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
60181
60182 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
60183
60184         * m4/glibc21.m4: New file.
60185         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
60186
60187 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
60188
60189         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
60190         newer, don't install charset.alias.
60191         * lib/config.charset: Change the Linux/glibc rules so they become empty
60192         on glibc-2.1 or newer.
60193
60194 2000-06-02  Jim Meyering  <meyering@lucent.com>
60195
60196         * lib/mountlist.c: Back out last change.  Instead, do this...
60197         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
60198         me_dummy member using the same `ignore'-testing code.
60199         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
60200         fs_type strings.
60201         From Mark D. Roth.
60202
60203 2000-05-29  Jim Meyering  <meyering@lucent.com>
60204
60205         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
60206         mounts with the `ignore' attribute.  Based on a patch from
60207         Mark D. Roth.
60208
60209 2000-05-28  Jim Meyering  <meyering@lucent.com>
60210
60211         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
60212         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
60213         * m4/stat.m4: Likewise.
60214         * m4/lstat.m4: Likewise.
60215         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
60216
60217         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
60218         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
60219
60220 2000-05-26  Jim Meyering  <meyering@lucent.com>
60221
60222         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
60223
60224 2000-05-24  Jim Meyering  <meyering@lucent.com>
60225
60226         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
60227         autoconf requires that.
60228         * m4/lib-check.m4: Likewise.
60229         * m4/jm-macros.m4: Likewise.
60230         * m4/strftime.m4: Likewise.
60231
60232         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
60233         AC_CHECK_DECLS, now that autoconf requires that.
60234
60235 2000-05-22  Jim Meyering  <meyering@lucent.com>
60236
60237         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
60238         * m4/lstat.m4: Likewise.
60239
60240 2000-05-22  Jim Meyering  <meyering@lucent.com>
60241
60242         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
60243
60244 2000-05-20  Jim Meyering  <meyering@lucent.com>
60245
60246         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
60247         (jm_PREREQ): Use it.
60248
60249 2000-05-18  Jim Meyering  <meyering@lucent.com>
60250
60251         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
60252         back, too, since it may have been modified by allocate_entry.
60253         (hash_delete): Rewrite to use neither the assignment operator
60254         nor the comma operator in an if-expression.
60255
60256 2000-05-15  Paul Eggert  <eggert@twinsun.com>
60257
60258         * lib/closeout.c:
60259         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
60260         Remove; no longer needed.
60261         "quotearg.h": Add include.
60262         (file_name): Do not bother to explicitly initialize to NULL; it's less
60263         efficient on some hosts.
60264         (close_stdout_status): Remove test as to whether stdout was already
60265         closed; it breaks for the case "echo x | sort >&-".
60266         Quote file name colons.
60267         Do not assume that _("write error") lacks format strings.
60268
60269 2000-05-15  Jim Meyering  <meyering@lucent.com>
60270
60271         * lib/version-etc.c (version_etc_copyright): Update the copyright
60272         string used in all --version output.
60273
60274 2000-05-14  Jim Meyering  <meyering@lucent.com>
60275
60276         * lib/closeout.c (close_stdout_set_file_name): New function.
60277         (close_stdout_status): Use new file-scoped global.
60278         Return right away if fstat says the stdout file descriptor is invalid.
60279         * lib/closeout.h (close_stdout_set_file_name): Declare.
60280
60281 2000-05-10  Jim Meyering  <meyering@lucent.com>
60282
60283         * lib/closeout.c [default_exit_status]: New file-scoped variable.
60284         (close_stdout_set_status): New function.
60285         * lib/closeout.h (close_stdout_set_status): Declare.
60286
60287 2000-05-09  Jim Meyering  <meyering@lucent.com>
60288
60289         * m4/gettext.m4: Rename this...
60290         * m4/libintl.m4: ...to this.
60291
60292 2000-05-08  Jim Meyering  <meyering@lucent.com>
60293
60294         * lib/long-options.c: Don't include closeout.h.
60295         (parse_long_options): Don't call close_stdout for --version.
60296
60297 2000-05-06  Paul Eggert  <eggert@twinsun.com>
60298
60299         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
60300         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
60301         2.1.3 bug.  This avoids a clash when files like regex.c define
60302         _GNU_SOURCE.
60303
60304 2000-05-06  Jim Meyering  <meyering@lucent.com>
60305
60306         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
60307         (AC_REPLACE_FUNCS): Add strnlen.
60308
60309         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
60310         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
60311
60312         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
60313         AC_SEARCH_LIBS call for nanosleep.
60314         (LIB_NANOSLEEP): Set and AC_SUBST.
60315
60316 2000-05-06  Jim Meyering  <meyering@lucent.com>
60317
60318         * lib/strnlen.c: Undefine __strnlen and strnlen.
60319         [!weak_alias]: Define __strnlen to strnlen.
60320
60321         * lib/atexit.c: New file, from libiberty.
60322
60323 2000-05-06  Jim Meyering  <meyering@lucent.com>
60324
60325         * lib/closeout.c (close_stdout_status): Also check for errors on the
60326         stderr stream.
60327
60328 2000-05-05  Jim Meyering  <meyering@lucent.com>
60329
60330         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
60331         AC_SEARCH_LIBS call for clock_gettime.
60332         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
60333
60334         * m4/search-libs.m4: Update from autoconf.
60335
60336         su doesn't work on Solaris 2.6.
60337         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
60338         <shadow.h>.  Reported by Dragos Harabor.
60339
60340 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
60341
60342         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
60343         memcpy instead of xmalloc, xrealloc, path_concat.
60344         (locale_charset): Treat empty environment variables as absent.
60345         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
60346
60347 2000-05-04  Jim Meyering  <meyering@lucent.com>
60348
60349         * lib/getopt.c: Update from glibc.
60350         * lib/obstack.c: Likewise.
60351         * lib/obstack.h: Likewise.
60352         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
60353         file
60354
60355         * lib/regex.h: Likewise.
60356         * lib/strndup.c: Likewise.
60357         * lib/strnlen.c: New file, from glibc.
60358
60359 2000-05-03  Jim Meyering  <meyering@lucent.com>
60360
60361         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
60362
60363 2000-05-02  Paul Eggert  <eggert@twinsun.com>
60364
60365         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
60366         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
60367         compile-time test, rather than inspecting host and OS, to
60368         decide whether to define _LARGEFILE_SOURCE.
60369
60370 2000-05-01  Jim Meyering  <meyering@lucent.com>
60371
60372         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
60373
60374         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
60375         Based on a patch from Bruno Haible.
60376
60377 2000-05-01  Jim Meyering  <meyering@lucent.com>
60378
60379         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
60380
60381 2000-04-29  Jim Meyering  <meyering@lucent.com>
60382
60383         * lib/path-concat.c: Declare strdup only if it's not defined.
60384         * lib/canon-host.c: Likewise.
60385
60386 2000-04-28  Jim Meyering  <meyering@lucent.com>
60387
60388         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
60389         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
60390         is included first, then limits.h is included by locale.h by libintl.h.
60391         From John David Anglin.
60392
60393 2000-04-25  Jim Meyering  <meyering@lucent.com>
60394
60395         * lib/makepath.c (S_IRWXUGO): Define.
60396         (make_path): Always perform explicit chmod if MODE specifies any
60397         of the `special' permission bits.  Prompted by a bug report against
60398         install from Mate Wierdl and Joost van Baal.
60399
60400 2000-04-18  Jim Meyering  <meyering@lucent.com>
60401
60402         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
60403         (jm_PREREQ): Use it.
60404
60405 2000-04-18  Jim Meyering  <meyering@lucent.com>
60406
60407         * lib/README: New file.
60408
60409         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
60410         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
60411
60412 2000-04-17  Jim Meyering  <meyering@lucent.com>
60413
60414         Get it right :-)
60415         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
60416         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
60417         Suggestion from Akim Demaille.
60418
60419 2000-04-17  Jim Meyering  <meyering@lucent.com>
60420
60421         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
60422         the definition of it to rpl_strftime also defined-away the system's
60423         declaration.
60424
60425 2000-04-15  Jim Meyering  <meyering@lucent.com>
60426
60427         Use `C' to denote so-called `contiguous' files, the same way
60428         that tar does.
60429         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
60430         (ftypelet): Use S_ISCTG.
60431         From Michael Deutschmann.
60432
60433 2000-04-14  Jim Meyering  <meyering@lucent.com>
60434
60435         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
60436         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
60437         clobbered.
60438
60439 2000-04-14  Jim Meyering  <meyering@lucent.com>
60440
60441         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
60442
60443 2000-04-13  Jim Meyering  <meyering@lucent.com>
60444
60445         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
60446         AH_VERBATIM to insert required #ifndef into config.h.in.
60447         Suggestion from Akim Demaille.
60448
60449 2000-04-12  Jim Meyering  <meyering@lucent.com>
60450
60451         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
60452         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
60453         Christian Krackowizer.
60454
60455         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
60456         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
60457         (AC_SYS_LARGEFILE): Require.
60458         (AM_C_PROTOTYPES): Require.
60459
60460 2000-04-08  Jim Meyering  <meyering@lucent.com>
60461
60462         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
60463         names don't conflict.  Reported by Eli Zaretskii.
60464
60465 2000-04-07  Jim Meyering  <meyering@lucent.com>
60466
60467         * lib/putenv.c: Move inclusion of errno.h so it follows that of
60468         sys/types.h, to work around system header problems on AIX 3.2.5.
60469         From Bruno Haible.
60470
60471 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
60472
60473         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
60474         bug.  Deal with the different error behavior of Irix iconv.
60475
60476 2000-04-05  Paul Eggert  <eggert@twinsun.com>
60477
60478         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
60479         IRIX if the installer said otherwise.
60480
60481 2000-04-05  Jim Meyering  <meyering@lucent.com>
60482
60483         Portability tweaks required for ultrix4.3.
60484         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
60485         (jm_CHECK_DECLS): Add getutent to the list of functions.
60486         (_jm_DECL_HEADERS): Add utmpx.h.
60487         From John David Anglin.
60488
60489         * m4/strftime.m4: Back out the 2000-04-02 change.
60490         Instead of that change, simply undefine putenv in the test program.
60491
60492 2000-04-05  Jim Meyering  <meyering@lucent.com>
60493
60494         Portability tweaks required for ultrix4.3.
60495         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
60496         getutent.
60497         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
60498         * lib/canon-host.c: Declare strdup.
60499         * lib/path-concat.c: Likewise.
60500         From John David Anglin.
60501
60502 2000-04-04  Jim Meyering  <meyering@lucent.com>
60503
60504         Be more DOS 8.3-friendly.
60505         * lib/ref-add.sin: Renamed from ref-add.sed.in.
60506         * lib/ref-del.sin: Renamed from ref-del.sed.in.
60507         * lib/Makefile.am: Reflect renaming.
60508         Reported by Eli Zaretskii.
60509
60510         Use a temporary file name that won't clash with `charset.alias'
60511         in the DOS 8.3 name space.
60512         * lib/Makefile.am (charset_tmp): Define.
60513         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
60514         (uninstall-local): Likewise.
60515         Reported by Eli Zaretskii.
60516
60517 2000-04-03  Jim Meyering  <meyering@lucent.com>
60518
60519         * m4/gettext.m4: Fix typo in comment.
60520
60521         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
60522         textutils/configure.in).  Suggestion from Paul Eggert.
60523         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
60524
60525 2000-04-02  Paul Eggert  <eggert@twinsun.com>
60526
60527         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
60528         variable in the shell rather than using putenv, which isn't
60529         portable.  This avoids the configure-time inter-test dependency
60530         on the potentially-renamed putenv function.
60531
60532 2000-03-30  Paul Eggert  <eggert@twinsun.com>
60533
60534         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
60535         before checking struct stat.st_blksize, so that
60536         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
60537
60538 2000-03-29  Paul Eggert  <eggert@twinsun.com>
60539
60540         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
60541         since strftime.c uses HAVE_STRFTIME to decide whether to use
60542         the underlying strftime.
60543
60544 2000-03-29  Paul Eggert  <eggert@twinsun.com>
60545
60546         * lib/time/strftime.c (my_strftime): Make sure we call the system
60547         strftime, not ourselves, when invoking the underlying strftime.
60548
60549 2000-03-24  Jim Meyering  <meyering@lucent.com>
60550
60551         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
60552         (charset_alias): Define.
60553         (install-exec-local): Factor out common code.
60554         (uninstall-local): Split lines longer than 80.
60555         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
60556         (SUFFIXES): Define.
60557         (.sed.in.sed): New rule.  Don't redirect directly to $@.
60558         (CLEANFILES): Add ref-add.sed and ref-del.sed.
60559
60560 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
60561
60562         * lib/config.charset: Output a line containing "Packages using this
60563         file".
60564         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
60565         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
60566         ref-del.sed): New rules.
60567
60568 2000-03-17  Jim Meyering  <meyering@lucent.com>
60569
60570         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
60571         Otherwise, include <strings.h>
60572
60573 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
60574
60575         * lib/unicodeio.c (utf8_wctomb): New function.
60576         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
60577         format instead of in UCS-4 with platform dependent endianness.
60578
60579 2000-03-10  Jim Meyering  <meyering@lucent.com>
60580
60581         * m4/lib-check.m4: Look for getspnam in -lgen, too.
60582         From Marco Franzen.
60583
60584 2000-03-07  Paul Eggert  <eggert@twinsun.com>
60585
60586         * lib/savedir.c (savedir): Work even if directory size is
60587         negative; this can happen with some screwy NFS configurations.
60588
60589 2000-03-06  Jim Meyering  <meyering@lucent.com>
60590
60591         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
60592         if it's NULL (because we ran out of memory).  From Bruno Haible.
60593
60594 2000-03-05  Jim Meyering  <meyering@lucent.com>
60595
60596         * lib/localcharset.c ("path-concat.h"): Include.
60597         (get_charset_aliases): Use path_concat instead of ANSI string
60598         concatenation.
60599
60600         * lib/unicodeio.h (PARAMS): Define.
60601         Use it to guard prototype.
60602
60603 2000-03-04  Jim Meyering  <meyering@lucent.com>
60604
60605         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
60606         for lib/localcharset.c.
60607
60608 2000-03-04  Jim Meyering  <meyering@lucent.com>
60609
60610         * lib/Makefile.am (install-exec-local): Create $(libdir) before
60611         installing into it.
60612         (uninstall-local): Uncomment this rule so `make distcheck' works
60613         once again.
60614
60615         * lib/unicodeio.c (<errno.h>): Include it.
60616         (errno): Declare if not defined.
60617
60618         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
60619
60620         * lib/config.charset: New version, incorporating remarks from a linux
60621         i18n mailing list.  From Bruno Haible.
60622
60623 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
60624
60625         * m4/codeset.m4: New file.
60626         * m4/iconv.m4: New file.
60627         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
60628
60629 2000-03-03  Jim Meyering  <meyering@lucent.com>
60630
60631         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
60632
60633 2000-03-02  Jim Meyering  <meyering@lucent.com>
60634
60635         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
60636         the messages come out on separate lines.
60637
60638         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
60639         rather than jm_CHECK_DECLARATIONS.
60640         * m4/decl.m4: Remove now-unused file.
60641
60642         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
60643         geteuid.
60644
60645 2000-03-02  Jim Meyering  <meyering@lucent.com>
60646
60647         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
60648
60649 2000-03-01  Jim Meyering  <meyering@lucent.com>
60650
60651         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
60652         * lib/unicodeio.c: Likewise.
60653
60654 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
60655
60656         * lib/config.charset: New file.
60657         * lib/localcharset.c: New file.
60658         * lib/unicodeio.h, lib/unicodeio.c: New files.
60659         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
60660         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
60661         (noinst_HEADERS): Add unicodeio.h.
60662         (all-local, install-exec-local, charset.alias): New targets.
60663
60664 2000-02-28  Paul Eggert  <eggert@twinsun.com>
60665
60666         * lib/quotearg.c (ALERT_CHAR): New macro.
60667         (quotearg_buffer_restyled): Use it.
60668
60669 2000-02-27  Jim Meyering  <meyering@lucent.com>
60670
60671         * m4/check-decl.m4: Add getenv to the list.
60672
60673 2000-02-27  Jim Meyering  <meyering@lucent.com>
60674
60675         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
60676         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
60677
60678         * lib/backupfile.c: Guard inclusion of stdlib.h with
60679         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
60680         Declare malloc if needed.
60681
60682         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
60683         `#ifndef HAVE_DECL..'
60684         now that autoconf always defines the HAVE_DECL_ symbols.
60685         * lib/human.c: Likewise.
60686         * lib/same.c: Likewise.
60687         * lib/strtoumax.c: Likewise.
60688
60689         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
60690         declaration check was not run.
60691         * lib/hash.c: Likewise.
60692         * lib/human.c: Likewise.
60693         * lib/same.c: Likewise.
60694         * lib/strtoumax.c: Likewise.
60695
60696         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
60697         `.', then first look up the entire `.'-containing string as a login
60698         name.
60699
60700 2000-02-23  Jim Meyering  <meyering@lucent.com>
60701
60702         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
60703         in place of my hack.
60704
60705 2000-02-18  Paul Eggert  <eggert@twinsun.com>
60706
60707         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
60708         (textint): New typedef.
60709         (parser_control): Member year changed from int to textint.
60710         All uses changed.
60711         (YYSTYPE): Removed; replaced by %union with int and textint members.
60712         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
60713         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
60714         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
60715         (tSNUMBER, tUNUMBER): Now of type <textintval>.
60716         (date, number, to_year): Use width of number in digits, not its value,
60717         to determine whether it's a 2-digit year, or a 2-digit time.
60718         (yylex): Store number of digits of numeric tokens.
60719         Reported by John Kendall.
60720
60721         (parser_control): Changed from struct parser_control to typedef (for
60722         consistency).  All uses changed.
60723
60724         (tID): Removed; not used.
60725         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
60726
60727 2000-02-14  Paul Eggert  <eggert@twinsun.com>
60728
60729         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
60730         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
60731
60732 2000-02-12  Jim Meyering  <meyering@lucent.com>
60733
60734         * lib/userspec.c (ISDIGIT): Define it.
60735         (isdigit): Remove definition.
60736         (is_number): Use ISDIGIT, not isdigit.
60737         <libintl.h>: Include.
60738         (_ and N_): Define.
60739         (parse_user_spec): Mark translatable strings.
60740
60741 2000-02-10  Jim Meyering  <meyering@lucent.com>
60742
60743         With these changes, nanosleep.[ch] are finally enough like the other
60744         lib/* replacement files to compile on a few more losing systems.
60745
60746         * lib/nanosleep.h: Don't include config.h.
60747         Remove prototype from declaration of nanosleep.
60748         (PARAMS): Remove now-unneeded definition.
60749         * lib/nanosleep.c: #undef nanosleep.
60750         (rpl_nanosleep): Rename from nanosleep.
60751
60752 2000-02-10  Jim Meyering  <meyering@lucent.com>
60753
60754         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
60755         gnu_nanosleep to rpl_nanosleep.
60756
60757 2000-02-09  Jim Meyering  <meyering@lucent.com>
60758
60759         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
60760         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
60761
60762 2000-02-08  Akim Demaille  <akim@epita.fr>
60763
60764         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
60765         `[' and `]' and remove uses of `changequote'.
60766         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
60767         (AC_SYS_LARGEFILE): Likewise.
60768         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
60769         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
60770         of changequote.
60771         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
60772         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
60773         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
60774         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
60775
60776 2000-02-05  Jim Meyering  <meyering@lucent.com>
60777
60778         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
60779         Remove explicit use of AC_HEADER_TIME.  It is required by
60780         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
60781         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
60782         in autoconf whereby the expansion of the latter ended up preceding
60783         the expansion of its prerequisite, AC_HEADER_TIME.
60784         Reported by Volker Borchert.
60785
60786 2000-02-03  Jim Meyering  <meyering@lucent.com>
60787
60788         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
60789
60790 2000-02-03  Jim Meyering  <meyering@lucent.com>
60791
60792         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
60793         rather than with `#if HAVE_UTMPNAME'.
60794
60795 2000-02-02  Jim Meyering  <meyering@lucent.com>
60796
60797         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
60798         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
60799         Reported by Eli Zaretskii.
60800
60801 2000-02-01  Jim Meyering  <meyering@lucent.com>
60802
60803         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
60804
60805 2000-01-31  Jim Meyering  <meyering@lucent.com>
60806
60807         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
60808         functions.  Add the time.h and sys/time.h headers along with the
60809         AC_REQUIRE'ment of AC_HEADER_TIME.
60810
60811 2000-01-31  Jim Meyering  <meyering@lucent.com>
60812
60813         * lib/nanosleep.h (nanosleep): Guard declaration with
60814         `#if ! HAVE_DECL_NANOSLEEP'.
60815         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
60816         the declaration in that vendor's sys/timers.h.
60817         Reported by Christian Krackowizer.
60818
60819         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
60820         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
60821         (ISPRINT): Likewise.
60822         Reported by Tom Tromey.
60823
60824 2000-01-30  Jim Meyering  <meyering@lucent.com>
60825
60826         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
60827
60828         * m4/prereq.m4 (utmp_includes): Define.
60829         Check for ut_user and ut_name members in both struct utmpx
60830         and struct utmp.
60831
60832 2000-01-30  Jim Meyering  <meyering@lucent.com>
60833
60834         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
60835         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
60836         header files where only utmpx.ut_user is declared.
60837
60838         * lib/readutmp.h (UT_USER): Define.
60839
60840 2000-01-29  Jim Meyering  <meyering@lucent.com>
60841
60842         * m4/lib-check.m4: New file containing library-related checks from
60843         fileutils and sh-utils (textutils had none).
60844
60845 2000-01-28  Jim Meyering  <meyering@lucent.com>
60846
60847         * m4/perl.m4: Change format of warning message to look more like that
60848         from the missing script.  Suggestion from François Pinard.
60849
60850 2000-01-25  Jim Meyering  <meyering@lucent.com>
60851
60852         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
60853         well as time.h in the compile check.
60854         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
60855         Fix typo in cross-compiling case: s/yes/no/.
60856
60857 2000-01-23  Jim Meyering  <meyering@lucent.com>
60858
60859         * m4/jm-macros.m4: Move df-related tests here from
60860         fileutils/configure.in
60861
60862         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
60863         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
60864
60865         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
60866         s/space/ac_fsusage_space/.
60867         (jm_FILE_SYSTEM_USAGE): Take two parameters.
60868
60869         * m4/ftruncate.m4: New file (derived from part of
60870         fileutils/configure.in).
60871         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
60872         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
60873
60874         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
60875         AC_SUBST these here, rather than just in sh-util/configure.in, so
60876         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
60877         all the same.
60878         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
60879         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
60880         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
60881         (AC_SUBST(POW_LIBM)): Likewise.
60882         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
60883
60884 2000-01-23  Jim Meyering  <meyering@lucent.com>
60885
60886         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
60887         obstack.c.
60888
60889 2000-01-22  Jim Meyering  <meyering@lucent.com>
60890
60891         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
60892
60893         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
60894
60895         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
60896         configure.in
60897         (AC_CHECK_HEADERS): Likewise for sh-utils.
60898         (AC_CHECK_HEADERS): Likewise for textutils.
60899         Merge the three lists of headers.
60900
60901         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
60902         from fileutils' configure.in.
60903
60904         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
60905         code. Moved tests into their own function (_jm_DECL_HEADERS) in
60906         check-decl.m4.
60907
60908         * m4/check-decl.m4: Use #if rather than #ifdef.
60909         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
60910         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
60911         (_jm_DECL_HEADERS): Define new function.
60912         (jm_CHECK_DECLARATIONS): Require it.
60913
60914 2000-01-22  Jim Meyering  <meyering@lucent.com>
60915
60916         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
60917         [! HAVE_DECL_STRTOULL]: Declare strtoull.
60918         Required for some AIX systems.  Reported by Christian Krackowizer.
60919         [TESTING] (main): New function.
60920
60921         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
60922         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
60923         letters.
60924
60925         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
60926         iswprint.
60927
60928         * lib/strverscmp.c (ISDIGIT): Define.
60929         (strverscmp): Use ISDIGIT, not isdigit.
60930
60931 2000-01-19  Jim Meyering  <meyering@lucent.com>
60932
60933         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
60934         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
60935         defines `struct timespec' in <sys/time.h>
60936
60937         * m4/c-bs-a.m4: Remove uses of changequote altogether.
60938         Thanks to Akim for explaining.
60939
60940 2000-01-17  Paul Eggert  <eggert@twinsun.com>
60941
60942         * lib/nanosleep.c (nanosleep):
60943         Don't use SA_INTERRUPT to decide whether to call sigaction, as
60944         POSIX.1 doesn't require SA_INTERRUPT and some systems
60945         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
60946         it's been part of POSIX.1 since day 1 (in 1988).
60947
60948 2000-01-17  Jim Meyering  <meyering@lucent.com>
60949
60950         * lib/interlock: Remove unused file.  Reported by François Pinard.
60951
60952 2000-01-16  Paul Eggert  <eggert@twinsun.com>
60953
60954         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
60955         alert, backslash, formfeed, and vertical tab unnecessarily in
60956         shell quoting style.
60957
60958 2000-01-16  Jim Meyering  <meyering@lucent.com>
60959
60960         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
60961         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
60962         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
60963         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
60964
60965 2000-01-16  Jim Meyering  <meyering@lucent.com>
60966
60967         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
60968         because the latter didn't work.
60969
60970 2000-01-15  Jim Meyering  <meyering@lucent.com>
60971
60972         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
60973         (AC_REPLACE_FUNCS): Add memcpy and memset.
60974         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
60975         Add strpbrk.
60976         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
60977
60978 2000-01-12  Jim Meyering  <meyering@lucent.com>
60979
60980         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
60981         (jm_PREREQ): Use it.
60982         (jm_PREREQ_READUTMP): New macro.
60983         (jm_PREREQ): Use it.
60984
60985 2000-01-11  Paul Eggert  <eggert@twinsun.com>
60986
60987         Quote multibyte characters correctly.
60988         * m4/c-bs-a.m4: New file.
60989         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
60990         (jm_PREREQ): Use it.
60991
60992 2000-01-11  Paul Eggert  <eggert@twinsun.com>
60993
60994         * m4/uintmax_t.m4: Port to autoconf 2.13.
60995
60996 2000-01-08  Jim Meyering  <meyering@ascend.com>
60997
60998         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
60999         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
61000
61001 2000-01-04  Jim Meyering  <meyering@ascend.com>
61002
61003         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
61004         jm_STRUCT_DIRENT_D_TYPE.
61005         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
61006         jm_STRUCT_DIRENT_D_INO.
61007         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
61008         jm_STRUCT_UTIMBUF.
61009         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
61010         renamings.
61011         * m4/utime.m4: Likewise.
61012
61013         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
61014         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
61015
61016 2000-01-03  Paul Eggert  <eggert@twinsun.com>
61017
61018         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
61019         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
61020
61021 2000-01-02  Jim Meyering  <meyering@ascend.com>
61022
61023         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
61024         remember if this is necessary.
61025
61026 1999-12-26  Jim Meyering  <meyering@ascend.com>
61027
61028         * m4/jm-macros.m4: Use it here.
61029         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
61030
61031 1999-12-23  Jim Meyering  <meyering@ascend.com>
61032
61033         * m4/jm-macros.m4: Check for clock_gettime (moved from
61034         fileutils/configure.in)
61035         Check for gettimeofday.
61036
61037 1999-12-20  Jim Meyering  <meyering@ascend.com>
61038
61039         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
61040         autoconf-2.14a-1999-12-20.
61041
61042 1999-12-19  Jim Meyering  <meyering@ascend.com>
61043
61044         * m4/lstat-slash.m4: New file.
61045         * m4/jm-macros.m4: Use the new macro:
61046         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
61047
61048 1999-12-07  Jim Meyering  <meyering@ascend.com>
61049
61050         * m4/perl.m4: Require that File::Compare be available, too.
61051         Too many systems seem to lack it.
61052
61053         * m4/strftime.m4: Add checks for most of the cpp macros tested in
61054         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
61055
61056 1999-11-18  Paul Eggert  <eggert@twinsun.com>
61057
61058         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
61059         problem with the QNX 4.25 shell, which doesn't propagate exit
61060         status of failed commands inside shell assignments.
61061
61062 1999-11-17  Jim Meyering  <meyering@ascend.com>
61063
61064         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
61065
61066 1999-11-07  Jim Meyering  <meyering@ascend.com>
61067
61068         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
61069
61070 1999-11-06  Jim Meyering  <meyering@ascend.com>
61071
61072         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
61073         * m4/jm-macros.m4 (jm_MACROS): Use it here.
61074
61075 1999-11-05  Jim Meyering  <meyering@ascend.com>
61076
61077         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
61078         configure.in of textutils, fileutils, and sh-utils into this one
61079         (shared between those packages) file.
61080         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
61081         AC_STRUCT_ST_BLKSIZE.
61082
61083 1999-11-03  Jim Meyering  <meyering@ascend.com>
61084
61085         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
61086         of AC_CHECK_TYPE checks includes unistd.h.
61087         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
61088         Suggestion from Akim Demaille.
61089
61090 1999-10-30  Jim Meyering  <meyering@ascend.com>
61091
61092         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
61093         m4-quoted string.
61094         * m4/ls-mntd-fs.m4: Likewise.
61095         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
61096         * m4/jm-winsz1.m4: Likewise.
61097
61098         * m4/const.m4: Remove file, since the fix made it into the experimental
61099         version of autoconf.
61100         * m4/mktime.m4: Likewise.
61101
61102         * m4/check-type.m4: Remove file, now that the latest version of
61103         AC_CHECK_TYPE takes a third arg to specify additional #includes.
61104
61105         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
61106         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
61107         AC_CHECK_TYPE.
61108
61109 1999-10-04  Jim Meyering  <meyering@ascend.com>
61110
61111         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
61112
61113 1999-09-22  Paul Eggert  <eggert@twinsun.com>
61114
61115         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
61116         2.95.1 bug with HP-UX 10.20.
61117
61118 1999-09-17  Jim Meyering  <meyering@ascend.com>
61119
61120         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
61121         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
61122         due to missing strdup (against sh-utils-2.0).
61123
61124 1999-08-29  Jim Meyering  <meyering@ascend.com>
61125
61126         * m4/jm-macros.m4: Require jm_BISON.
61127         * m4/bison.m4: New file.
61128
61129 1999-08-17  Paul Eggert  <eggert@twinsun.com>
61130
61131         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
61132         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
61133
61134 1999-08-05  Jim Meyering  <meyering@ascend.com>
61135
61136         * m4/getline.m4: Rename test file from conftestdata to conftest.data
61137         to avoid conflicts with `conftest' on 8+3 filesystems.
61138         Suggestion from Eli Zaretskii.
61139
61140 1999-08-04  Jim Meyering  <meyering@ascend.com>
61141
61142         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
61143         fileutils and sh-utils (textutils's getline test was inadequate).
61144         (AM_FUNC_GETLINE): Run this test.
61145         (AC_CHECK_FUNCS): Check for getdelim.
61146         Reported by Bob Proulx.
61147
61148 1999-08-02  Jim Meyering  <meyering@ascend.com>
61149
61150         * m4/jm-macros.m4: Add a comment.
61151
61152 1999-08-01  Paul Eggert  <eggert@twinsun.com>
61153
61154         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
61155         <inttypes.h> defines strtoumax as a macro (and not as a
61156         function).
61157
61158 1999-08-01  Paul Eggert  <eggert@twinsun.com>
61159
61160         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
61161         that we can shift, multiply and divide unsigned long long
61162         values; Ultrix cc can't do it.
61163
61164 1999-08-01  Paul Eggert  <eggert@twinsun.com>
61165
61166         * m4/mktime.m4: New file, which is a preview of what should appear
61167         in the next public autoconf release.
61168
61169 1999-08-01  Paul Eggert  <eggert@twinsun.com>
61170
61171         * m4/lfs.m4: Remove this file.
61172         * m4/largefile.m4: New file.  It contains the old contents of
61173         lfs.m4, except that all names with prefix AC_LFS have been
61174         changed to use the prefix AC_SYS_LARGEFILE instead, to be
61175         compatible with future autoconf versions.  Also, some minor m4
61176         quoting problems have been fixed.
61177
61178 1999-08-01  Paul Eggert  <eggert@twinsun.com>
61179
61180         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
61181         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
61182         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
61183         and simplify the shell code.
61184
61185 1999-08-01  Jim Meyering  <meyering@ascend.com>
61186
61187         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
61188         m4.
61189
61190 1999-07-20  Jim Meyering  <meyering@ascend.com>
61191
61192         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
61193
61194 1999-07-15  Jim Meyering  <meyering@ascend.com>
61195
61196         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
61197
61198 1999-05-22  Jim Meyering  <meyering@ascend.com>
61199
61200         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
61201
61202 1999-05-20  Jim Meyering  <meyering@ascend.com>
61203
61204         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
61205         Add a colon after each `then' in case $4 is empty.
61206
61207 1999-05-16  Jim Meyering  <meyering@ascend.com>
61208
61209         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
61210
61211 1999-05-10  Jim Meyering  <meyering@ascend.com>
61212
61213         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
61214
61215         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
61216         AC_FUNC_MKTIME.
61217
61218 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
61219
61220         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
61221
61222 1999-05-04  Paul Eggert  <eggert@twinsun.com>
61223
61224         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
61225         not CPPFLAGS, so that linking works correctly in IRIX.
61226
61227 1999-04-30  Paul Eggert  <eggert@twinsun.com>
61228
61229         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
61230
61231 1999-04-20  Paul Eggert  <eggert@twinsun.com>
61232
61233         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
61234         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
61235         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
61236         jm_AC_TYPE_UNSIGNED_LONG_LONG.
61237         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
61238
61239         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
61240
61241 1999-04-20  Jim Meyering  <meyering@ascend.com>
61242
61243         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
61244         AC_REPLACE xstroull if necessary.  From Paul Eggert.
61245         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
61246
61247 1999-04-18  Jim Meyering  <meyering@ascend.com>
61248
61249         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
61250         * m4/jm-macros.m4: Use it.
61251
61252 1999-04-06  Jim Meyering  <meyering@ascend.com>
61253
61254         * m4/strftime.m4: Remove test for %f.
61255
61256 1999-03-29  Jim Meyering  <meyering@ascend.com>
61257
61258         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
61259         superset of the AC_TYPE_* checks in the textutils, fileutils,
61260         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
61261         AC_TYPE_PID_T.
61262
61263 1999-03-28  Jim Meyering  <meyering@ascend.com>
61264
61265         * m4/jm-macros.m4: Define GNU_PACKAGE here.
61266         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
61267         replaced e.g., in the *.sh files of the sh-utils.
61268
61269 1999-03-20  Jim Meyering  <meyering@ascend.com>
61270
61271         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
61272         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
61273         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
61274
61275 1999-03-19  Jim Meyering  <meyering@ascend.com>
61276
61277         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
61278
61279 1999-03-12  Jim Meyering  <meyering@ascend.com>
61280
61281         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
61282
61283 1999-03-07  Jim Meyering  <meyering@ascend.com>
61284
61285         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
61286         declared.
61287
61288 1999-02-17  Jim Meyering  <meyering@ascend.com>
61289
61290         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
61291         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
61292
61293 1999-02-07  Jim Meyering  <meyering@ascend.com>
61294
61295         * m4/group-member.m4: New file -- extracted from sh-utils'
61296         configure.in.
61297
61298         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
61299         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
61300
61301 1999-02-06  Jim Meyering  <meyering@ascend.com>
61302
61303         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
61304         * m4/fnmatch.m4: Likewise.
61305         * m4/getgroups.m4: Likewise.
61306         * m4/lstat.m4: Likewise.
61307         * m4/malloc.m4: Likewise.
61308         * m4/putenv.m4: Likewise.
61309         * m4/realloc.m4: Likewise.
61310         * m4/regex.m4: Likewise.
61311         * m4/stat.m4: Likewise.
61312         * m4/strftime.m4: Likewise.
61313         Suggestion from Alain Magloire.
61314
61315         * m4/chown.m4: Use `.$ac_objext', not `.o'.
61316         * m4/fnmatch.m4: Likewise.
61317         * m4/getgroups.m4: Likewise.
61318         * m4/getline.m4: Likewise.
61319         * m4/lstat.m4: Likewise.
61320         * m4/malloc.m4: Likewise.
61321         * m4/memcmp.m4: Likewise.
61322         * m4/putenv.m4: Likewise.
61323         * m4/realloc.m4: Likewise.
61324         * m4/regex.m4: Likewise.
61325         * m4/stat.m4: Likewise.
61326         * m4/strftime.m4: Likewise.
61327         Suggestion from Alain Magloire.
61328
61329         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
61330         an argument.
61331
61332         * m4/regex.m4: Add a run-time Test for proper operation of
61333         re_compile_pattern.
61334
61335 1999-01-31  Jim Meyering  <meyering@ascend.com>
61336
61337         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
61338
61339 1999-01-30  Jim Meyering  <meyering@ascend.com>
61340
61341         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
61342
61343         * m4/jm-mktime.m4: Make this a wrapper around the official
61344         AM_FUNC_MKTIME rather than my private copy, now that the official one
61345         is up to date.
61346         * m4/mktime.m4: Remove file.
61347
61348         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
61349         * m4/uptime.m4: Likewise.
61350         * m4/uintmax_t.m4: Likewise.
61351
61352 1999-01-28  Jim Meyering  <meyering@ascend.com>
61353
61354         * m4/jm-macros.m4: Use jm_AFS.
61355         * m4/afs.m4: New file (from fileutils' configure.in).
61356
61357         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
61358         * m4/chown.m4: Likewise.
61359         * m4/d-ino.m4: Likewise.
61360         * m4/d-type.m4: Likewise.
61361         * m4/fnmatch.m4: Likewise.
61362         * m4/getgroups.m4: Likewise.
61363         * m4/gettext.m4: Likewise.
61364         * m4/jm-mktime.m4: Likewise.
61365         * m4/jm-winsz2.m4: Likewise.
61366         * m4/lcmessage.m4: Likewise.
61367         * m4/ls-mntd-fs.m4: Likewise.
61368         * m4/malloc.m4: Likewise.
61369         * m4/memcmp.m4: Likewise.
61370         * m4/putenv.m4: Likewise.
61371         * m4/realloc.m4: Likewise.
61372         * m4/st_mtim.m4: Likewise.
61373         * m4/strftime.m4: Likewise.
61374
61375 1999-01-16  Jim Meyering  <meyering@ascend.com>
61376
61377         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
61378         (ARGMATCH_DIE_DECL): Define.
61379
61380 1999-01-12  Jim Meyering  <meyering@ascend.com>
61381
61382         * m4/Makefile.am.in: Rewrite to avoid using fmt.
61383         Reported by Lars Hecking.
61384
61385 1999-01-10  Jim Meyering  <meyering@ascend.com>
61386
61387         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
61388         gross kludge.
61389         * m4/inttypes_h.m4: Likewise.
61390         * m4/lstat.m4: Likewise.
61391         * m4/malloc.m4: Likewise.
61392         * m4/readdir.m4: Likewise.
61393         * m4/realloc.m4: Likewise.
61394         * m4/st_dm_mode.m4: Likewise.
61395         * m4/stat.m4: Likewise.
61396         * m4/utimbuf.m4: Likewise.
61397         * m4/utimes.m4: Likewise.
61398
61399         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
61400         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
61401         comments in config.h.in are meaningful.
61402
61403         * m4/jm-macros.m4: Require autoconf-2.13 here.
61404
61405         * m4/regex.m4: By default, don't use the included regex.c on systems
61406         with glibc 2.  Suggestion from Uli Drepper.
61407
61408 1999-01-02  Jim Meyering  <meyering@ascend.com>
61409
61410         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
61411
61412 1998-12-18  Jim Meyering  <meyering@ascend.com>
61413
61414         * m4/Makefile.am.in (Makefile.am): Simplify rule.
61415         Based on a suggestion from Lars Hecking.
61416
61417 1998-11-16  Paul Eggert  <eggert@twinsun.com>
61418
61419         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
61420
61421 1998-11-16  Jim Meyering  <meyering@ascend.com>
61422
61423         * m4/lfs.m4: Double-quote the `uname...` expression.
61424
61425 1998-11-14  Jim Meyering  <meyering@ascend.com>
61426
61427         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
61428         * m4/stat.m4: Likewise.
61429
61430 1998-11-03  Jim Meyering  <meyering@ascend.com>
61431
61432         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
61433         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
61434
61435 1998-10-18  Jim Meyering  <meyering@ascend.com>
61436
61437         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
61438
61439 1998-10-17  Jim Meyering  <meyering@ascend.com>
61440
61441         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
61442         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
61443         calls for those previously hard-coded headers.  Instead, take a new
61444         parameter.
61445         (jm_CHECK_DECLARATIONS): Reflect interface change.
61446         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
61447         (jm_CHECK_DECL_LOCALTIME_R): New macro.
61448
61449         * m4/mktime.m4: Test for spring-forward gap before long-running test.
61450
61451 1998-10-14  Jim Meyering  <meyering@ascend.com>
61452
61453         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
61454         instead of "TZ=America/Vancouver".  From Paul Eggert.
61455
61456 1998-10-11  Jim Meyering  <meyering@ascend.com>
61457
61458         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
61459         This adds a test for a recently added compatibility fix for mktime.c.
61460         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
61461
61462 1998-09-27  Jim Meyering  <meyering@ascend.com>
61463
61464         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
61465
61466         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
61467         ../configure.in, including a change from Gordon Matzigkeit to allow
61468         cross-compiling for the Hurd.
61469
61470         * m4/glibc.m4: New file/macro to test for the GNU C Library
61471         versions 1 and 2.  From Gordon Matzigkeit.
61472         Indent.
61473
61474 1998-09-21  Jim Meyering  <meyering@ascend.com>
61475
61476         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
61477
61478 1998-08-18  Paul Eggert  <eggert@twinsun.com>
61479
61480         Port nanosecond-resolution times to UnixWare 2.1.2 and
61481         pedantic Solaris 2.6.
61482
61483         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
61484         AC_STRUCT_ST_MTIM.
61485         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
61486         Generate name of ns member, instead of just 1 or undef.
61487         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
61488
61489 1998-08-15  Jim Meyering  <meyering@ascend.com>
61490
61491         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
61492         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
61493         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
61494         instead of jm_TYPE_SSIZE_T.
61495
61496 1998-08-12  Jim Meyering  <meyering@ascend.com>
61497
61498         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
61499
61500 1998-08-02  Jim Meyering  <meyering@ascend.com>
61501
61502         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
61503         in acconfig.h manually.
61504
61505 1998-07-31  Paul Eggert  <eggert@twinsun.com>
61506
61507         * m4/st_mtim.m4: New file.
61508
61509 1998-07-28  Jim Meyering  <meyering@ascend.com>
61510
61511         * m4/utimes.m4: Undef stat.
61512
61513 1998-07-25  Jim Meyering  <meyering@ascend.com>
61514
61515         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
61516         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
61517
61518 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
61519
61520         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
61521         uid and gid actually remain unchanged.
61522
61523 1998-07-07  Jim Meyering  <meyering@ascend.com>
61524
61525         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
61526
61527 1998-07-04  Jim Meyering  <meyering@ascend.com>
61528
61529         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
61530         to prove that this macro can be used in packages without regex.c.
61531
61532 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
61533
61534         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
61535         is to be used.
61536
61537 1998-07-03  Jim Meyering  <meyering@ascend.com>
61538
61539         * m4/gettext.m4: Add -lintl if it's found to be necessary.
61540
61541         * m4/gettext.m4: New file -- from gettext-0.10.35.
61542         * m4/lcmessage.m4: Likewise.
61543         * m4/progtest.m4: Likewise.
61544
61545         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
61546         * m4/jm-macros.m4: Require the new macro.
61547
61548 1998-06-29  Jim Meyering  <meyering@ascend.com>
61549
61550         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
61551         for the definition of NGROUPS (used in a system header included
61552         by sys/mount.h).
61553
61554 1998-06-28  Jim Meyering  <meyering@ascend.com>
61555
61556         * m4/ls-mntd-fs.m4: New file.
61557         * m4/fstypename.m4: New file.
61558
61559         * m4/jm-macros.m4: Require the new macro.
61560         * m4/jm-glibc-io.m4: New file.
61561
61562 1998-05-19  Jim Meyering  <meyering@ascend.com>
61563
61564         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
61565         * m4/lchown.m4: New file.
61566
61567         * m4/Makefile.am.in: New file.
61568         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
61569
61570 1998-05-14  Jim Meyering  <meyering@ascend.com>
61571
61572         * m4/Makefile.am (EXTRA_DIST): Add them.
61573         * m4/jm-macros.m4: New file.
61574         * m4/utimbuf.m4: New file.
61575
61576 1998-05-12  Jim Meyering  <meyering@ascend.com>
61577
61578         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
61579
61580 1998-05-11  Jim Meyering  <meyering@ascend.com>
61581
61582         * m4/isc-posix.m4: New file.
61583
61584 1998-05-10  Jim Meyering  <meyering@ascend.com>
61585
61586         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
61587
61588 1998-05-09  Jim Meyering  <meyering@ascend.com>
61589
61590         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
61591         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
61592         with automake.
61593
61594         * m4/ssize_t.m4: New file.
61595         * m4/mktime.m4: Remove file -- the new automake has this now.
61596
61597 1998-04-26  Jim Meyering  <meyering@ascend.com>
61598
61599         * m4/assert.m4: New file.
61600         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
61601
61602 1998-04-05  Jim Meyering  <meyering@ascend.com>
61603
61604         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
61605         (jm_PREREQ): Use it here.
61606
61607 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
61608
61609         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
61610         in acconfig.h.
61611
61612 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
61613
61614         * m4/prereq.m4: New file.
61615         * m4/error.m4: New file.
61616         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
61617
61618 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
61619
61620         * m4/getline.m4: Don't set am_cv_func_working_getline before the
61621         cache-check for the same variable -- that defeated the purpose of
61622         the test; the test program was never run.  This was a problem only
61623         on systems with losing getline functions -- HP-UX 10.20 is one.
61624         Reported by Bjorn Helgaas.
61625
61626 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
61627
61628         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
61629
61630 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
61631
61632         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
61633
61634         * m4/const.m4: New file.  Use an initializer in this declaration
61635         typedef int charset[2]; const charset x;
61636         Reported by Bob Glickstein.
61637
61638 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
61639
61640         * m4/chown.m4: Fix reversed types on -1 args to chown.
61641         From Kaveh Ghazi.
61642
61643 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
61644
61645         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
61646         Add lseek and memchr.
61647
61648         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
61649         T.E.Dickey <dickey@clark.net> said that some older preprocessors
61650         have a 20-character limit on names.
61651
61652 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
61653
61654         * m4/inttypes_h.m4: New file.
61655         * m4/uintmax_t.m4: New file.
61656         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
61657
61658
61659         -----
61660
61661         Local Variables:
61662         coding: utf-8
61663         End:
61664
61665         Copyright (C) 1997-2010 Free Software Foundation, Inc.
61666
61667         Copying and distribution of this file, with or without
61668         modification, are permitted provided the copyright notice
61669         and this notice are preserved.