459f3e89015698c1df48722c079a6749937af056
[gnulib.git] / ChangeLog
1 2010-01-10  Bruno Haible  <bruno@clisp.org>
2
3         Tests for module 'unistr/u32-next'.
4         * modules/unistr/u32-next-tests: New file.
5         * tests/unistr/test-u32-next.c: New file.
6
7         Tests for module 'unistr/u16-next'.
8         * modules/unistr/u16-next-tests: New file.
9         * tests/unistr/test-u16-next.c: New file.
10
11         Tests for module 'unistr/u8-next'.
12         * modules/unistr/u8-next-tests: New file.
13         * tests/unistr/test-u8-next.c: New file.
14
15         Tests for module 'unistr/u32-strmbtouc'.
16         * modules/unistr/u32-strmbtouc-tests: New file.
17         * tests/unistr/test-u32-strmbtouc.c: New file.
18
19         Tests for module 'unistr/u16-strmbtouc'.
20         * modules/unistr/u16-strmbtouc-tests: New file.
21         * tests/unistr/test-u16-strmbtouc.c: New file.
22
23         Tests for module 'unistr/u8-strmbtouc'.
24         * modules/unistr/u8-strmbtouc-tests: New file.
25         * tests/unistr/test-u8-strmbtouc.c: New file.
26
27         Tests for module 'unistr/u32-strmblen'.
28         * modules/unistr/u32-strmblen-tests: New file.
29         * tests/unistr/test-u32-strmblen.c: New file.
30
31         Tests for module 'unistr/u16-strmblen'.
32         * modules/unistr/u16-strmblen-tests: New file.
33         * tests/unistr/test-u16-strmblen.c: New file.
34
35         Tests for module 'unistr/u8-strmblen'.
36         * modules/unistr/u8-strmblen-tests: New file.
37         * tests/unistr/test-u8-strmblen.c: New file.
38
39         Tests for module 'unistr/u32-cpy-alloc'.
40         * modules/unistr/u32-cpy-alloc-tests: New file.
41         * tests/unistr/test-u32-cpy-alloc.c: New file.
42
43         Tests for module 'unistr/u16-cpy-alloc'.
44         * modules/unistr/u16-cpy-alloc-tests: New file.
45         * tests/unistr/test-u16-cpy-alloc.c: New file.
46
47         Tests for module 'unistr/u8-cpy-alloc'.
48         * modules/unistr/u8-cpy-alloc-tests: New file.
49         * tests/unistr/test-u8-cpy-alloc.c: New file.
50         * tests/unistr/test-cpy-alloc.h: New file.
51
52         Tests for module 'unistr/u32-mbsnlen'.
53         * modules/unistr/u32-mbsnlen-tests: New file.
54         * tests/unistr/test-u32-mbsnlen.c: New file.
55
56         Tests for module 'unistr/u16-mbsnlen'.
57         * modules/unistr/u16-mbsnlen-tests: New file.
58         * tests/unistr/test-u16-mbsnlen.c: New file.
59
60         Tests for module 'unistr/u8-mbsnlen'.
61         * modules/unistr/u8-mbsnlen-tests: New file.
62         * tests/unistr/test-u8-mbsnlen.c: New file.
63
64         Tests for module 'unistr/u32-chr'.
65         * modules/unistr/u32-chr-tests: New file.
66         * tests/unistr/test-u32-chr.c: New file.
67
68         Tests for module 'unistr/u16-chr'.
69         * modules/unistr/u16-chr-tests: New file.
70         * tests/unistr/test-u16-chr.c: New file.
71
72         Tests for module 'unistr/u8-chr'.
73         * modules/unistr/u8-chr-tests: New file.
74         * tests/unistr/test-u8-chr.c: New file.
75         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
76
77         Tests for module 'unistr/u32-cmp2'.
78         * modules/unistr/u32-cmp2-tests: New file.
79         * tests/unistr/test-u32-cmp2.c: New file.
80
81         Tests for module 'unistr/u16-cmp2'.
82         * modules/unistr/u16-cmp2-tests: New file.
83         * tests/unistr/test-u16-cmp2.c: New file.
84
85         Tests for module 'unistr/u8-cmp2'.
86         * modules/unistr/u8-cmp2-tests: New file.
87         * tests/unistr/test-u8-cmp2.c: New file.
88         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
89
90         Tests for module 'unistr/u32-cmp'.
91         * modules/unistr/u32-cmp-tests: New file.
92         * tests/unistr/test-u32-cmp.c: New file.
93
94         Tests for module 'unistr/u16-cmp'.
95         * modules/unistr/u16-cmp-tests: New file.
96         * tests/unistr/test-u16-cmp.c: New file.
97
98         Tests for module 'unistr/u8-cmp'.
99         * modules/unistr/u8-cmp-tests: New file.
100         * tests/unistr/test-u8-cmp.c: New file.
101         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
102
103         Tests for module 'unistr/u32-set'.
104         * modules/unistr/u32-set-tests: New file.
105         * tests/unistr/test-u32-set.c: New file.
106
107         Tests for module 'unistr/u16-set'.
108         * modules/unistr/u16-set-tests: New file.
109         * tests/unistr/test-u16-set.c: New file.
110
111         Tests for module 'unistr/u8-set'.
112         * modules/unistr/u8-set-tests: New file.
113         * tests/unistr/test-u8-set.c: New file.
114         * tests/unistr/test-set.h: New file.
115
116         Tests for module 'unistr/u32-move'.
117         * modules/unistr/u32-move-tests: New file.
118         * tests/unistr/test-u32-move.c: New file.
119
120         Tests for module 'unistr/u16-move'.
121         * modules/unistr/u16-move-tests: New file.
122         * tests/unistr/test-u16-move.c: New file.
123
124         Tests for module 'unistr/u8-move'.
125         * modules/unistr/u8-move-tests: New file.
126         * tests/unistr/test-u8-move.c: New file.
127         * tests/unistr/test-move.h: New file.
128
129         Tests for module 'unistr/u32-cpy'.
130         * modules/unistr/u32-cpy-tests: New file.
131         * tests/unistr/test-u32-cpy.c: New file.
132
133         Tests for module 'unistr/u16-cpy'.
134         * modules/unistr/u16-cpy-tests: New file.
135         * tests/unistr/test-u16-cpy.c: New file.
136
137         Tests for module 'unistr/u8-cpy'.
138         * modules/unistr/u8-cpy-tests: New file.
139         * tests/unistr/test-u8-cpy.c: New file.
140         * tests/unistr/test-cpy.h: New file.
141
142 2010-01-09  Bruno Haible  <bruno@clisp.org>
143
144         Tests for module 'unistr/u32-uctomb'.
145         * modules/unistr/u32-uctomb-tests: New file.
146         * tests/unistr/test-u32-uctomb.c: New file.
147
148         Tests for module 'unistr/u16-uctomb'.
149         * modules/unistr/u16-uctomb-tests: New file.
150         * tests/unistr/test-u16-uctomb.c: New file.
151
152         Tests for module 'unistr/u8-uctomb'.
153         * modules/unistr/u8-uctomb-tests: New file.
154         * tests/unistr/test-u8-uctomb.c: New file.
155
156         Tests for module 'unistr/u32-mbtoucr'.
157         * modules/unistr/u32-mbtoucr-tests: New file.
158         * tests/unistr/test-u32-mbtoucr.c: New file.
159
160         Tests for module 'unistr/u16-mbtoucr'.
161         * modules/unistr/u16-mbtoucr-tests: New file.
162         * tests/unistr/test-u16-mbtoucr.c: New file.
163
164         Tests for module 'unistr/u8-mbtoucr'.
165         * modules/unistr/u8-mbtoucr-tests: New file.
166         * tests/unistr/test-u8-mbtoucr.c: New file.
167
168         Tests for module 'unistr/u32-mbtouc'.
169         * modules/unistr/u32-mbtouc-tests: New file.
170         * tests/unistr/test-u32-mbtouc.c: New file.
171
172         Tests for module 'unistr/u16-mbtouc'.
173         * modules/unistr/u16-mbtouc-tests: New file.
174         * tests/unistr/test-u16-mbtouc.c: New file.
175
176         Tests for module 'unistr/u8-mbtouc'.
177         * modules/unistr/u8-mbtouc-tests: New file.
178         * tests/unistr/test-u8-mbtouc.c: New file.
179
180         Tests for module 'unistr/u32-mbtouc-unsafe'.
181         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
182         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
183         * tests/unistr/test-u32-mbtouc.h: New file.
184
185         Tests for module 'unistr/u16-mbtouc-unsafe'.
186         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
187         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
188         * tests/unistr/test-u16-mbtouc.h: New file.
189
190         Tests for module 'unistr/u8-mbtouc-unsafe'.
191         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
192         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
193         * tests/unistr/test-u8-mbtouc.h: New file.
194
195         Tests for module 'unistr/u32-mblen'.
196         * modules/unistr/u32-mblen-tests: New file.
197         * tests/unistr/test-u32-mblen.c: New file.
198
199         Tests for module 'unistr/u16-mblen'.
200         * modules/unistr/u16-mblen-tests: New file.
201         * tests/unistr/test-u16-mblen.c: New file.
202
203         Tests for module 'unistr/u8-mblen'.
204         * modules/unistr/u8-mblen-tests: New file.
205         * tests/unistr/test-u8-mblen.c: New file.
206
207         Tests for module 'unistr/u32-to-u16'.
208         * modules/unistr/u32-to-u16-tests: New file.
209         * tests/unistr/test-u32-to-u16.c: New file.
210
211         Tests for module 'unistr/u32-to-u8'.
212         * modules/unistr/u32-to-u8-tests: New file.
213         * tests/unistr/test-u32-to-u8.c: New file.
214
215         Tests for module 'unistr/u16-to-u32'.
216         * modules/unistr/u16-to-u32-tests: New file.
217         * tests/unistr/test-u16-to-u32.c: New file.
218
219         Tests for module 'unistr/u16-to-u8'.
220         * modules/unistr/u16-to-u8-tests: New file.
221         * tests/unistr/test-u16-to-u8.c: New file.
222
223         Tests for module 'unistr/u8-to-u32'.
224         * modules/unistr/u8-to-u32-tests: New file.
225         * tests/unistr/test-u8-to-u32.c: New file.
226
227         Tests for module 'unistr/u8-to-u16'.
228         * modules/unistr/u8-to-u16-tests: New file.
229         * tests/unistr/test-u8-to-u16.c: New file.
230
231         Tests for module 'unistr/u32-check'.
232         * modules/unistr/u32-check-tests: New file.
233         * tests/unistr/test-u32-check.c: New file.
234
235         Tests for module 'unistr/u16-check'.
236         * modules/unistr/u16-check-tests: New file.
237         * tests/unistr/test-u16-check.c: New file.
238
239         Tests for module 'unistr/u8-check'.
240         * modules/unistr/u8-check-tests: New file.
241         * tests/unistr/test-u8-check.c: New file.
242
243         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
244         (category_equals): New function.
245         (main): Add more tests.
246         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
247
248         * tests/unictype/test-bidi_byname.c (main): Add more tests.
249
250 2010-01-10  Bruno Haible  <bruno@clisp.org>
251
252         unistr/u*-strcoll: Try harder to distinguish different strings.
253         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
254         compare s1 and s2 to see if they are different.
255
256 2010-01-10  Bruno Haible  <bruno@clisp.org>
257
258         unistr/u*-stpncpy: Fix the return value.
259         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
260         description of the return value consistent with stpncpy in glibc.
261         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
262         written non-NUL unit.
263
264 2010-01-10  Bruno Haible  <bruno@clisp.org>
265
266         unistr/u*-next: Add missing dependencies.
267         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
268         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
269         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
270
271 2010-01-10  Bruno Haible  <bruno@clisp.org>
272
273         unistr/u8-mbsnlen: Fix return value for incomplete character.
274         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
275         u8_mblen.
276         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
277         Remove unistr/u8-mblen.
278         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
279         u16_mblen.
280         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
281         Remove unistr/u16-mblen.
282
283 2010-01-10  Bruno Haible  <bruno@clisp.org>
284
285         wchar: Fix compilation error when <wchar.h> is used from coreutils.
286         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
287         Reported by Brian Gough <bjg@gnu.org> and
288         Chris Clayton <chris2553@googlemail.com> via
289         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
290
291 2010-01-09  Bruno Haible  <bruno@clisp.org>
292
293         unistr/u16-to-u32: Reject invalid input.
294         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
295         u16_mbtouc.
296         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
297         Remove unistr/u16-mbtouc.
298
299         unistr/u16-to-u8: Reject invalid input.
300         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
301         u16_mbtouc.
302         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
303         Remove unistr/u16-mbtouc.
304
305         unistr/u8-to-u32: Reject invalid input.
306         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
307         u8_mbtouc.
308         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
309         Remove unistr/u8-mbtouc.
310
311         unistr/u8-to-u16: Reject invalid input.
312         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
313         u8_mbtouc.
314         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
315         Remove unistr/u8-mbtouc.
316
317 2010-01-09  Bruno Haible  <bruno@clisp.org>
318
319         Tests for module 'getlogin'.
320         * modules/getlogin-tests: New file.
321         * tests/test-getlogin.c: New file.
322
323         New module 'getlogin'.
324         * lib/unistd.in.h (getlogin): New declaration.
325         * lib/getlogin.c: New file.
326         * m4/getlogin.m4: New file.
327         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
328         HAVE_GETLOGIN.
329         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
330         HAVE_GETLOGIN.
331         * modules/getlogin: New file.
332         * doc/posix-functions/getlogin.texi: Mention the new module.
333         Reported by John W. Eaton <jwe@gnu.org>.
334
335 2010-01-09  Bruno Haible  <bruno@clisp.org>
336
337         getlogin_r: Support for native Windows.
338         * lib/getlogin_r.c: Include <windows.h>
339         (getlogin_r): Implement for native Windows.
340         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
341         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
342         via John W. Eaton <jwe@gnu.org>.
343
344 2010-01-09  Bruno Haible  <bruno@clisp.org>
345
346         getlogin_r: Small fixes.
347         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
348         succeeds.
349         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
350         before testing whether getlogin_r is declared. No need to set
351         HAVE_DECL_GETLOGIN_R to 1.
352         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
353
354 2010-01-09  Bruno Haible  <bruno@clisp.org>
355
356         * lib/unistd.in.h (getlogin_r): Add comment.
357
358 2010-01-09  Bruno Haible  <bruno@clisp.org>
359
360         Tests for module 'getlogin_r'.
361         * modules/getlogin_r-tests: New file.
362         * tests/test-getlogin_r.c: New file.
363
364 2010-01-09  Jim Meyering  <meyering@redhat.com>
365
366         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
367         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
368         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
369
370 2010-01-08  Simon Josefsson  <simon@josefsson.org>
371
372         * lib/dup2.c (rpl_dup2): Improve comment.
373
374 2010-01-08  Eric Blake  <ebb9@byu.net>
375
376         maint.mk: allow packages to add makefile @@ exceptions
377         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
378         (sc_makefile_check): Rename...
379         (sc_makefile_at_at_check): ...to this, and use hook.
380
381         dup2: work around mingw bug
382         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
383         Reported by Simon Josefsson.
384
385 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
386
387         glob: Fix C++ compilation.
388         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
389         C++.
390
391 2010-01-07  Bruno Haible  <bruno@clisp.org>
392
393         Fix indentation of wctype.in.h, broken since 2007-01-06.
394         * lib/wctype.in.h: Fix indentation of preprocessor directives.
395
396 2010-01-07  Bruno Haible  <bruno@clisp.org>
397
398         mbslen: Avoid collision with system function.
399         * lib/string.in.h [MirBSD]: Include <wchar.h>.
400         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
401         * m4/mbslen.m4: New file.
402         * modules/mbslen (Files): Add it.
403         (configure.ac): Invoke gl_MBSLEN.
404         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
405         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
406         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
407         via Ian Beckwith <ianb@erislabs.net>.
408
409 2010-01-07  Bruno Haible  <bruno@clisp.org>
410
411         dirent: Document the last fix.
412         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
413
414 2010-01-07  Bruno Haible  <bruno@clisp.org>
415
416         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
417         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
418         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
419         va_list are defined.
420         * doc/posix-headers/stdio.texi: Document the bug of missing types.
421         Reported by Eric Blake.
422
423 2010-01-07  Bruno Haible  <bruno@clisp.org>
424
425         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
426         * modules/xlist (Depends-on): Add 'list',
427         * modules/xoset (Depends-on): Add 'oset'.
428         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
429
430 2010-01-07  Bruno Haible  <bruno@clisp.org>
431
432         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
433         * doc/posix-functions/strncasecmp.texi: Likewise.
434
435 2010-01-07  Bruno Haible  <bruno@clisp.org>
436
437         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
438
439 2010-01-07  John W. Eaton  <jwe@octave.org>
440
441         wctype: allow C++ use
442         * lib/wctype.in.h: Add extern "C" block for C++.
443
444 2010-01-06  Eric Blake  <ebb9@byu.net>
445
446         maint.mk: detect incorrect GFDL usage
447         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
448
449 2010-01-06  Jim Meyering  <meyering@redhat.com>
450         and Eric Blake  <ebb9@byu.net>
451
452         maint.mk: ignore multi-line copyright in NEWS
453         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
454
455 2010-01-06  Eric Blake  <ebb9@byu.net>
456
457         select: add missing dependency
458         * modules/select-tests (Depends-on): Move sockets dependency...
459         * modules/select (Depends-on): ...here.
460         Reported by Ian Beckwith.
461
462         doc: regenerate INSTALL
463         * doc/INSTALL: Reflect recent autoconf update.
464         * doc/INSTALL.ISO: Likewise.
465         * doc/INSTALL.UTF-8: Likewise.
466
467         pread: fix compilation on glibc
468         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
469         Reported by Ralf Wildenhues.
470
471         dirent: fix test failure
472         * lib/dirent.in.h (includes): Guarantee ino_t.
473         Reported by Ralf Wildenhues.
474
475 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
476
477         linkat, renameat: avoid bad free
478         * lib/at-func2.c (at_func2): Fix typo.
479         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
480
481 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
482
483         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
484         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
485         to avoid failure of symlink test later.
486
487 2010-01-06  Eric Blake  <ebb9@byu.net>
488
489         stdio, unistd: guarantee ssize_t
490         * lib/unistd.in.h (includes): Ensure that types required by POSIX
491         2008 are exposed when needed.
492         * lib/stdio.in.h (includes): Likewise.
493         Reported by Ralf Wildenhues.
494
495 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
496
497         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
498         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
499         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
500
501 2010-01-06  Jim Meyering  <meyering@redhat.com>
502
503         readtokens: this module *does* require xalloc.h
504         It uses only functions that were omitted by the old syntax-check rule.
505         * lib/readtokens.c: Include "xalloc.h" once again.
506         * modules/readtokens (Depends-on): Add xalloc.
507         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
508
509 2010-01-05  Eric Blake  <ebb9@byu.net>
510
511         maint: support 'make announcement' from a VPATH build
512         * top/maint.mk (announcement): Look for correct NEWS file.
513
514 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
515
516         utimens (fdutimens): ignore a negative FD, per contract
517         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
518         when we have a valid file descriptor.  Otherwise, using a brand
519         new glibc (with just-patched futimens that now fails with EBADF)
520         would cause this function to fail with ENOSYS.
521         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
522         See also http://bugzilla.redhat.com/552320.
523
524 2010-01-05  Eric Blake  <ebb9@byu.net>
525
526         strcase: document what it provides
527         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
528         gnulib module.
529         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
530         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
531
532 2010-01-05  Jim Meyering  <meyering@redhat.com>
533
534         maint: remove useless inclusions of "xalloc.h"
535         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
536         * lib/readtokens.c: Likewise.
537         * lib/same.c: Likewise.
538         * modules/getloadavg (Depends-on): Remove xalloc.
539         * modules/readtokens: Likewise.
540         * modules/same: Likewise.
541
542         maint.mk: include 4 more function names in alloca.h-checking regexp
543         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
544         regexp.  Before, we would give a false-positive (saying alloca.h
545         is included unnecessarily) when the only uses involved omitted symbols.
546
547         xalloc.h: use consistent formatting
548         * lib/xalloc.h: Move declarations to start in the first column.
549
550 2010-01-05  Eric Blake  <ebb9@byu.net>
551
552         mkdir: avoid xalloc
553         * lib/mkdir.c (includes): Drop unused header.
554         Reported by John W. Eaton.
555
556 2010-01-04  Jim Meyering  <meyering@redhat.com>
557
558         nl_langinfo: avoid configure-time syntax error
559         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
560         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
561         the empty string.  Don't let that provoke a shell syntax error.
562
563         regcomp, regexec, fnmatch: avoid array bounds read error
564         * lib/regcomp.c (build_equiv_class): From glibc:
565         Use only the low 24 bits of a findidx return value as an index
566         into the weights array.  Patch by Ulrich Drepper:
567         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
568         * lib/regexec.c (check_node_accept_bytes): Likewise.
569         * lib/fnmatch_loop.c (FCT): Likewise.
570
571         regcomp: skip collseq lookup when there are no rules
572         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
573         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
574
575         regcomp: recognize ill-formed { } expressions
576         * lib/regcomp.c (parse_dup_op): From glibc:
577         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
578
579         regcomp: fix typo in comment
580         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
581         s/satisfy/satisfies/.
582
583         regcomp: sync from glibc: remove dead store
584         * lib/regcomp.c (duplicate_node_closure): Remove useless
585         search_duplicated_node call and dead store.
586
587         regcomp: sync from glibc; always use nl_langinfo
588         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
589         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
590         * modules/regex (Depends-on): Add nl_langinfo.
591
592 2010-01-04  Eric Blake  <ebb9@byu.net>
593
594         fdopendir: fix configure test
595         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
596
597 2010-01-01  Bruno Haible  <bruno@clisp.org>
598
599         wchar: Remove unused configure check.
600         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
601
602 2010-01-01  Eric Blake  <ebb9@byu.net>
603
604         headers: make check of system header explicit
605         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
606         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
607         ourselves.
608         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
609         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
610         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
611         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
612         internals.
613         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
614         missing.
615         Suggested by Bruno Haible.
616
617 2010-01-01  Jim Meyering  <meyering@redhat.com>
618
619         ChangeLog: tweak to eliminate unnecessary copyright line
620         * ChangeLog: Remove a copyright line that was mistakenly updated
621         by today's update-copyright run.  Reported by Eric Blake.
622
623         test-update-copyright: don't let envvar setting cause test failure
624         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
625
626 2010-01-01  Bruno Haible  <bruno@clisp.org>
627
628         localename: Avoid gcc warning.
629         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
630         function if it is not used.
631
632 2010-01-01  Jim Meyering  <meyering@redhat.com>
633
634         update nearly all FSF copyright year lists to include 2010
635         Use the same procedure as for 2009, outlined in
636         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
637
638         version-etc: set COPYRIGHT_YEAR to 2010
639         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
640
641 2009-12-31  Eric Blake  <ebb9@byu.net>
642
643         doc: correct availability of cygwin 1.5.x getopt
644         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
645         variables.
646         * doc/posix-functions/opterr.texi (opterr): Likewise.
647         * doc/posix-functions/optind.texi (optind): Likewise.
648         * doc/posix-functions/optopt.texi (optopt): Likewise.
649         * doc/posix-functions/tzname.texi (tzname): Likewise.
650
651         openat: update maintainer
652         * modules/openat (Maintainer): Add myself.
653
654         utimens: avoid shadowing warning
655         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
656         buffers into one, to avoid shadowing, as well as avoiding a
657         redundant stat.
658         Reported by Jim Meyering.
659
660         test-dup2: avoid compiler warning
661         * tests/test-dup2.c (is_inheritable): Only define if used.
662
663 2010-01-01  Bruno Haible  <bruno@clisp.org>
664
665         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
666         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
667         defined, use wctomb instead of wcrtomb.
668
669 2010-01-01  Bruno Haible  <bruno@clisp.org>
670
671         iconv: Reject native Solaris iconv.
672         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
673         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
674
675 2009-12-31  Bruno Haible  <bruno@clisp.org>
676
677         * tests/test-signal.c (main): Remove test of 'SIG'.
678
679 2009-12-31  Bruno Haible  <bruno@clisp.org>
680
681         spawn: Fix incomplete fix.
682         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
683         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
684         warnings for GNULIB_POSIXCHECK again.
685         Reported by Eric Blake.
686
687 2009-12-31  Bruno Haible  <bruno@clisp.org>
688
689         Avoid namespace pollution on glibc systems.
690         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
691         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
692         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
693         glibc systems.
694
695 2009-12-31  Bruno Haible  <bruno@clisp.org>
696
697         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
698         (gl_REPLACE_WCHAR_H): Turn into a no-op.
699         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
700         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
701         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
702         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
703         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
704
705 2009-12-31  Bruno Haible  <bruno@clisp.org>
706
707         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
708         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
709         afterwards.
710
711 2009-12-31  Bruno Haible  <bruno@clisp.org>
712
713         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
714         SYS_UTSNAME_H.
715
716 2009-12-31  Bruno Haible  <bruno@clisp.org>
717
718         spawn: Fix misapplied patch.
719         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
720         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
721         warnings for GNULIB_POSIXCHECK.
722
723 2009-12-31  Bruno Haible  <bruno@clisp.org>
724
725         times: Update after sys_times changed.
726         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
727         * modules/times (Files): Add it.
728         (configure.ac): Invoke gl_FUNC_TIMES.
729
730 2009-12-31  Bruno Haible  <bruno@clisp.org>
731
732         Use AC_C_INLINE where necessary.
733         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
734         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
735         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
736         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
737         * m4/mbfile.m4 (gl_MBFILE): Likewise.
738         * m4/mbiter.m4 (gl_MBITER): Likewise.
739         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
740         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
741         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
742         * modules/u64 (configure.ac): Likewise.
743
744 2009-12-31  Bruno Haible  <bruno@clisp.org>
745
746         Use AC_C_INLINE instead of module 'inline' where possible.
747         * modules/inline (Description): Clarify purpose.
748         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
749         * modules/count-one-bits (Depends-on): Remove inline.
750         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
751         * modules/openat (Depends-on): Remove inline.
752         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
753         instead of depending on module 'inline'.
754         * modules/filevercmp (Depends-on, configure.ac): Likewise.
755         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
756         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
757         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
758         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
759         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
760         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
761         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
762         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
763         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
764         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
765         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
766         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
767         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
768         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
769         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
770         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
771         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
772         Likewise.
773         * modules/unictype/property-ascii-hex-digit (Depends-on,
774         configure.ac): Likewise.
775         * modules/unictype/property-bidi-arabic-digit (Depends-on,
776         configure.ac): Likewise.
777         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
778         configure.ac): Likewise.
779         * modules/unictype/property-bidi-block-separator (Depends-on,
780         configure.ac): Likewise.
781         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
782         configure.ac): Likewise.
783         * modules/unictype/property-bidi-common-separator (Depends-on,
784         configure.ac): Likewise.
785         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
786         Likewise.
787         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
788         configure.ac): Likewise.
789         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
790         configure.ac): Likewise.
791         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
792         configure.ac): Likewise.
793         * modules/unictype/property-bidi-european-digit (Depends-on,
794         configure.ac): Likewise.
795         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
796         configure.ac): Likewise.
797         * modules/unictype/property-bidi-left-to-right (Depends-on,
798         configure.ac): Likewise.
799         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
800         configure.ac): Likewise.
801         * modules/unictype/property-bidi-other-neutral (Depends-on,
802         configure.ac): Likewise.
803         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
804         Likewise.
805         * modules/unictype/property-bidi-segment-separator (Depends-on,
806         configure.ac): Likewise.
807         * modules/unictype/property-bidi-whitespace (Depends-on,
808         configure.ac): Likewise.
809         * modules/unictype/property-combining (Depends-on, configure.ac):
810         Likewise.
811         * modules/unictype/property-composite (Depends-on, configure.ac):
812         Likewise.
813         * modules/unictype/property-currency-symbol (Depends-on,
814         configure.ac): Likewise.
815         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
816         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
817         Likewise.
818         * modules/unictype/property-default-ignorable-code-point (Depends-on,
819         configure.ac): Likewise.
820         * modules/unictype/property-deprecated (Depends-on, configure.ac):
821         Likewise.
822         * modules/unictype/property-diacritic (Depends-on, configure.ac):
823         Likewise.
824         * modules/unictype/property-extender (Depends-on, configure.ac):
825         Likewise.
826         * modules/unictype/property-format-control (Depends-on, configure.ac):
827         Likewise.
828         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
829         Likewise.
830         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
831         Likewise.
832         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
833         Likewise.
834         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
835         Likewise.
836         * modules/unictype/property-hyphen (Depends-on, configure.ac):
837         Likewise.
838         * modules/unictype/property-id-continue (Depends-on, configure.ac):
839         Likewise.
840         * modules/unictype/property-id-start (Depends-on, configure.ac):
841         Likewise.
842         * modules/unictype/property-ideographic (Depends-on, configure.ac):
843         Likewise.
844         * modules/unictype/property-ids-binary-operator (Depends-on,
845         configure.ac): Likewise.
846         * modules/unictype/property-ids-trinary-operator (Depends-on,
847         configure.ac): Likewise.
848         * modules/unictype/property-ignorable-control (Depends-on,
849         configure.ac): Likewise.
850         * modules/unictype/property-iso-control (Depends-on, configure.ac):
851         Likewise.
852         * modules/unictype/property-join-control (Depends-on, configure.ac):
853         Likewise.
854         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
855         Likewise.
856         * modules/unictype/property-line-separator (Depends-on, configure.ac):
857         Likewise.
858         * modules/unictype/property-logical-order-exception (Depends-on,
859         configure.ac): Likewise.
860         * modules/unictype/property-lowercase (Depends-on, configure.ac):
861         Likewise.
862         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
863         * modules/unictype/property-non-break (Depends-on, configure.ac):
864         Likewise.
865         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
866         Likewise.
867         * modules/unictype/property-numeric (Depends-on, configure.ac):
868         Likewise.
869         * modules/unictype/property-other-alphabetic (Depends-on,
870         configure.ac): Likewise.
871         * modules/unictype/property-other-default-ignorable-code-point
872         (Depends-on, configure.ac): Likewise.
873         * modules/unictype/property-other-grapheme-extend (Depends-on,
874         configure.ac): Likewise.
875         * modules/unictype/property-other-id-continue (Depends-on,
876         configure.ac): Likewise.
877         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
878         Likewise.
879         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
880         Likewise.
881         * modules/unictype/property-other-math (Depends-on, configure.ac):
882         Likewise.
883         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
884         Likewise.
885         * modules/unictype/property-paired-punctuation (Depends-on,
886         configure.ac): Likewise.
887         * modules/unictype/property-paragraph-separator (Depends-on,
888         configure.ac): Likewise.
889         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
890         Likewise.
891         * modules/unictype/property-pattern-white-space (Depends-on,
892         configure.ac): Likewise.
893         * modules/unictype/property-private-use (Depends-on, configure.ac):
894         Likewise.
895         * modules/unictype/property-punctuation (Depends-on, configure.ac):
896         Likewise.
897         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
898         Likewise.
899         * modules/unictype/property-radical (Depends-on, configure.ac):
900         Likewise.
901         * modules/unictype/property-sentence-terminal (Depends-on,
902         configure.ac): Likewise.
903         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
904         Likewise.
905         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
906         * modules/unictype/property-terminal-punctuation (Depends-on,
907         configure.ac): Likewise.
908         * modules/unictype/property-titlecase (Depends-on, configure.ac):
909         Likewise.
910         * modules/unictype/property-unassigned-code-value (Depends-on,
911         configure.ac): Likewise.
912         * modules/unictype/property-unified-ideograph (Depends-on,
913         configure.ac): Likewise.
914         * modules/unictype/property-uppercase (Depends-on, configure.ac):
915         Likewise.
916         * modules/unictype/property-variation-selector (Depends-on,
917         configure.ac): Likewise.
918         * modules/unictype/property-white-space (Depends-on, configure.ac):
919         Likewise.
920         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
921         Likewise.
922         * modules/unictype/property-xid-start (Depends-on, configure.ac):
923         Likewise.
924         * modules/unictype/property-zero-width (Depends-on, configure.ac):
925         Likewise.
926         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
927         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
928         Likewise.
929
930 2009-12-31  Bruno Haible  <bruno@clisp.org>
931
932         Remove unnecessary AC_C_INLINE invocation.
933         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
934         since 2009-08-21.
935
936 2009-12-31  Jim Meyering  <meyering@redhat.com>
937
938         maint.mk: don't require explicit gpg_key_ID in cfg.mk
939         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
940         With this change, we can all remove the gpg_key_ID = ... definition
941         from our respective cfg.mk files.
942
943         maint.mk: create announcement template in ~/, not in /tmp
944         * top/maint.mk (emit_upload_commands): Adjust.
945         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
946         Remove temporary file, .ci-msg.
947
948 2009-12-31  Eric Blake  <ebb9@byu.net>
949
950         link-warning: always build headers with link warnings
951         * modules/arpa_inet (Makefile.am): Always build replacement
952         header.
953         * modules/ctype (Makefile.am): Likewise.
954         * modules/dirent (Makefile.am): Likewise.
955         * modules/inttypes (Makefile.am): Likewise.
956         * modules/langinfo (Makefile.am): Likewise.
957         * modules/locale (Makefile.am): Likewise.
958         * modules/spawn (Makefile.am): Likewise.
959         * modules/sys_file (Makefile.am): Likewise.
960         * modules/sys_ioctl (Makefile.am): Likewise.
961         * modules/sys_select (Makefile.am): Likewise.
962         * modules/sys_socket (Makefile.am): Likewise.
963         * modules/sys_times (Makefile.am): Likewise.
964         * modules/sys_utsname (Makefile.am): Likewise.
965         * modules/sys_wait (Makefile.am): Likewise.
966         * modules/wchar (Makefile.am): Likewise.
967         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
968         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
969         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
970         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
971         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
972         Likewise.
973         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
974         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
975         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
976         Likewise.
977         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
978         Likewise.
979         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
980         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
981         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
982         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
983         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
984         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
985         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
986         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
987         (gl_WCHAR_H_DEFAULTS): Likewise.
988
989 2009-12-31  Eric Blake  <ebb9@byu.net>
990
991         signal, spawn: use link warnings
992         * lib/signal.in.h (sigset_t): Make unconditional.
993         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
994         (sigpending, sigprocmask, sigaction): Add link warnings.
995         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
996         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
997         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
998         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
999         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
1000         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
1001         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
1002         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
1003         (posix_spawn_file_actions_destroy)
1004         (posix_spawn_file_actions_addopen)
1005         (posix_spawn_file_actions_addclose)
1006         (posix_spawwn_file_actions_adddup2): Likewise.
1007         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
1008         * tests/test-signal.c (main): Enhance test.
1009
1010         spawn: improve wrapper support
1011         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
1012         (gl_SPAWN_H_DEFAULTS): New defaults.
1013         * modules/spawn (Makefile.am): Substitute them.
1014         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
1015         Only declare if missing or broken.
1016
1017         sys_times, sys_utsname: use include_next
1018         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
1019         header.
1020         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
1021         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
1022         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
1023         * modules/sys_times (Depends-on): Add include_next.
1024         (Makefile.am): Substitute additional values.
1025         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
1026         * lib/sys_times.in.h (includes): Include native header, if
1027         available.
1028         * lib/sys_utsname.in.h (includes): Likewise.
1029         * tests/test-sys_times.c (main): Enhance test.
1030
1031         fdutimensat: revert prior patch
1032         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
1033         utimens.h.
1034         Reported by Bruno Haible.
1035
1036 2009-12-30  Eric Blake  <ebb9@byu.net>
1037
1038         sys_wait: drop link-warning dependency
1039         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
1040         link-warning efforts.
1041         * lib/sys_wait.in.h: Likewise.
1042
1043         fdutimensat: remove bogus dependency
1044         * modules/fdutimensat (Depends-on): Drop inline.
1045
1046         unistd: fix typo
1047         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
1048
1049 2009-12-30  Bruno Haible  <bruno@clisp.org>
1050
1051         Fix compilation error with Solaris cc.
1052         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
1053         * lib/unicase/u16-is-invariant.c: Likewise.
1054         * lib/unicase/u32-is-invariant.c: Likewise.
1055         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
1056
1057 2009-12-30  Bruno Haible  <bruno@clisp.org>
1058
1059         Fix test crash.
1060         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
1061         locales.
1062         Reported by Simon Josefsson <simon@josefsson.org>.
1063
1064 2009-12-30  Bruno Haible  <bruno@clisp.org>
1065
1066         Fix compilation error on most platforms.
1067         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
1068         Reported by Simon Josefsson <simon@josefsson.org>
1069         and Nelson H. F. Beebe <beebe@math.utah.edu>.
1070
1071 2009-12-30  Eric Blake  <ebb9@byu.net>
1072
1073         futimens, utimensat: work around ntfs-3g bug
1074         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
1075         a ctime bug is present, and expand workaround to cover ntfs-3g.
1076         * lib/utimens.c (fdutimens, lutimens): Likewise.
1077         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
1078         (validate_timespec): Adjust return value.
1079         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
1080         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
1081         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
1082
1083 2009-12-29  Eric Blake  <ebb9@byu.net>
1084
1085         link-warning: make usage consistent
1086         * modules/ctype (Depends-on): Add link-warning.
1087         (Makefile.am): Update rules accordingly.
1088         * modules/langinfo (Depends-on, Makefile.am): Likewise.
1089         * modules/locale (Depends-on, Makefile.am): Likewise.
1090         * modules/sys_file (Makefile.am): Likewise.
1091         * modules/getopt-posix (Makefile.am): Delete unused link warning
1092         efforts.
1093         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
1094         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
1095         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
1096         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
1097
1098         stdio: remove unused variables
1099         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
1100         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
1101         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
1102
1103         tests: test more substitute headers
1104         * modules/ctype-tests: New file.
1105         * modules/dirent-tests: Likewise.
1106         * modules/spawn-tests: Likewise.
1107         * modules/sys_file-tests: Likewise.
1108         * modules/sys_ioctl-tests: Likewise.
1109         * modules/sys_wait-tests: Likewise.
1110         * tests/test-ctype.c: Likewise.
1111         * tests/test-dirent.c: Likewise.
1112         * tests/test-spawn.c: Likewise.
1113         * tests/test-sys_file.c: Likewise.
1114         * tests/test-sys_ioctl.c: Likewise.
1115         * tests/test-sys_wait.c: Likewise.
1116         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
1117         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
1118         whether or not flock is in use.
1119
1120         tests: remove License section from module
1121         * modules/arpa_inet-tests: Remove unneeded section.
1122         * modules/byteswap-tests: Likewise.
1123         * modules/ceilf-tests: Likewise.
1124         * modules/ceill-tests: Likewise.
1125         * modules/crypto/des-tests: Likewise.
1126         * modules/crypto/gc-arcfour-tests: Likewise.
1127         * modules/crypto/gc-arctwo-tests: Likewise.
1128         * modules/crypto/gc-des-tests: Likewise.
1129         * modules/crypto/gc-hmac-md5-tests: Likewise.
1130         * modules/crypto/gc-hmac-sha1-tests: Likewise.
1131         * modules/crypto/gc-md2-tests: Likewise.
1132         * modules/crypto/gc-md4-tests: Likewise.
1133         * modules/crypto/gc-md5-tests: Likewise.
1134         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
1135         * modules/crypto/gc-rijndael-tests: Likewise.
1136         * modules/crypto/gc-sha1-tests: Likewise.
1137         * modules/crypto/gc-tests: Likewise.
1138         * modules/crypto/md2-tests: Likewise.
1139         * modules/crypto/md4-tests: Likewise.
1140         * modules/fcntl-h-tests: Likewise.
1141         * modules/floorf-tests: Likewise.
1142         * modules/floorl-tests: Likewise.
1143         * modules/frexp-nolibm-tests: Likewise.
1144         * modules/frexp-tests: Likewise.
1145         * modules/frexpl-nolibm-tests: Likewise.
1146         * modules/frexpl-tests: Likewise.
1147         * modules/getaddrinfo-tests: Likewise.
1148         * modules/inttypes-tests: Likewise.
1149         * modules/isfinite-tests: Likewise.
1150         * modules/isinf-tests: Likewise.
1151         * modules/ldexpl-tests: Likewise.
1152         * modules/locale-tests: Likewise.
1153         * modules/math-tests: Likewise.
1154         * modules/netdb-tests: Likewise.
1155         * modules/netinet_in-tests: Likewise.
1156         * modules/printf-frexp-tests: Likewise.
1157         * modules/printf-frexpl-tests: Likewise.
1158         * modules/priv-set-tests: Likewise.
1159         * modules/random_r-tests: Likewise.
1160         * modules/round-tests: Likewise.
1161         * modules/roundf-tests: Likewise.
1162         * modules/roundl-tests: Likewise.
1163         * modules/search-tests: Likewise.
1164         * modules/select-tests: Likewise.
1165         * modules/signal-tests: Likewise.
1166         * modules/stdbool-tests: Likewise.
1167         * modules/stddef-tests: Likewise.
1168         * modules/stdint-tests: Likewise.
1169         * modules/stdio-tests: Likewise.
1170         * modules/stdlib-tests: Likewise.
1171         * modules/string-tests: Likewise.
1172         * modules/strings-tests: Likewise.
1173         * modules/sys_select-tests: Likewise.
1174         * modules/sys_socket-tests: Likewise.
1175         * modules/sys_stat-tests: Likewise.
1176         * modules/sys_time-tests: Likewise.
1177         * modules/sys_utsname-tests: Likewise.
1178         * modules/sysexits-tests: Likewise.
1179         * modules/time-tests: Likewise.
1180         * modules/trunc-tests: Likewise.
1181         * modules/truncf-tests: Likewise.
1182         * modules/truncl-tests: Likewise.
1183         * modules/tsearch-tests: Likewise.
1184         * modules/unistd-tests: Likewise.
1185         * modules/wchar-tests: Likewise.
1186         * modules/wctype-tests: Likewise.
1187
1188         tests: fix license on several tests
1189         * tests/test-des.c: Update to GPLv3+.
1190         * tests/test-flock.c: Likewise.
1191         * tests/test-fsync.c: Likewise.
1192         * tests/test-futimens.h: Likewise.
1193         * tests/test-gc-arcfour.c: Likewise.
1194         * tests/test-gc-arctwo.c: Likewise.
1195         * tests/test-gc-des.c: Likewise.
1196         * tests/test-gc-hmac-md5.c: Likewise.
1197         * tests/test-gc-hmac-sha1.c: Likewise.
1198         * tests/test-gc-md2.c: Likewise.
1199         * tests/test-gc-md4.c: Likewise.
1200         * tests/test-gc-md5.c: Likewise.
1201         * tests/test-gc-pbkdf2-sha1.c: Likewise.
1202         * tests/test-gc-rijndael.c: Likewise.
1203         * tests/test-gc-sha1.c: Likewise.
1204         * tests/test-gc.c: Likewise.
1205         * tests/test-getcwd.c: Likewise.
1206         * tests/test-link.c: Likewise.
1207         * tests/test-link.h: Likewise.
1208         * tests/test-lutimens.h: Likewise.
1209         * tests/test-md2.c: Likewise.
1210         * tests/test-md4.c: Likewise.
1211         * tests/test-mkdir.h: Likewise.
1212         * tests/test-rename.c: Likewise.
1213         * tests/test-rename.h: Likewise.
1214         * tests/test-safe-alloc.c: Likewise.
1215         * tests/test-utimens-common.h: Likewise.
1216         * tests/test-utimens.h: Likewise.
1217
1218         maint: sync license texts
1219         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
1220         * doc/gpl-3.0.texi: Revert copyright year update.
1221         * doc/lgpl-3.0.texi: Likewise.
1222
1223 2009-12-29  Jim Meyering  <meyering@redhat.com>
1224
1225         update nearly all FSF copyright year lists to include 2009
1226         The files named by the following are exempted:
1227             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
1228               test -f "$dst" && { echo "$dst"; continue; }
1229               test -d "$dst" || continue
1230               echo "$dst"/$(basename "$src")
1231             done > exempt
1232             git ls-files tests/unictype >> exempt
1233         In the remaining files, convert to all-interval notation if
1234         - there is already at least one year interval like 2000-2003
1235         - the file is maintained by me
1236         - the file is in lib/uni*/, where that style already prevails
1237         Otherwise, use update-copyright's default.
1238
1239 2009-12-29  Simon Josefsson  <simon@josefsson.org>
1240         and Eric Blake  <ebb9@byu.net>
1241
1242         tests: don't require debug system() to pass
1243         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
1244         * tests/test-rmdir.h (test_rmdir_func): Likewise.
1245         * tests/test-unlink.h (test_unlink_func): Likewise.
1246         * tests/test-fstatat.c (main): ...into callers.
1247         * tests/test-lstat.c (main): Likewise.
1248         * tests/test-rmdir.c (main): Likewise.
1249         * tests/test-unlink.c (main): Likewise.
1250         * tests/test-unlinkat.c (main): Likewise.
1251         * tests/test-areadlink-with-size.c (main): Don't require a
1252         debug-only system call to pass, aiding cross-testing to mingw.
1253         * tests/test-areadlink.c (main): Likewise.
1254         * tests/test-areadlinkat-with-size.c (main): Likewise.
1255         * tests/test-areadlinkat.c (main): Likewise.
1256         * tests/test-canonicalize-lgpl.c (main): Likewise.
1257         * tests/test-canonicalize.c (main): Likewise.
1258         * tests/test-chown.c (main): Likewise.
1259         * tests/test-fchownat.c (main): Likewise.
1260         * tests/test-lchown.c (main): Likewise.
1261         * tests/test-fdutimensat.c (main): Likewise.
1262         * tests/test-futimens.c (main): Likewise.
1263         * tests/test-link.c (main): Likewise.
1264         * tests/test-linkat.c (main): Likewise.
1265         * tests/test-mkdir.c (main): Likewise.
1266         * tests/test-mkdirat.c (main): Likewise.
1267         * tests/test-mkfifo.c (main): Likewise.
1268         * tests/test-mkfifoat.c (main): Likewise.
1269         * tests/test-mknod.c (main): Likewise.
1270         * tests/test-readlink.c (main): Likewise.
1271         * tests/test-remove.c (main): Likewise.
1272         * tests/test-rename.c (main): Likewise.
1273         * tests/test-renameat.c (main): Likewise.
1274         * tests/test-symlink.c (main): Likewise.
1275         * tests/test-symlinkat.c (main): Likewise.
1276         * tests/test-utimens.c (main): Likewise.
1277         * tests/test-utimensat.c (main): Likewise.
1278
1279 2009-12-29  Simon Josefsson  <simon@josefsson.org>
1280
1281         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
1282         on $(UNUSED_PARAMETER_H) to avoid build failure.
1283
1284 2009-12-28  Jim Meyering  <meyering@redhat.com>
1285
1286         update-copyright: you may specify a max. line length other than 72
1287         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
1288
1289         maint: use consistent FSF copyright line syntax
1290         * lib/posixtm.c: Add missing comma in FSF copyright line.
1291         * lib/posixtm.h: Likewise.
1292         * lib/getugroups.c: Add missing ", Inc.".
1293
1294         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
1295         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
1296         FSF copyright line.  Remove trailing blanks.
1297
1298 2009-12-28  Eric Blake  <ebb9@byu.net>
1299
1300         test-dup2: reduce dependencies
1301         * modules/cloexec (Configure.ac): Set witness.
1302         * modules/dup2-tests (Depends-on): Drop cloexec.
1303         * tests/test-dup2.c (main): Skip portion of test if cloexec module
1304         not present.
1305         Suggested by Bruno Haible.
1306
1307 2009-12-26  Bruno Haible  <bruno@clisp.org>
1308
1309         Remove an unneeded dependency.
1310         * modules/fseterr (Depends-on): Remove dup2.
1311
1312 2009-12-26  Eric Blake  <ebb9@byu.net>
1313
1314         tests: use macros.h in more places
1315         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
1316         (ASSERT_STREAM): Provide default of stderr.
1317         * tests/test-dirent-safer.c: Include macros.h, using alternate
1318         stream for assertions.
1319         * tests/test-dup-safer.c: Likewise.
1320         * tests/test-freopen-safer.c: Likewise.
1321         * tests/test-getopt.c: Likewise.
1322         * tests/test-openat-safer.c: Likewise.
1323         * tests/test-pipe.c: Likewise.
1324         * tests/test-popen-safer.c: Likewise.
1325         * modules/dirent-safer-tests (Files): Include macros.h.
1326         * modules/unistd-safer-tests (Files): Likewise.
1327         * modules/freopen-safer-tests (Files): Likewise.
1328         * modules/getopt-posix-tests (Files): Likewise.
1329         * modules/openat-safer-tests (Files): Likewise.
1330         * modules/pipe-tests (Files): Likewise.
1331
1332 2009-12-26  Bruno Haible  <bruno@clisp.org>
1333
1334         javacomp: Portability fix.
1335         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
1336         that it also works on Solaris.
1337
1338 2009-12-26  Bruno Haible  <bruno@clisp.org>
1339
1340         localename: Fix storage allocation of gl_locale_name_thread's result.
1341         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
1342         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
1343         all platforms that have 'uselocale'.
1344         (gl_locale_name_thread_unsafe): New function, extracted from
1345         gl_locale_name_thread.
1346         (gl_locale_name_thread): Call struniq on all platforms that have
1347         'uselocale'.
1348         * tests/test-localename.c (test_locale_name_thread): Check that the
1349         resulting strings are permanently allocated.
1350         * modules/localename-tests (Depends-on): Add strdup.
1351
1352 2009-12-26  Bruno Haible  <bruno@clisp.org>
1353
1354         * tests/test-localename.c (categories): Fill in the strings.
1355
1356 2009-12-26  Jim Meyering  <meyering@redhat.com>
1357
1358         isdir: complete the removal of m4/isdir.m4
1359         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
1360
1361         isdir: clean up, since at least grep still uses it
1362         * lib/isdir.c: Include "isdir.h".
1363         (S_ISDIR): Remove now-unneeded definition.
1364         * modules/isdir (Files): Add lib/isdir.h.
1365         * lib/isdir.h: New file, with declaration.
1366         * m4/isdir.m4: Remove file -- unneeded.
1367
1368 2009-12-25  Bruno Haible  <bruno@clisp.org>
1369
1370         selinux-h: Make generated .h files standalone.
1371         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
1372         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
1373         * lib/se-selinux.in.h: Likewise.
1374         * modules/selinux-h (Depends-on): Add unused-parameter.
1375         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
1376         selinux/selinux.h and selinux/context.h.
1377         Suggested by Eric Blake.
1378
1379 2009-12-25  Bruno Haible  <bruno@clisp.org>
1380
1381         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
1382         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
1383         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
1384         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
1385         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
1386
1387 2009-12-24  Bruno Haible  <bruno@clisp.org>
1388
1389         openat: Fix warning.
1390         * lib/openat-proc.c: Include <unistd.h>.
1391
1392 2009-12-24  Bruno Haible  <bruno@clisp.org>
1393
1394         New module 'unused-parameter'.
1395         * build-aux/unused-parameter.h: New file, extracted from earlier
1396         gnulib-common.m4.
1397         * modules/unused-parameter: New file.
1398         * lib/unistr.h: Include unused-parameter.h.
1399         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
1400         _GL_UNUSED.
1401         * modules/unistr/base (Depends-on): Add unused-parameter.
1402
1403 2009-12-24  Bruno Haible  <bruno@clisp.org>
1404
1405         Add missing dependencies to 'extensions' module.
1406         * m4/extensions.m4: Add comment.
1407         * modules/accept4 (Depends-on): Add extensions.
1408         * modules/dup3 (Depends-on): Likewise.
1409         * modules/fcntl (Depends-on): Likewise.
1410         * modules/futimens (Depends-on): Likewise.
1411         * modules/mknod (Depends-on): Likewise.
1412         * modules/pipe2 (Depends-on): Likewise.
1413         * modules/stat-time (Depends-on): Likewise.
1414         * modules/strcasestr-simple (Depends-on): Likewise.
1415         * modules/strsignal (Depends-on): Likewise.
1416         * modules/utimensat (Depends-on): Likewise.
1417         * modules/localcharset (Depends-on): Likewise. Needed because of
1418         gl_FCNTL_O_FLAGS.
1419         * modules/wcrtomb (Depends-on): Likewise. Needed because of
1420         AC_TYPE_MBSTATE_T.
1421         * modules/wcsnrtombs (Depends-on): Likewise.
1422         * modules/wcsrtombs (Depends-on): Likewise.
1423
1424 2009-12-24  Bruno Haible  <bruno@clisp.org>
1425
1426         binary-io: Avoid gcc warning due to SET_BINARY.
1427         * lib/binary-io.h (SET_BINARY): Cast the result to void.
1428         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
1429
1430 2009-12-24  Bruno Haible  <bruno@clisp.org>
1431
1432         Avoid future namespace pollution on glibc systems.
1433         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
1434         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
1435         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
1436         glibc systems.
1437
1438 2009-12-24  Bruno Haible  <bruno@clisp.org>
1439
1440         Refactor common macros used in tests.
1441         * tests/macros.h: New file.
1442         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
1443         and/or <stdlib.h>, if appropriate.
1444         (ASSERT, SIZEOF): Remove macros.
1445         * tests/test-areadlink-with-size.c: Likewise.
1446         * tests/test-areadlinkat.c: Likewise.
1447         * tests/test-areadlinkat-with-size.c: Likewise.
1448         * tests/test-argmatch.c: Likewise.
1449         * tests/test-argv-iter.c: Likewise.
1450         * tests/test-array-mergesort.c: Likewise.
1451         * tests/test-array_list.c: Likewise.
1452         * tests/test-array_oset.c: Likewise.
1453         * tests/test-avltree_list.c: Likewise.
1454         * tests/test-avltree_oset.c: Likewise.
1455         * tests/test-avltreehash_list.c: Likewise.
1456         * tests/test-base64.c: Likewise.
1457         * tests/test-binary-io.c: Likewise.
1458         * tests/test-bitrotate.c: Likewise.
1459         * tests/test-btowc.c: Likewise.
1460         * tests/test-byteswap.c: Likewise.
1461         * tests/test-c-ctype.c: Likewise.
1462         * tests/test-c-stack.c: Likewise.
1463         * tests/test-c-strcasecmp.c: Likewise.
1464         * tests/test-c-strcasestr.c: Likewise.
1465         * tests/test-c-strncasecmp.c: Likewise.
1466         * tests/test-c-strstr.c: Likewise.
1467         * tests/test-canonicalize-lgpl.c: Likewise.
1468         * tests/test-canonicalize.c: Likewise.
1469         * tests/test-carray_list.c: Likewise.
1470         * tests/test-ceilf1.c: Likewise.
1471         * tests/test-ceilf2.c: Likewise.
1472         * tests/test-ceill.c: Likewise.
1473         * tests/test-chown.c: Likewise.
1474         * tests/test-cloexec.c: Likewise.
1475         * tests/test-copy-acl.c: Likewise.
1476         * tests/test-copy-file.c: Likewise.
1477         * tests/test-count-one-bits.c: Likewise.
1478         * tests/test-dprintf-posix.c: Likewise.
1479         * tests/test-dup2.c: Likewise.
1480         * tests/test-dup3.c: Likewise.
1481         * tests/test-duplocale.c: Likewise.
1482         * tests/test-fbufmode.c: Likewise.
1483         * tests/test-fchdir.c: Likewise.
1484         * tests/test-fchownat.c: Likewise.
1485         * tests/test-fcntl-safer.c: Likewise.
1486         * tests/test-fcntl.c: Likewise.
1487         * tests/test-fdopendir.c: Likewise.
1488         * tests/test-fdutimensat.c: Likewise.
1489         * tests/test-fflush2.c: Likewise.
1490         * tests/test-file-has-acl.c: Likewise.
1491         * tests/test-filevercmp.c: Likewise.
1492         * tests/test-flock.c: Likewise.
1493         * tests/test-floorf1.c: Likewise.
1494         * tests/test-floorf2.c: Likewise.
1495         * tests/test-floorl.c: Likewise.
1496         * tests/test-fnmatch.c: Likewise.
1497         * tests/test-fopen.h: Likewise.
1498         * tests/test-fpending.c: Likewise.
1499         * tests/test-fprintf-posix.c: Likewise.
1500         * tests/test-fpurge.c: Likewise.
1501         * tests/test-freadable.c: Likewise.
1502         * tests/test-freadahead.c: Likewise.
1503         * tests/test-freading.c: Likewise.
1504         * tests/test-freadptr.c: Likewise.
1505         * tests/test-freadptr2.c: Likewise.
1506         * tests/test-freadseek.c: Likewise.
1507         * tests/test-freopen.c: Likewise.
1508         * tests/test-frexp.c: Likewise.
1509         * tests/test-frexpl.c: Likewise.
1510         * tests/test-fseek.c: Likewise.
1511         * tests/test-fseeko.c: Likewise.
1512         * tests/test-fstatat.c: Likewise.
1513         * tests/test-fstrcmp.c: Likewise.
1514         * tests/test-fsync.c: Likewise.
1515         * tests/test-ftell.c: Likewise.
1516         * tests/test-ftello.c: Likewise.
1517         * tests/test-func.c: Likewise.
1518         * tests/test-futimens.c: Likewise.
1519         * tests/test-fwritable.c: Likewise.
1520         * tests/test-fwriting.c: Likewise.
1521         * tests/test-getcwd.c: Likewise.
1522         * tests/test-getdate.c: Likewise.
1523         * tests/test-getdelim.c: Likewise.
1524         * tests/test-getdtablesize.c: Likewise.
1525         * tests/test-getgroups.c: Likewise.
1526         * tests/test-getline.c: Likewise.
1527         * tests/test-getndelim2.c: Likewise.
1528         * tests/test-glob.c: Likewise.
1529         * tests/test-hash.c: Likewise.
1530         * tests/test-i-ring.c: Likewise.
1531         * tests/test-iconv-utf.c: Likewise.
1532         * tests/test-iconv.c: Likewise.
1533         * tests/test-idpriv-drop.c: Likewise.
1534         * tests/test-idpriv-droptemp.c: Likewise.
1535         * tests/test-inet_ntop.c: Likewise.
1536         * tests/test-inet_pton.c: Likewise.
1537         * tests/test-isblank.c: Likewise.
1538         * tests/test-isfinite.c: Likewise.
1539         * tests/test-isinf.c: Likewise.
1540         * tests/test-isnan.c: Likewise.
1541         * tests/test-isnand.h: Likewise.
1542         * tests/test-isnanf.h: Likewise.
1543         * tests/test-isnanl.h: Likewise.
1544         * tests/test-lchown.c: Likewise.
1545         * tests/test-ldexpl.c: Likewise.
1546         * tests/test-link.c: Likewise.
1547         * tests/test-linkat.c: Likewise.
1548         * tests/test-linked_list.c: Likewise.
1549         * tests/test-linkedhash_list.c: Likewise.
1550         * tests/test-localename.c: Likewise.
1551         * tests/test-lseek.c: Likewise.
1552         * tests/test-lstat.c: Likewise.
1553         * tests/test-mbmemcasecmp.c: Likewise.
1554         * tests/test-mbmemcasecoll.c: Likewise.
1555         * tests/test-mbrtowc.c: Likewise.
1556         * tests/test-mbscasecmp.c: Likewise.
1557         * tests/test-mbscasestr1.c: Likewise.
1558         * tests/test-mbscasestr2.c: Likewise.
1559         * tests/test-mbscasestr3.c: Likewise.
1560         * tests/test-mbscasestr4.c: Likewise.
1561         * tests/test-mbschr.c: Likewise.
1562         * tests/test-mbscspn.c: Likewise.
1563         * tests/test-mbsinit.c: Likewise.
1564         * tests/test-mbsncasecmp.c: Likewise.
1565         * tests/test-mbsnrtowcs.c: Likewise.
1566         * tests/test-mbspbrk.c: Likewise.
1567         * tests/test-mbspcasecmp.c: Likewise.
1568         * tests/test-mbsrchr.c: Likewise.
1569         * tests/test-mbsrtowcs.c: Likewise.
1570         * tests/test-mbsspn.c: Likewise.
1571         * tests/test-mbsstr1.c: Likewise.
1572         * tests/test-mbsstr2.c: Likewise.
1573         * tests/test-mbsstr3.c: Likewise.
1574         * tests/test-memchr.c: Likewise.
1575         * tests/test-memchr2.c: Likewise.
1576         * tests/test-memcmp.c: Likewise.
1577         * tests/test-memmem.c: Likewise.
1578         * tests/test-memrchr.c: Likewise.
1579         * tests/test-mkdir.c: Likewise.
1580         * tests/test-mkdirat.c: Likewise.
1581         * tests/test-mkfifo.c: Likewise.
1582         * tests/test-mkfifoat.c: Likewise.
1583         * tests/test-mknod.c: Likewise.
1584         * tests/test-nanosleep.c: Likewise.
1585         * tests/test-nl_langinfo.c: Likewise.
1586         * tests/test-obstack-printf.c: Likewise.
1587         * tests/test-open.c: Likewise.
1588         * tests/test-openat.c: Likewise.
1589         * tests/test-pipe-filter-gi1.c: Likewise.
1590         * tests/test-pipe-filter-gi2-main.c: Likewise.
1591         * tests/test-pipe-filter-ii1.c: Likewise.
1592         * tests/test-pipe-filter-ii2-main.c: Likewise.
1593         * tests/test-pipe2.c: Likewise.
1594         * tests/test-popen.h: Likewise.
1595         * tests/test-posixtm.c: Likewise.
1596         * tests/test-pread.c: Likewise.
1597         * tests/test-printf-frexp.c: Likewise.
1598         * tests/test-printf-frexpl.c: Likewise.
1599         * tests/test-printf-posix.c: Likewise.
1600         * tests/test-priv-set.c: Likewise.
1601         * tests/test-quotearg.c: Likewise.
1602         * tests/test-random_r.c: Likewise.
1603         * tests/test-rawmemchr.c: Likewise.
1604         * tests/test-rbtree_list.c: Likewise.
1605         * tests/test-rbtree_oset.c: Likewise.
1606         * tests/test-rbtreehash_list.c: Likewise.
1607         * tests/test-readlink.c: Likewise.
1608         * tests/test-remove.c: Likewise.
1609         * tests/test-rename.c: Likewise.
1610         * tests/test-renameat.c: Likewise.
1611         * tests/test-rmdir.c: Likewise.
1612         * tests/test-round1.c: Likewise.
1613         * tests/test-roundf1.c: Likewise.
1614         * tests/test-roundl.c: Likewise.
1615         * tests/test-safe-alloc.c: Likewise.
1616         * tests/test-sameacls.c: Likewise.
1617         * tests/test-set-mode-acl.c: Likewise.
1618         * tests/test-setenv.c: Likewise.
1619         * tests/test-sigaction.c: Likewise.
1620         * tests/test-signbit.c: Likewise.
1621         * tests/test-sleep.c: Likewise.
1622         * tests/test-snprintf-posix.c: Likewise.
1623         * tests/test-snprintf.c: Likewise.
1624         * tests/test-sprintf-posix.c: Likewise.
1625         * tests/test-stat-time.c: Likewise.
1626         * tests/test-stat.c: Likewise.
1627         * tests/test-strcasestr.c: Likewise.
1628         * tests/test-strchrnul.c: Likewise.
1629         * tests/test-strerror.c: Likewise.
1630         * tests/test-striconv.c: Likewise.
1631         * tests/test-striconveh.c: Likewise.
1632         * tests/test-striconveha.c: Likewise.
1633         * tests/test-strsignal.c: Likewise.
1634         * tests/test-strstr.c: Likewise.
1635         * tests/test-strtod.c: Likewise.
1636         * tests/test-strverscmp.c: Likewise.
1637         * tests/test-symlink.c: Likewise.
1638         * tests/test-symlinkat.c: Likewise.
1639         * tests/test-trunc1.c: Likewise.
1640         * tests/test-trunc2.c: Likewise.
1641         * tests/test-truncf1.c: Likewise.
1642         * tests/test-truncf2.c: Likewise.
1643         * tests/test-truncl.c: Likewise.
1644         * tests/test-uname.c: Likewise.
1645         * tests/test-unlink.c: Likewise.
1646         * tests/test-unlinkat.c: Likewise.
1647         * tests/test-unsetenv.c: Likewise.
1648         * tests/test-usleep.c: Likewise.
1649         * tests/test-utimens.c: Likewise.
1650         * tests/test-utimensat.c: Likewise.
1651         * tests/test-vasnprintf-posix.c: Likewise.
1652         * tests/test-vasnprintf-posix2.c: Likewise.
1653         * tests/test-vasnprintf.c: Likewise.
1654         * tests/test-vasprintf-posix.c: Likewise.
1655         * tests/test-vasprintf.c: Likewise.
1656         * tests/test-vdprintf-posix.c: Likewise.
1657         * tests/test-vfprintf-posix.c: Likewise.
1658         * tests/test-vprintf-posix.c: Likewise.
1659         * tests/test-vsnprintf-posix.c: Likewise.
1660         * tests/test-vsnprintf.c: Likewise.
1661         * tests/test-vsprintf-posix.c: Likewise.
1662         * tests/test-wcrtomb.c: Likewise.
1663         * tests/test-wcsnrtombs.c: Likewise.
1664         * tests/test-wcsrtombs.c: Likewise.
1665         * tests/test-wctype.c: Likewise.
1666         * tests/test-wcwidth.c: Likewise.
1667         * tests/test-xfprintf-posix.c: Likewise.
1668         * tests/test-xmemdup0.c: Likewise.
1669         * tests/test-xprintf-posix.c: Likewise.
1670         * tests/test-xvasprintf.c: Likewise.
1671         * tests/unicase/test-locale-language.c: Likewise.
1672         * tests/unicase/test-mapping-part1.h: Likewise.
1673         * tests/unicase/test-predicate-part1.h: Likewise.
1674         * tests/unicase/test-u8-casecmp.c: Likewise.
1675         * tests/unicase/test-u8-casecoll.c: Likewise.
1676         * tests/unicase/test-u8-casefold.c: Likewise.
1677         * tests/unicase/test-u8-is-cased.c: Likewise.
1678         * tests/unicase/test-u8-is-casefolded.c: Likewise.
1679         * tests/unicase/test-u8-is-lowercase.c: Likewise.
1680         * tests/unicase/test-u8-is-titlecase.c: Likewise.
1681         * tests/unicase/test-u8-is-uppercase.c: Likewise.
1682         * tests/unicase/test-u8-tolower.c: Likewise.
1683         * tests/unicase/test-u8-totitle.c: Likewise.
1684         * tests/unicase/test-u8-toupper.c: Likewise.
1685         * tests/unicase/test-u16-casecmp.c: Likewise.
1686         * tests/unicase/test-u16-casecoll.c: Likewise.
1687         * tests/unicase/test-u16-casefold.c: Likewise.
1688         * tests/unicase/test-u16-is-cased.c: Likewise.
1689         * tests/unicase/test-u16-is-casefolded.c: Likewise.
1690         * tests/unicase/test-u16-is-lowercase.c: Likewise.
1691         * tests/unicase/test-u16-is-titlecase.c: Likewise.
1692         * tests/unicase/test-u16-is-uppercase.c: Likewise.
1693         * tests/unicase/test-u16-tolower.c: Likewise.
1694         * tests/unicase/test-u16-totitle.c: Likewise.
1695         * tests/unicase/test-u16-toupper.c: Likewise.
1696         * tests/unicase/test-u32-casecmp.c: Likewise.
1697         * tests/unicase/test-u32-casecoll.c: Likewise.
1698         * tests/unicase/test-u32-casefold.c: Likewise.
1699         * tests/unicase/test-u32-is-cased.c: Likewise.
1700         * tests/unicase/test-u32-is-casefolded.c: Likewise.
1701         * tests/unicase/test-u32-is-lowercase.c: Likewise.
1702         * tests/unicase/test-u32-is-titlecase.c: Likewise.
1703         * tests/unicase/test-u32-is-uppercase.c: Likewise.
1704         * tests/unicase/test-u32-tolower.c: Likewise.
1705         * tests/unicase/test-u32-totitle.c: Likewise.
1706         * tests/unicase/test-u32-toupper.c: Likewise.
1707         * tests/unicase/test-ulc-casecmp.c: Likewise.
1708         * tests/unicase/test-ulc-casecoll.c: Likewise.
1709         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
1710         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
1711         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
1712         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
1713         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
1714         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
1715         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
1716         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
1717         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
1718         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
1719         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
1720         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
1721         * tests/unictype/test-bidi_byname.c: Likewise.
1722         * tests/unictype/test-bidi_name.c: Likewise.
1723         * tests/unictype/test-bidi_of.c: Likewise.
1724         * tests/unictype/test-bidi_test.c: Likewise.
1725         * tests/unictype/test-block_list.c: Likewise.
1726         * tests/unictype/test-block_of.c: Likewise.
1727         * tests/unictype/test-block_test.c: Likewise.
1728         * tests/unictype/test-categ_and.c: Likewise.
1729         * tests/unictype/test-categ_and_not.c: Likewise.
1730         * tests/unictype/test-categ_byname.c: Likewise.
1731         * tests/unictype/test-categ_name.c: Likewise.
1732         * tests/unictype/test-categ_none.c: Likewise.
1733         * tests/unictype/test-categ_of.c: Likewise.
1734         * tests/unictype/test-categ_or.c: Likewise.
1735         * tests/unictype/test-categ_test_withtable.c: Likewise.
1736         * tests/unictype/test-combining.c: Likewise.
1737         * tests/unictype/test-decdigit.c: Likewise.
1738         * tests/unictype/test-digit.c: Likewise.
1739         * tests/unictype/test-mirror.c: Likewise.
1740         * tests/unictype/test-numeric.c: Likewise.
1741         * tests/unictype/test-pr_byname.c: Likewise.
1742         * tests/unictype/test-pr_test.c: Likewise.
1743         * tests/unictype/test-predicate-part1.h: Likewise.
1744         * tests/unictype/test-scripts.c: Likewise.
1745         * tests/unictype/test-sy_c_ident.c: Likewise.
1746         * tests/unictype/test-sy_java_ident.c: Likewise.
1747         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
1748         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
1749         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
1750         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
1751         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
1752         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
1753         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
1754         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
1755         * tests/uninorm/test-canonical-decomposition.c: Likewise.
1756         * tests/uninorm/test-compat-decomposition.c: Likewise.
1757         * tests/uninorm/test-composition.c: Likewise.
1758         * tests/uninorm/test-decomposing-form.c: Likewise.
1759         * tests/uninorm/test-decomposition.c: Likewise.
1760         * tests/uninorm/test-u8-nfc.c: Likewise.
1761         * tests/uninorm/test-u8-nfd.c: Likewise.
1762         * tests/uninorm/test-u8-nfkc.c: Likewise.
1763         * tests/uninorm/test-u8-nfkd.c: Likewise.
1764         * tests/uninorm/test-u8-normcmp.c: Likewise.
1765         * tests/uninorm/test-u8-normcoll.c: Likewise.
1766         * tests/uninorm/test-u16-nfc.c: Likewise.
1767         * tests/uninorm/test-u16-nfd.c: Likewise.
1768         * tests/uninorm/test-u16-nfkc.c: Likewise.
1769         * tests/uninorm/test-u16-nfkd.c: Likewise.
1770         * tests/uninorm/test-u16-normcmp.c: Likewise.
1771         * tests/uninorm/test-u16-normcoll.c: Likewise.
1772         * tests/uninorm/test-u32-nfc.c: Likewise.
1773         * tests/uninorm/test-u32-nfd.c: Likewise.
1774         * tests/uninorm/test-u32-nfkc.c: Likewise.
1775         * tests/uninorm/test-u32-nfkd.c: Likewise.
1776         * tests/uninorm/test-u32-normalize-big.c: Likewise.
1777         * tests/uninorm/test-u32-normcmp.c: Likewise.
1778         * tests/uninorm/test-u32-normcoll.c: Likewise.
1779         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
1780         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
1781         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
1782         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
1783         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
1784         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
1785         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
1786         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
1787         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
1788         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
1789         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
1790         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
1791         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
1792         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
1793         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
1794         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
1795         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
1796         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
1797         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
1798         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
1799         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
1800         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
1801         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
1802         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
1803         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
1804         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
1805         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
1806         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
1807         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
1808         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
1809         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
1810         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
1811         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
1812         * tests/uniwidth/test-u8-strwidth.c: Likewise.
1813         * tests/uniwidth/test-u8-width.c: Likewise.
1814         * tests/uniwidth/test-u16-strwidth.c: Likewise.
1815         * tests/uniwidth/test-u16-width.c: Likewise.
1816         * tests/uniwidth/test-u32-strwidth.c: Likewise.
1817         * tests/uniwidth/test-u32-width.c: Likewise.
1818         * tests/uniwidth/test-uc_width.c: Likewise.
1819         * tests/uniwidth/test-uc_width2.c: Likewise.
1820         * modules/acl-tests (Files): Add tests/macros.h.
1821         * modules/areadlink-tests (Files): Likewise.
1822         * modules/areadlink-with-size-tests (Files): Likewise.
1823         * modules/areadlinkat-tests (Files): Likewise.
1824         * modules/areadlinkat-with-size-tests (Files): Likewise.
1825         * modules/argmatch-tests (Files): Likewise.
1826         * modules/argv-iter-tests (Files): Likewise.
1827         * modules/array-list-tests (Files): Likewise.
1828         * modules/array-mergesort-tests (Files): Likewise.
1829         * modules/array-oset-tests (Files): Likewise.
1830         * modules/avltree-list-tests (Files): Likewise.
1831         * modules/avltree-oset-tests (Files): Likewise.
1832         * modules/avltreehash-list-tests (Files): Likewise.
1833         * modules/base64-tests (Files): Likewise.
1834         * modules/binary-io-tests (Files): Likewise.
1835         * modules/bitrotate-tests (Files): Likewise.
1836         * modules/btowc-tests (Files): Likewise.
1837         * modules/byteswap-tests (Files): Likewise.
1838         * modules/c-ctype-tests (Files): Likewise.
1839         * modules/c-stack-tests (Files): Likewise.
1840         * modules/c-strcase-tests (Files): Likewise.
1841         * modules/c-strcasestr-tests (Files): Likewise.
1842         * modules/c-strstr-tests (Files): Likewise.
1843         * modules/canonicalize-lgpl-tests (Files): Likewise.
1844         * modules/canonicalize-tests (Files): Likewise.
1845         * modules/carray-list-tests (Files): Likewise.
1846         * modules/ceilf-tests (Files): Likewise.
1847         * modules/ceill-tests (Files): Likewise.
1848         * modules/chown-tests (Files): Likewise.
1849         * modules/cloexec-tests (Files): Likewise.
1850         * modules/copy-file-tests (Files): Likewise.
1851         * modules/count-one-bits-tests (Files): Likewise.
1852         * modules/dprintf-posix-tests (Files): Likewise.
1853         * modules/dup2-tests (Files): Likewise.
1854         * modules/dup3-tests (Files): Likewise.
1855         * modules/duplocale-tests (Files): Likewise.
1856         * modules/fbufmode-tests (Files): Likewise.
1857         * modules/fchdir-tests (Files): Likewise.
1858         * modules/fcntl-safer-tests (Files): Likewise.
1859         * modules/fcntl-tests (Files): Likewise.
1860         * modules/fdopendir-tests (Files): Likewise.
1861         * modules/fdutimensat-tests (Files): Likewise.
1862         * modules/fflush-tests (Files): Likewise.
1863         * modules/filevercmp-tests (Files): Likewise.
1864         * modules/flock-tests (Files): Likewise.
1865         * modules/floorf-tests (Files): Likewise.
1866         * modules/floorl-tests (Files): Likewise.
1867         * modules/fnmatch-tests (Files): Likewise.
1868         * modules/fopen-safer-tests (Files): Likewise.
1869         * modules/fopen-tests (Files): Likewise.
1870         * modules/fpending-tests (Files): Likewise.
1871         * modules/fprintf-posix-tests (Files): Likewise.
1872         * modules/fpurge-tests (Files): Likewise.
1873         * modules/freadable-tests (Files): Likewise.
1874         * modules/freadahead-tests (Files): Likewise.
1875         * modules/freading-tests (Files): Likewise.
1876         * modules/freadptr-tests (Files): Likewise.
1877         * modules/freadseek-tests (Files): Likewise.
1878         * modules/freopen-tests (Files): Likewise.
1879         * modules/frexp-nolibm-tests (Files): Likewise.
1880         * modules/frexp-tests (Files): Likewise.
1881         * modules/frexpl-nolibm-tests (Files): Likewise.
1882         * modules/frexpl-tests (Files): Likewise.
1883         * modules/fseek-tests (Files): Likewise.
1884         * modules/fseeko-tests (Files): Likewise.
1885         * modules/fstrcmp-tests (Files): Likewise.
1886         * modules/fsync-tests (Files): Likewise.
1887         * modules/ftell-tests (Files): Likewise.
1888         * modules/ftello-tests (Files): Likewise.
1889         * modules/func-tests (Files): Likewise.
1890         * modules/futimens-tests (Files): Likewise.
1891         * modules/fwritable-tests (Files): Likewise.
1892         * modules/fwriting-tests (Files): Likewise.
1893         * modules/getcwd-tests (Files): Likewise.
1894         * modules/getdate-tests (Files): Likewise.
1895         * modules/getdelim-tests (Files): Likewise.
1896         * modules/getdtablesize-tests (Files): Likewise.
1897         * modules/getgroups-tests (Files): Likewise.
1898         * modules/getline-tests (Files): Likewise.
1899         * modules/getndelim2-tests (Files): Likewise.
1900         * modules/glob-tests (Files): Likewise.
1901         * modules/hash-tests (Files): Likewise.
1902         * modules/i-ring-tests (Files): Likewise.
1903         * modules/iconv-tests (Files): Likewise.
1904         * modules/iconv_open-utf-tests (Files): Likewise.
1905         * modules/idpriv-drop-tests (Files): Likewise.
1906         * modules/idpriv-droptemp-tests (Files): Likewise.
1907         * modules/inet_ntop-tests (Files): Likewise.
1908         * modules/inet_pton-tests (Files): Likewise.
1909         * modules/isblank-tests (Files): Likewise.
1910         * modules/isfinite-tests (Files): Likewise.
1911         * modules/isinf-tests (Files): Likewise.
1912         * modules/isnan-tests (Files): Likewise.
1913         * modules/isnand-nolibm-tests (Files): Likewise.
1914         * modules/isnand-tests (Files): Likewise.
1915         * modules/isnanf-nolibm-tests (Files): Likewise.
1916         * modules/isnanf-tests (Files): Likewise.
1917         * modules/isnanl-nolibm-tests (Files): Likewise.
1918         * modules/isnanl-tests (Files): Likewise.
1919         * modules/lchown-tests (Files): Likewise.
1920         * modules/ldexpl-tests (Files): Likewise.
1921         * modules/link-tests (Files): Likewise.
1922         * modules/linkat-tests (Files): Likewise.
1923         * modules/linked-list-tests (Files): Likewise.
1924         * modules/linkedhash-list-tests (Files): Likewise.
1925         * modules/localename-tests (Files): Likewise.
1926         * modules/lseek-tests (Files): Likewise.
1927         * modules/lstat-tests (Files): Likewise.
1928         * modules/mbmemcasecmp-tests (Files): Likewise.
1929         * modules/mbmemcasecoll-tests (Files): Likewise.
1930         * modules/mbrtowc-tests (Files): Likewise.
1931         * modules/mbscasecmp-tests (Files): Likewise.
1932         * modules/mbscasestr-tests (Files): Likewise.
1933         * modules/mbschr-tests (Files): Likewise.
1934         * modules/mbscspn-tests (Files): Likewise.
1935         * modules/mbsinit-tests (Files): Likewise.
1936         * modules/mbsncasecmp-tests (Files): Likewise.
1937         * modules/mbsnrtowcs-tests (Files): Likewise.
1938         * modules/mbspbrk-tests (Files): Likewise.
1939         * modules/mbspcasecmp-tests (Files): Likewise.
1940         * modules/mbsrchr-tests (Files): Likewise.
1941         * modules/mbsrtowcs-tests (Files): Likewise.
1942         * modules/mbsspn-tests (Files): Likewise.
1943         * modules/mbsstr-tests (Files): Likewise.
1944         * modules/memchr-tests (Files): Likewise.
1945         * modules/memchr2-tests (Files): Likewise.
1946         * modules/memcmp-tests (Files): Likewise.
1947         * modules/memmem-tests (Files): Likewise.
1948         * modules/memrchr-tests (Files): Likewise.
1949         * modules/mkdir-tests (Files): Likewise.
1950         * modules/mkfifo-tests (Files): Likewise.
1951         * modules/mkfifoat-tests (Files): Likewise.
1952         * modules/mknod-tests (Files): Likewise.
1953         * modules/nanosleep-tests (Files): Likewise.
1954         * modules/nl_langinfo-tests (Files): Likewise.
1955         * modules/obstack-printf-tests (Files): Likewise.
1956         * modules/open-tests (Files): Likewise.
1957         * modules/openat-tests (Files): Likewise.
1958         * modules/pipe-filter-gi-tests (Files): Likewise.
1959         * modules/pipe-filter-ii-tests (Files): Likewise.
1960         * modules/pipe2-tests (Files): Likewise.
1961         * modules/popen-safer-tests (Files): Likewise.
1962         * modules/popen-tests (Files): Likewise.
1963         * modules/posixtm-tests (Files): Likewise.
1964         * modules/pread-tests (Files): Likewise.
1965         * modules/printf-frexp-tests (Files): Likewise.
1966         * modules/printf-frexpl-tests (Files): Likewise.
1967         * modules/printf-posix-tests (Files): Likewise.
1968         * modules/priv-set-tests (Files): Likewise.
1969         * modules/quotearg-tests (Files): Likewise.
1970         * modules/random_r-tests (Files): Likewise.
1971         * modules/rawmemchr-tests (Files): Likewise.
1972         * modules/rbtree-list-tests (Files): Likewise.
1973         * modules/rbtree-oset-tests (Files): Likewise.
1974         * modules/rbtreehash-list-tests (Files): Likewise.
1975         * modules/readlink-tests (Files): Likewise.
1976         * modules/remove-tests (Files): Likewise.
1977         * modules/rename-tests (Files): Likewise.
1978         * modules/renameat-tests (Files): Likewise.
1979         * modules/rmdir-tests (Files): Likewise.
1980         * modules/round-tests (Files): Likewise.
1981         * modules/roundf-tests (Files): Likewise.
1982         * modules/roundl-tests (Files): Likewise.
1983         * modules/safe-alloc-tests (Files): Likewise.
1984         * modules/setenv-tests (Files): Likewise.
1985         * modules/sigaction-tests (Files): Likewise.
1986         * modules/signbit-tests (Files): Likewise.
1987         * modules/sleep-tests (Files): Likewise.
1988         * modules/snprintf-posix-tests (Files): Likewise.
1989         * modules/snprintf-tests (Files): Likewise.
1990         * modules/sprintf-posix-tests (Files): Likewise.
1991         * modules/stat-tests (Files): Likewise.
1992         * modules/stat-time-tests (Files): Likewise.
1993         * modules/strcasestr-tests (Files): Likewise.
1994         * modules/strchrnul-tests (Files): Likewise.
1995         * modules/strerror-tests (Files): Likewise.
1996         * modules/striconv-tests (Files): Likewise.
1997         * modules/striconveh-tests (Files): Likewise.
1998         * modules/striconveha-tests (Files): Likewise.
1999         * modules/strsignal-tests (Files): Likewise.
2000         * modules/strstr-tests (Files): Likewise.
2001         * modules/strtod-tests (Files): Likewise.
2002         * modules/strverscmp-tests (Files): Likewise.
2003         * modules/symlink-tests (Files): Likewise.
2004         * modules/symlinkat-tests (Files): Likewise.
2005         * modules/trunc-tests (Files): Likewise.
2006         * modules/truncf-tests (Files): Likewise.
2007         * modules/truncl-tests (Files): Likewise.
2008         * modules/uname-tests (Files): Likewise.
2009         * modules/unicase/cased-tests (Files): Likewise.
2010         * modules/unicase/ignorable-tests (Files): Likewise.
2011         * modules/unicase/locale-language-tests (Files): Likewise.
2012         * modules/unicase/tolower-tests (Files): Likewise.
2013         * modules/unicase/totitle-tests (Files): Likewise.
2014         * modules/unicase/toupper-tests (Files): Likewise.
2015         * modules/unicase/u8-casecmp-tests (Files): Likewise.
2016         * modules/unicase/u8-casecoll-tests (Files): Likewise.
2017         * modules/unicase/u8-casefold-tests (Files): Likewise.
2018         * modules/unicase/u8-is-cased-tests (Files): Likewise.
2019         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
2020         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
2021         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
2022         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
2023         * modules/unicase/u8-tolower-tests (Files): Likewise.
2024         * modules/unicase/u8-totitle-tests (Files): Likewise.
2025         * modules/unicase/u8-toupper-tests (Files): Likewise.
2026         * modules/unicase/u16-casecmp-tests (Files): Likewise.
2027         * modules/unicase/u16-casecoll-tests (Files): Likewise.
2028         * modules/unicase/u16-casefold-tests (Files): Likewise.
2029         * modules/unicase/u16-is-cased-tests (Files): Likewise.
2030         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
2031         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
2032         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
2033         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
2034         * modules/unicase/u16-tolower-tests (Files): Likewise.
2035         * modules/unicase/u16-totitle-tests (Files): Likewise.
2036         * modules/unicase/u16-toupper-tests (Files): Likewise.
2037         * modules/unicase/u32-casecmp-tests (Files): Likewise.
2038         * modules/unicase/u32-casecoll-tests (Files): Likewise.
2039         * modules/unicase/u32-casefold-tests (Files): Likewise.
2040         * modules/unicase/u32-is-cased-tests (Files): Likewise.
2041         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
2042         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
2043         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
2044         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
2045         * modules/unicase/u32-tolower-tests (Files): Likewise.
2046         * modules/unicase/u32-totitle-tests (Files): Likewise.
2047         * modules/unicase/u32-toupper-tests (Files): Likewise.
2048         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
2049         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
2050         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
2051         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
2052         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
2053         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
2054         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
2055         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
2056         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
2057         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
2058         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
2059         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
2060         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
2061         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
2062         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
2063         * modules/unictype/bidicategory-name-tests (Files): Likewise.
2064         * modules/unictype/bidicategory-of-tests (Files): Likewise.
2065         * modules/unictype/bidicategory-test-tests (Files): Likewise.
2066         * modules/unictype/block-list-tests (Files): Likewise.
2067         * modules/unictype/block-of-tests (Files): Likewise.
2068         * modules/unictype/block-test-tests (Files): Likewise.
2069         * modules/unictype/category-C-tests (Files): Likewise.
2070         * modules/unictype/category-Cc-tests (Files): Likewise.
2071         * modules/unictype/category-Cf-tests (Files): Likewise.
2072         * modules/unictype/category-Cn-tests (Files): Likewise.
2073         * modules/unictype/category-Co-tests (Files): Likewise.
2074         * modules/unictype/category-Cs-tests (Files): Likewise.
2075         * modules/unictype/category-L-tests (Files): Likewise.
2076         * modules/unictype/category-Ll-tests (Files): Likewise.
2077         * modules/unictype/category-Lm-tests (Files): Likewise.
2078         * modules/unictype/category-Lo-tests (Files): Likewise.
2079         * modules/unictype/category-Lt-tests (Files): Likewise.
2080         * modules/unictype/category-Lu-tests (Files): Likewise.
2081         * modules/unictype/category-M-tests (Files): Likewise.
2082         * modules/unictype/category-Mc-tests (Files): Likewise.
2083         * modules/unictype/category-Me-tests (Files): Likewise.
2084         * modules/unictype/category-Mn-tests (Files): Likewise.
2085         * modules/unictype/category-N-tests (Files): Likewise.
2086         * modules/unictype/category-Nd-tests (Files): Likewise.
2087         * modules/unictype/category-Nl-tests (Files): Likewise.
2088         * modules/unictype/category-No-tests (Files): Likewise.
2089         * modules/unictype/category-P-tests (Files): Likewise.
2090         * modules/unictype/category-Pc-tests (Files): Likewise.
2091         * modules/unictype/category-Pd-tests (Files): Likewise.
2092         * modules/unictype/category-Pe-tests (Files): Likewise.
2093         * modules/unictype/category-Pf-tests (Files): Likewise.
2094         * modules/unictype/category-Pi-tests (Files): Likewise.
2095         * modules/unictype/category-Po-tests (Files): Likewise.
2096         * modules/unictype/category-Ps-tests (Files): Likewise.
2097         * modules/unictype/category-S-tests (Files): Likewise.
2098         * modules/unictype/category-Sc-tests (Files): Likewise.
2099         * modules/unictype/category-Sk-tests (Files): Likewise.
2100         * modules/unictype/category-Sm-tests (Files): Likewise.
2101         * modules/unictype/category-So-tests (Files): Likewise.
2102         * modules/unictype/category-Z-tests (Files): Likewise.
2103         * modules/unictype/category-Zl-tests (Files): Likewise.
2104         * modules/unictype/category-Zp-tests (Files): Likewise.
2105         * modules/unictype/category-Zs-tests (Files): Likewise.
2106         * modules/unictype/category-and-not-tests (Files): Likewise.
2107         * modules/unictype/category-and-tests (Files): Likewise.
2108         * modules/unictype/category-byname-tests (Files): Likewise.
2109         * modules/unictype/category-name-tests (Files): Likewise.
2110         * modules/unictype/category-none-tests (Files): Likewise.
2111         * modules/unictype/category-of-tests (Files): Likewise.
2112         * modules/unictype/category-or-tests (Files): Likewise.
2113         * modules/unictype/category-test-withtable-tests (Files): Likewise.
2114         * modules/unictype/combining-class-tests (Files): Likewise.
2115         * modules/unictype/ctype-alnum-tests (Files): Likewise.
2116         * modules/unictype/ctype-alpha-tests (Files): Likewise.
2117         * modules/unictype/ctype-blank-tests (Files): Likewise.
2118         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
2119         * modules/unictype/ctype-digit-tests (Files): Likewise.
2120         * modules/unictype/ctype-graph-tests (Files): Likewise.
2121         * modules/unictype/ctype-lower-tests (Files): Likewise.
2122         * modules/unictype/ctype-print-tests (Files): Likewise.
2123         * modules/unictype/ctype-punct-tests (Files): Likewise.
2124         * modules/unictype/ctype-space-tests (Files): Likewise.
2125         * modules/unictype/ctype-upper-tests (Files): Likewise.
2126         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
2127         * modules/unictype/decimal-digit-tests (Files): Likewise.
2128         * modules/unictype/digit-tests (Files): Likewise.
2129         * modules/unictype/mirror-tests (Files): Likewise.
2130         * modules/unictype/numeric-tests (Files): Likewise.
2131         * modules/unictype/property-alphabetic-tests (Files): Likewise.
2132         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
2133         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
2134         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
2135         Likewise.
2136         * modules/unictype/property-bidi-block-separator-tests (Files):
2137         Likewise.
2138         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
2139         Likewise.
2140         * modules/unictype/property-bidi-common-separator-tests (Files):
2141         Likewise.
2142         * modules/unictype/property-bidi-control-tests (Files): Likewise.
2143         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
2144         Likewise.
2145         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
2146         Likewise.
2147         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
2148         Likewise.
2149         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
2150         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
2151         Likewise.
2152         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
2153         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
2154         Likewise.
2155         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
2156         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
2157         * modules/unictype/property-bidi-segment-separator-tests (Files):
2158         Likewise.
2159         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
2160         * modules/unictype/property-byname-tests (Files): Likewise.
2161         * modules/unictype/property-combining-tests (Files): Likewise.
2162         * modules/unictype/property-composite-tests (Files): Likewise.
2163         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
2164         * modules/unictype/property-dash-tests (Files): Likewise.
2165         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
2166         * modules/unictype/property-default-ignorable-code-point-tests (Files):
2167         Likewise.
2168         * modules/unictype/property-deprecated-tests (Files): Likewise.
2169         * modules/unictype/property-diacritic-tests (Files): Likewise.
2170         * modules/unictype/property-extender-tests (Files): Likewise.
2171         * modules/unictype/property-format-control-tests (Files): Likewise.
2172         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
2173         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
2174         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
2175         * modules/unictype/property-hex-digit-tests (Files): Likewise.
2176         * modules/unictype/property-hyphen-tests (Files): Likewise.
2177         * modules/unictype/property-id-continue-tests (Files): Likewise.
2178         * modules/unictype/property-id-start-tests (Files): Likewise.
2179         * modules/unictype/property-ideographic-tests (Files): Likewise.
2180         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
2181         * modules/unictype/property-ids-trinary-operator-tests (Files):
2182         Likewise.
2183         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
2184         * modules/unictype/property-iso-control-tests (Files): Likewise.
2185         * modules/unictype/property-join-control-tests (Files): Likewise.
2186         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
2187         * modules/unictype/property-line-separator-tests (Files): Likewise.
2188         * modules/unictype/property-logical-order-exception-tests (Files):
2189         Likewise.
2190         * modules/unictype/property-lowercase-tests (Files): Likewise.
2191         * modules/unictype/property-math-tests (Files): Likewise.
2192         * modules/unictype/property-non-break-tests (Files): Likewise.
2193         * modules/unictype/property-not-a-character-tests (Files): Likewise.
2194         * modules/unictype/property-numeric-tests (Files): Likewise.
2195         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
2196         * modules/unictype/property-other-default-ignorable-code-point-tests
2197         (Files): Likewise.
2198         * modules/unictype/property-other-grapheme-extend-tests (Files):
2199         Likewise.
2200         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
2201         * modules/unictype/property-other-id-start-tests (Files): Likewise.
2202         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
2203         * modules/unictype/property-other-math-tests (Files): Likewise.
2204         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
2205         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
2206         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
2207         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
2208         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
2209         * modules/unictype/property-private-use-tests (Files): Likewise.
2210         * modules/unictype/property-punctuation-tests (Files): Likewise.
2211         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
2212         * modules/unictype/property-radical-tests (Files): Likewise.
2213         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
2214         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
2215         * modules/unictype/property-space-tests (Files): Likewise.
2216         * modules/unictype/property-terminal-punctuation-tests (Files):
2217         Likewise.
2218         * modules/unictype/property-test-tests (Files): Likewise.
2219         * modules/unictype/property-titlecase-tests (Files): Likewise.
2220         * modules/unictype/property-unassigned-code-value-tests (Files):
2221         Likewise.
2222         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
2223         * modules/unictype/property-uppercase-tests (Files): Likewise.
2224         * modules/unictype/property-variation-selector-tests (Files): Likewise.
2225         * modules/unictype/property-white-space-tests (Files): Likewise.
2226         * modules/unictype/property-xid-continue-tests (Files): Likewise.
2227         * modules/unictype/property-xid-start-tests (Files): Likewise.
2228         * modules/unictype/property-zero-width-tests (Files): Likewise.
2229         * modules/unictype/scripts-tests (Files): Likewise.
2230         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
2231         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
2232         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
2233         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
2234         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
2235         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
2236         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
2237         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
2238         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
2239         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
2240         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
2241         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
2242         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
2243         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
2244         * modules/uninorm/composition-tests (Files): Likewise.
2245         * modules/uninorm/decomposing-form-tests (Files): Likewise.
2246         * modules/uninorm/decomposition-tests (Files): Likewise.
2247         * modules/uninorm/filter-tests (Files): Likewise.
2248         * modules/uninorm/nfc-tests (Files): Likewise.
2249         * modules/uninorm/nfd-tests (Files): Likewise.
2250         * modules/uninorm/nfkc-tests (Files): Likewise.
2251         * modules/uninorm/nfkd-tests (Files): Likewise.
2252         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
2253         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
2254         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
2255         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
2256         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
2257         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
2258         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
2259         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
2260         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
2261         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
2262         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
2263         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
2264         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
2265         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
2266         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
2267         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
2268         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
2269         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
2270         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
2271         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
2272         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
2273         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
2274         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
2275         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
2276         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
2277         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
2278         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
2279         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
2280         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
2281         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
2282         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
2283         * modules/uniwidth/u8-width-tests (Files): Likewise.
2284         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
2285         * modules/uniwidth/u16-width-tests (Files): Likewise.
2286         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
2287         * modules/uniwidth/u32-width-tests (Files): Likewise.
2288         * modules/uniwidth/width-tests (Files): Likewise.
2289         * modules/unlink-tests (Files): Likewise.
2290         * modules/unsetenv-tests (Files): Likewise.
2291         * modules/usleep-tests (Files): Likewise.
2292         * modules/utimens-tests (Files): Likewise.
2293         * modules/utimensat-tests (Files): Likewise.
2294         * modules/vasnprintf-posix-tests (Files): Likewise.
2295         * modules/vasnprintf-tests (Files): Likewise.
2296         * modules/vasprintf-posix-tests (Files): Likewise.
2297         * modules/vasprintf-tests (Files): Likewise.
2298         * modules/vdprintf-posix-tests (Files): Likewise.
2299         * modules/vfprintf-posix-tests (Files): Likewise.
2300         * modules/vprintf-posix-tests (Files): Likewise.
2301         * modules/vsnprintf-posix-tests (Files): Likewise.
2302         * modules/vsnprintf-tests (Files): Likewise.
2303         * modules/vsprintf-posix-tests (Files): Likewise.
2304         * modules/wcrtomb-tests (Files): Likewise.
2305         * modules/wcsnrtombs-tests (Files): Likewise.
2306         * modules/wcsrtombs-tests (Files): Likewise.
2307         * modules/wctype-tests (Files): Likewise.
2308         * modules/wcwidth-tests (Files): Likewise.
2309         * modules/xmemdup0-tests (Files): Likewise.
2310         * modules/xprintf-posix-tests (Files): Likewise.
2311         * modules/xvasprintf-tests (Files): Likewise.
2312
2313 2009-12-24  Eric Blake  <ebb9@byu.net>
2314
2315         test-nanosleep: fix typo
2316         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
2317         patch.
2318         Reported by Bruno Haible.
2319
2320 2009-12-24  Bruno Haible  <bruno@clisp.org>
2321
2322         Reduce namespace pollution on glibc systems.
2323         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
2324         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
2325         systems.
2326         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
2327         <getopt.h> on glibc systems.
2328         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
2329         systems.
2330         * lib/fcntl.c: Include <unistd.h> here instead.
2331
2332 2009-12-24  Bruno Haible  <bruno@clisp.org>
2333
2334         * lib/stdlib.in.h (includes): Fix typo in today's commit.
2335
2336 2009-12-24  Eric Blake  <ebb9@byu.net>
2337
2338         tests: add signature checks
2339         * tests/signature.h (SIGNATURE_CHECK): New file.
2340         * modules/atexit-tests (Files): Use it.
2341         * modules/btowc-tests (Files): Likewise.
2342         * modules/canonicalize-lgpl-tests (Files): Likewise.
2343         * modules/ceilf-tests (Files): Likewise.
2344         * modules/ceill-tests (Files): Likewise.
2345         * modules/chown-tests (Files): Likewise.
2346         * modules/dprintf-posix-tests (Files): Likewise.
2347         * modules/dup2-tests (Files): Likewise.
2348         * modules/dup3-tests (Files): Likewise.
2349         * modules/duplocale-tests (Files): Likewise.
2350         * modules/fchdir-tests (Files): Likewise.
2351         * modules/fcntl-tests (Files): Likewise.
2352         * modules/fdopendir-tests (Files): Likewise.
2353         * modules/fflush-tests (Files): Likewise.
2354         * modules/flock-tests (Files): Likewise.
2355         * modules/floorf-tests (Files): Likewise.
2356         * modules/floorl-tests (Files): Likewise.
2357         * modules/fnmatch-tests (Files): Likewise.
2358         * modules/fopen-tests (Files): Likewise.
2359         * modules/fprintf-posix-tests (Files): Likewise.
2360         * modules/freopen-tests (Files): Likewise.
2361         * modules/frexp-nolibm-tests (Files): Likewise.
2362         * modules/frexp-tests (Files): Likewise.
2363         * modules/frexpl-nolibm-tests (Files): Likewise.
2364         * modules/frexpl-tests (Files): Likewise.
2365         * modules/fseek-tests (Files): Likewise.
2366         * modules/fseeko-tests (Files): Likewise.
2367         * modules/fsync-tests (Files): Likewise.
2368         * modules/ftell-tests (Files): Likewise.
2369         * modules/ftello-tests (Files): Likewise.
2370         * modules/futimens-tests (Files): Likewise.
2371         * modules/getaddrinfo-tests (Files): Likewise.
2372         * modules/getcwd-tests (Files): Likewise.
2373         * modules/getdelim-tests (Files): Likewise.
2374         * modules/getdtablesize-tests (Files): Likewise.
2375         * modules/getgroups-tests (Files): Likewise.
2376         * modules/gethostname-tests (Files): Likewise.
2377         * modules/getline-tests (Files): Likewise.
2378         * modules/getopt-posix-tests (Files): Likewise.
2379         * modules/gettimeofday-tests (Files): Likewise.
2380         * modules/glob-tests (Files): Likewise.
2381         * modules/iconv-tests (Files): Likewise.
2382         * modules/inet_ntop-tests (Files): Likewise.
2383         * modules/inet_pton-tests (Files): Likewise.
2384         * modules/isblank-tests (Files): Likewise.
2385         * modules/lchown-tests (Files): Likewise.
2386         * modules/ldexpl-tests (Files): Likewise.
2387         * modules/link-tests (Files): Likewise.
2388         * modules/linkat-tests (Files): Likewise.
2389         * modules/lseek-tests (Files): Likewise.
2390         * modules/lstat-tests (Files): Likewise.
2391         * modules/mbrtowc-tests (Files): Likewise.
2392         * modules/mbsinit-tests (Files): Likewise.
2393         * modules/mbsnrtowcs-tests (Files): Likewise.
2394         * modules/mbsrtowcs-tests (Files): Likewise.
2395         * modules/memchr-tests (Files): Likewise.
2396         * modules/memcmp-tests (Files): Likewise.
2397         * modules/memmem-tests (Files): Likewise.
2398         * modules/memrchr-tests (Files): Likewise.
2399         * modules/mkdir-tests (Files): Likewise.
2400         * modules/mkfifo-tests (Files): Likewise.
2401         * modules/mkfifoat-tests (Files): Likewise.
2402         * modules/mknod-tests (Files): Likewise.
2403         * modules/nanosleep-tests (Files): Likewise.
2404         * modules/nl_langinfo-tests (Files): Likewise.
2405         * modules/obstack-printf-tests (Files): Likewise.
2406         * modules/open-tests (Files): Likewise.
2407         * modules/openat-tests (Files): Likewise.
2408         * modules/perror-tests (Files): Likewise.
2409         * modules/pipe2-tests (Files): Likewise.
2410         * modules/poll-tests (Files): Likewise.
2411         * modules/popen-tests (Files): Likewise.
2412         * modules/posix_spawn-tests (Files): Likewise.
2413         * modules/posix_spawnp-tests (Files): Likewise.
2414         * modules/pread-tests (Files): Likewise.
2415         * modules/printf-posix-tests (Files): Likewise.
2416         * modules/pty-tests (Files): Likewise.
2417         * modules/random_r-tests (Files): Likewise.
2418         * modules/rawmemchr-tests (Files): Likewise.
2419         * modules/readlink-tests (Files): Likewise.
2420         * modules/remove-tests (Files): Likewise.
2421         * modules/rename-tests (Files): Likewise.
2422         * modules/renameat-tests (Files): Likewise.
2423         * modules/rmdir-tests (Files): Likewise.
2424         * modules/round-tests (Files): Likewise.
2425         * modules/roundf-tests (Files): Likewise.
2426         * modules/roundl-tests (Files): Likewise.
2427         * modules/select-tests (Files): Likewise.
2428         * modules/setenv-tests (Files): Likewise.
2429         * modules/sigaction-tests (Files): Likewise.
2430         * modules/sleep-tests (Files): Likewise.
2431         * modules/snprintf-posix-tests (Files): Likewise.
2432         * modules/snprintf-tests (Files): Likewise.
2433         * modules/sprintf-posix-tests (Files): Likewise.
2434         * modules/stat-tests (Files): Likewise.
2435         * modules/strcasestr-tests (Files): Likewise.
2436         * modules/strchrnul-tests (Files): Likewise.
2437         * modules/strerror-tests (Files): Likewise.
2438         * modules/strsignal-tests (Files): Likewise.
2439         * modules/strstr-tests (Files): Likewise.
2440         * modules/strtod-tests (Files): Likewise.
2441         * modules/strverscmp-tests (Files): Likewise.
2442         * modules/symlink-tests (Files): Likewise.
2443         * modules/symlinkat-tests (Files): Likewise.
2444         * modules/times-tests (Files): Likewise.
2445         * modules/trunc-tests (Files): Likewise.
2446         * modules/truncf-tests (Files): Likewise.
2447         * modules/truncl-tests (Files): Likewise.
2448         * modules/tsearch-tests (Files): Likewise.
2449         * modules/uname-tests (Files): Likewise.
2450         * modules/unlink-tests (Files): Likewise.
2451         * modules/unsetenv-tests (Files): Likewise.
2452         * modules/usleep-tests (Files): Likewise.
2453         * modules/utimensat-tests (Files): Likewise.
2454         * modules/vasprintf-tests (Files): Likewise.
2455         * modules/vdprintf-posix-tests (Files): Likewise.
2456         * modules/vfprintf-posix-tests (Files): Likewise.
2457         * modules/vprintf-posix-tests (Files): Likewise.
2458         * modules/vsnprintf-posix-tests (Files): Likewise.
2459         * modules/vsnprintf-tests (Files): Likewise.
2460         * modules/vsprintf-posix-tests (Files): Likewise.
2461         * modules/wcrtomb-tests (Files): Likewise.
2462         * modules/wcsnrtombs-tests (Files): Likewise.
2463         * modules/wcsrtombs-tests (Files): Likewise.
2464         * modules/wcwidth-tests (Files): Likewise.
2465         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
2466         * tests/test-isinf.c (isinf): Likewise.
2467         * tests/test-isnan.c (isnan): Likewise.
2468         * tests/test-signbit.c (signbit): Likewise.
2469         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
2470         declaration, either as macro or with correct signature.
2471         (select): Ensure function under test is declared with correct
2472         signature in correct header.
2473         * tests/test-atexit.c (atexit): Likewise.
2474         * tests/test-btowc.c (btowc): Likewise.
2475         * tests/test-canonicalize-lgpl.c (realpath)
2476         (canonicalize_file_name): Likewise.
2477         * tests/test-ceilf1.c (ceilf): Likewise.
2478         * tests/test-ceill.c (ceill): Likewise.
2479         * tests/test-chown.c (chown): Likewise.
2480         * tests/test-dprintf-posix.c (dprintf): Likewise.
2481         * tests/test-dup2.c (dup2): Likewise.
2482         * tests/test-dup3.c (dup3): Likewise.
2483         * tests/test-duplocale.c (duplocale): Likewise.
2484         * tests/test-fchdir.c (fchdir): Likewise.
2485         * tests/test-fchownat.c (fchownat): Likewise.
2486         * tests/test-fcntl.c (fcntl): Likewise.
2487         * tests/test-fdopendir.c (fdopendir): Likewise.
2488         * tests/test-fflush.c (fflush): Likewise.
2489         * tests/test-flock.c (flock): Likewise.
2490         * tests/test-floorf1.c (floorf): Likewise.
2491         * tests/test-floorl.c (floorl): Likewise.
2492         * tests/test-fnmatch.c (fnmatch): Likewise.
2493         * tests/test-fopen.c (fopen): Likewise.
2494         * tests/test-fprintf-posix.c (fprintf): Likewise.
2495         * tests/test-freopen.c (freopen): Likewise.
2496         * tests/test-frexp.c (frexp): Likewise.
2497         * tests/test-frexpl.c (frexpl): Likewise.
2498         * tests/test-fseek.c (fseek): Likewise.
2499         * tests/test-fseeko.c (fseeko): Likewise.
2500         * tests/test-fstatat.c (fstatat): Likewise.
2501         * tests/test-fsync.c (fsync): Likewise.
2502         * tests/test-ftell.c (ftell): Likewise.
2503         * tests/test-ftello.c (ftello): Likewise.
2504         * tests/test-futimens.c (futimens): Likewise.
2505         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
2506         (gai_strerror): Likewise.
2507         * tests/test-getcwd.c (getcwd): Likewise.
2508         * tests/test-getdelim.c (getdelim): Likewise.
2509         * tests/test-getdtablesize.c (getdtablesize): Likewise.
2510         * tests/test-getgroups.c (getgroups): Likewise.
2511         * tests/test-gethostname.c (gethostname): Likewise.
2512         * tests/test-getline.c (getline): Likewise.
2513         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
2514         Likewise.
2515         * tests/test-gettimeofday.c (gettimeofday): Likewise.
2516         * tests/test-glob.c (glob, globfree): Likewise.
2517         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
2518         * tests/test-inet_ntop.c (inet_ntop): Likewise.
2519         * tests/test-inet_pton.c (inet_pton): Likewise.
2520         * tests/test-isblank.c (isblank): Likewise.
2521         * tests/test-lchown.c (lchown): Likewise.
2522         * tests/test-ldexpl.c (ldexpl): Likewise.
2523         * tests/test-link.c (link): Likewise.
2524         * tests/test-linkat.c (linkat): Likewise.
2525         * tests/test-lseek.c (lseek): Likewise.
2526         * tests/test-lstat.c (lstat): Likewise.
2527         * tests/test-mbrtowc.c (mbrtowc): Likewise.
2528         * tests/test-mbsinit.c (mbsinit): Likewise.
2529         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
2530         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
2531         * tests/test-memchr.c (memchr): Likewise.
2532         * tests/test-memcmp.c (memcmp): Likewise.
2533         * tests/test-memmem.c (memmem): Likewise.
2534         * tests/test-memrchr.c (memrchr): Likewise.
2535         * tests/test-mkdir.c (mkdir): Likewise.
2536         * tests/test-mkdirat.c (mkdirat): Likewise.
2537         * tests/test-mkfifo.c (mkfifo): Likewise.
2538         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
2539         * tests/test-mknod.c (mknod): Likewise.
2540         * tests/test-nanosleep.c (nanosleep): Likewise.
2541         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
2542         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
2543         Likewise.
2544         * tests/test-open.c (open): Likewise.
2545         * tests/test-openat.c (openat): Likewise.
2546         * tests/test-perror.c (perror): Likewise.
2547         * tests/test-pipe2.c (pipe2): Likewise.
2548         * tests/test-poll.c (poll): Likewise.
2549         * tests/test-popen.c (popen, pclose): Likewise.
2550         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
2551         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
2552         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
2553         (posix_spawn_file_actions_destroy)
2554         (posix_spawn_file_actions_addclose)
2555         (posix_spawn_file_actions_addopen)
2556         (posix_spawn_file_actions_adddup2): Likewise.
2557         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
2558         * tests/test-pread.c (pread): Likewise.
2559         * tests/test-printf-posix.c (printf): Likewise.
2560         * tests/test-pty.c (openpty, forkpty): Likewise.
2561         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
2562         (random_r): Likewise.
2563         * tests/test-rawmemchr.c (rawmemchr): Likewise.
2564         * tests/test-readlink.c (readlink): Likewise.
2565         * tests/test-remove.c (remove): Likewise.
2566         * tests/test-rename.c (rename): Likewise.
2567         * tests/test-renameat.c (renameat): Likewise.
2568         * tests/test-rmdir.c (rmdir): Likewise.
2569         * tests/test-round1.c (round): Likewise.
2570         * tests/test-roundf1.c (roundf): Likewise.
2571         * tests/test-roundl.c (roundl): Likewise.
2572         * tests/test-setenv.c (setenv): Likewise.
2573         * tests/test-sigaction.c (sigaction): Likewise.
2574         * tests/test-sleep.c (sleep): Likewise.
2575         * tests/test-snprintf.c (snprintf): Likewise.
2576         * tests/test-sprintf-posix.c (sprintf): Likewise.
2577         * tests/test-stat.c (stat): Likewise.
2578         * tests/test-stpncpy.c (stpncpy): Likewise.
2579         * tests/test-strcasestr.c (strcasestr): Likewise.
2580         * tests/test-strchrnul.c (strchrnul): Likewise.
2581         * tests/test-strerror.c (strerror): Likewise.
2582         * tests/test-strsignal.c (strsignal): Likewise.
2583         * tests/test-strstr.c (strstr): Likewise.
2584         * tests/test-strtod.c (strtod): Likewise.
2585         * tests/test-strverscmp.c (strverscmp): Likewise.
2586         * tests/test-symlink.c (symlink): Likewise.
2587         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
2588         * tests/test-times.c (times): Likewise.
2589         * tests/test-trunc1.c (trunc): Likewise.
2590         * tests/test-truncf1.c (truncf): Likewise.
2591         * tests/test-truncl.c (truncl): Likewise.
2592         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
2593         Likewise.
2594         * tests/test-uname.c (uname): Likewise.
2595         * tests/test-unlink.c (unlink): Likewise.
2596         * tests/test-unlinkat.c (unlinkat): Likewise.
2597         * tests/test-unsetenv.c (unsetenv): Likewise.
2598         * tests/test-usleep.c (usleep): Likewise.
2599         * tests/test-utimensat.c (utimensat): Likewise.
2600         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
2601         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
2602         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
2603         * tests/test-vprintf-posix.c (vprintf): Likewise.
2604         * tests/test-vsnprintf.c (vsnprintf): Likewise.
2605         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
2606         * tests/test-wcrtomb.c (wcrtomb): Likewise.
2607         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
2608         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
2609         * tests/test-wcwidth.c (wcwidth): Likewise.
2610
2611         build: pull in conditional headers during GNULIB_POSIXCHECK
2612         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
2613         definitions from any conditionally-included headers.
2614         * lib/stdlib.in.h (includes): Likewise.
2615         * lib/unistd.in.h (includes): Likewise.
2616
2617 2009-12-24  Bruno Haible  <bruno@clisp.org>
2618
2619         * tests/test-argv-iter.c: Include header file being tested immediately
2620         after config.h.
2621         * tests/test-base64.c: Likewise.
2622         * tests/test-flock.c: Likewise.
2623         * tests/test-fsync.c: Likewise.
2624         * tests/test-getdate.c: Likewise.
2625         * tests/test-getndelim2.c: Likewise.
2626         * tests/test-isfinite.c: Likewise.
2627         * tests/test-isinf.c: Likewise.
2628         * tests/test-strerror.c: Likewise.
2629         * tests/test-strsignal.c: Likewise.
2630
2631 2009-12-23  Eric Blake  <ebb9@byu.net>
2632
2633         unistd: work around cygwin bug
2634         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
2635         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
2636         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
2637
2638 2009-12-23  Bruno Haible  <bruno@clisp.org>
2639
2640         localename: More tests.
2641         * tests/test-localename.c (SIZEOF): New macro.
2642         (categories): New variable.
2643         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
2644         test_locale_name_default): Add test w.r.t. thread locale.
2645         (test_locale_name_thread): New function.
2646         (main): Invoke it.
2647
2648         localename: Make aware of thread locale.
2649         * lib/localename.h (gl_locale_name_thread): New declaration.
2650         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
2651         behaviour with respect to thread locale.
2652         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
2653         <langinfo.h>, glthread/lock.h.
2654         (SIZE_BITS): New macro.
2655         (string_hash): New function.
2656         (struct hash_node): New type.
2657         (HASH_TABLE_SIZE): New macro.
2658         (struniq_hash_table, struniq_lock): New variables.
2659         (struniq): New function.
2660         (gl_locale_name_thread): New function.
2661         (gl_locale_name): Invoke it.
2662         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
2663         * modules/localename (Depends-on): Add lock.
2664         Reported by Mike Gran <spk121@yahoo.com>.
2665
2666 2009-12-23  Eric Blake  <ebb9@byu.net>
2667
2668         va-args: new module
2669         * modules/va-args: New file.
2670         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
2671         * MODULES.html.sh (Core language properties): Mention it.
2672
2673         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
2674         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
2675         named alias for __attribute__((__unused__)).
2676         * lib/chown.c: Update client.
2677         * lib/fchmodat.c: Likewise.
2678         * lib/fts.c: Likewise.
2679         * lib/getdate.y: Likewise.
2680         * lib/getgroups.c: Likewise.
2681         * lib/getopt.c: Likewise.
2682         * lib/getugroups.c: Likewise.
2683         * lib/mkdir.c: Likewise.
2684         * lib/mkfifo.c: Likewise.
2685         * lib/mkfifoat.c: Likewise.
2686         * lib/mknod.c: Likewise.
2687         * lib/mknodat.c: Likewise.
2688         * lib/readlink.c: Likewise.
2689         * lib/se-context.in.h: Likewise.
2690         * lib/se-selinux.in.h: Likewise.
2691         * lib/sockets.c: Likewise.
2692         * lib/symlink.c: Likewise.
2693         * lib/symlinkat.c: Likewise.
2694         * lib/unicodeio.c: Likewise.
2695         * lib/unistr.h: Likewise.
2696         * tests/test-areadlink.c: Likewise.
2697         * tests/test-areadlinkat.c: Likewise.
2698         * tests/test-filenamecat.c: Likewise.
2699         * tests/test-fseeko.c: Likewise.
2700         * tests/test-ftello.c: Likewise.
2701         * tests/test-getdate.c: Likewise.
2702         * tests/test-getgroups.c: Likewise.
2703         * tests/test-gethostname.c: Likewise.
2704         * tests/test-quotearg.c: Likewise.
2705         * tests/test-version-etc.c: Likewise.
2706         * tests/test-xalloc-die.c: Likewise.
2707         * tests/test-xfprintf-posix.c: Likewise.
2708         * tests/test-xprintf-posix.c: Likewise.
2709         * tests/test-xvasprintf.c: Likewise.
2710
2711         tests: avoid compiler warnings
2712         * tests/test-fcntl.c (main): Delete unused parameters.
2713         * tests/test-freopen-safer.c (main): Likewise.
2714         * tests/test-xalloc-die.c (main): Mark unused parameters.
2715         * tests/test-fseeko.c (main): Likewise.
2716         * tests/test-ftello.c (main): Likewise.
2717         * tests/test-nanosleep.c (main): Avoid declaration warning.
2718         * tests/test-sleep.c (main): Likewise.
2719         * tests/test-unsetenv.c (main): Silence warning about string
2720         literal.
2721         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
2722
2723 2009-12-23  Bruno Haible  <bruno@clisp.org>
2724
2725         * tests/test-localename.c (test_locale_name): New function, extracted
2726         from main. Also test mixed situations.
2727         (test_locale_name_posix, test_locale_name_environ,
2728         test_locale_name_default): New functions.
2729         (main): Invoke them all.
2730         * modules/localename-tests (configure.ac): Test for newlocale.
2731
2732 2009-12-23  Bruno Haible  <bruno@clisp.org>
2733
2734         unistd: Ensure getcwd gets declared before being overridden.
2735         * lib/unistd.in.h: Conditionally include <io.h>.
2736
2737 2009-12-22  Bruno Haible  <bruno@clisp.org>
2738
2739         wchar: Diagnose broken combination of glibc and gcc versions and flags.
2740         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
2741         (gl_WCHAR_H): Invoke it.
2742         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
2743         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
2744         Reported by Karl Berry <karl@freefriends.org>.
2745
2746 2009-12-22  Eric Blake  <ebb9@byu.net>
2747
2748         math, unistd: avoid redundant includes
2749         * lib/math.in.h (isnan): No need to re-include <math.h>.
2750         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
2751
2752         getsubopt: work around cygwin bug
2753         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
2754         avoid conflicting with system getsubopt.
2755         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
2756         bug.
2757
2758         getopt: synchronize from glibc
2759         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
2760         parameter order.  Adjust all callers.
2761         (_getopt_internal_r, main): Adjust quoting in error messages.
2762         Drop considerations for outdated POSIX 1003.2 error message.
2763         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
2764         callers.
2765         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
2766
2767         test-getopt: test stderr behavior
2768         * modules/getopt-posix-tests (Depends-on): Add dup2.
2769         * tests/test-getopt.c (ASSERT): Avoid stderr.
2770         (main): Move stderr to a temporary file.
2771         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
2772         Instead, add parameter to inform caller if output occurred.
2773         (test_getopt): Adjust all existing tests to expect silence, and
2774         add new tests of leading ":".
2775         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
2776         glibc shortcomings with leading "-:" or "+:" in optstring.
2777         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
2778         Likewise.
2779         * doc/posix-functions/getopt.texi (getopt): Likewise.
2780
2781         test-getopt: enhance test
2782         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
2783         supports optind=0.
2784         * tests/test-getopt.c (OPTIND_MIN): Move...
2785         * tests/test-getopt.h (OPTIND_MIN): ...here.
2786         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
2787         Require that optind=0 works, since modern BSD supports it in
2788         addition to optreset, and since coreutils expects it.
2789         (test_getopt_long_only): New test.
2790         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
2791         glibc shortcomings with 'W;', and enforcement of optind=0.
2792         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
2793         Likewise.
2794
2795 2009-12-21  Bruno Haible  <bruno@clisp.org>
2796
2797         localename: Improvements for MacOS X and Cygwin.
2798         * lib/localename.h (gl_locale_name_environ): New declaration.
2799         * lib/localename.c (gl_locale_name_environ): New function, extracted from
2800         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
2801         (gl_locale_name_posix): Invoke it.
2802         (gl_locale_name_default): Add comments. Use Windows native API also on
2803         Cygwin.
2804
2805 2009-12-21  Bruno Haible  <bruno@clisp.org>
2806
2807         Update list of Win32 locale ids.
2808         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
2809         (LANG_SAMI): Renamed from LANG_SAAMI.
2810         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
2811         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
2812         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
2813         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
2814         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
2815         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
2816         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
2817         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
2818         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
2819         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
2820         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
2821         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
2822         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
2823         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
2824         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
2825         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
2826         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
2827         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
2828         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
2829         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
2830         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
2831         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
2832         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
2833         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
2834         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
2835         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
2836         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
2837         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
2838         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
2839         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
2840         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
2841         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
2842         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
2843         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
2844         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
2845         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
2846         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
2847         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
2848         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
2849         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
2850         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
2851         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
2852         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
2853         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
2854         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
2855         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
2856         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
2857         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
2858         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
2859         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
2860         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
2861         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
2862         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
2863         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
2864         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
2865         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
2866         Add more languages and countries for Sami, Sorbian. Add more countries
2867         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
2868         for Pashto. Change country for Syriac, Tswana.
2869
2870 2009-12-21  Eric Blake  <ebb9@byu.net>
2871
2872         test-utimens: avoid spurious failure
2873         * tests/test-chown.h (nap): Factor...
2874         * tests/nap.h: ...into new file.
2875         * tests/test-lchown.h (nap): Avoid duplication.
2876         * tests/test-utimens-common.h (nap): Use shared implementation,
2877         necessary on file systems with 1-second resolution.
2878         * modules/chown-tests (Files): Include new file.
2879         * modules/fdutimensat-tests (Files): Likewise.
2880         * modules/futimens-tests (Files): Likewise.
2881         * modules/lchown-tests (Files): Likewise.
2882         * modules/openat-tests (Files): Likewise.
2883         * modules/utimens-tests (Files): Likewise.
2884         * modules/utimensat-tests (Files): Likewise.
2885
2886 2009-12-19  Eric Blake  <ebb9@byu.net>
2887
2888         futimens, utimensat: work around Linux bug
2889         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
2890         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
2891         * lib/utimensat.c (rpl_utimensat): Work around it.
2892         * lib/futimens.c (rpl_futimens): Adjust comment.
2893
2894         utimens: work around Linux ctime bug
2895         * lib/utimens.c (detect_ctime_bug): New helper function.
2896         (update_timespec): Differentiate between workaround needed for
2897         this bug vs. what is needed for systems that lack utimensat.
2898         (fdutimens, lutimens): Work around bug.
2899
2900         utimens: check for ctime update
2901         * tests/test-utimens-common.h (check_ctime): Define.
2902         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
2903         * tests/test-futimens.h (test_futimens): Likewise.
2904         * tests/test-lutimens.h (test_lutimens): Likewise.
2905         * doc/posix-functions/futimens.texi (futimens): Document the bug.
2906         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
2907
2908 2009-12-19  Bruno Haible  <bruno@clisp.org>
2909
2910         dprintf-posix: Check against memory leak fixed on 2009-12-15.
2911         * tests/test-dprintf-posix2.sh: New file.
2912         * tests/test-dprintf-posix2.c: New file.
2913         * modules/dprintf-posix-tests (Files): Add them.
2914         (configure.ac): Check for getrlimit and setrlimit.
2915         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
2916
2917 2009-12-19  Bruno Haible  <bruno@clisp.org>
2918
2919         fprintf-posix: Check against memory leak fixed on 2009-12-15.
2920         * tests/test-fprintf-posix3.sh: New file.
2921         * tests/test-fprintf-posix3.c: New file.
2922         * modules/fprintf-posix-tests (Files): Add them.
2923         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
2924
2925 2009-12-19  Eric Blake  <ebb9@byu.net>
2926
2927         dirfd: fix prototype
2928         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
2929         * lib/dirfd.c (dirfd): Likewise.
2930
2931         canonicalize: reduce memory usage
2932         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
2933         allocation to size.
2934         Reported by Solar Designer <solar@openwall.com>.
2935
2936 2009-12-19  Bruno Haible  <bruno@clisp.org>
2937
2938         New module attribute 'Applicability'.
2939         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
2940         * gnulib-tool: New option --extract-applicability.
2941         (func_usage): Document it.
2942         (sed_extract_prog): Recognize it.
2943         (func_get_applicability): New function.
2944         (func_import): Generalize handling of 'link-warning' module.
2945         * modules/link-warning (Applicability): New section.
2946         * modules/arg-nonnull (Applicability): New section.
2947         Repoted by Simon Josefsson <simon@josefsson.org>.
2948
2949 2009-12-19  Bruno Haible  <bruno@clisp.org>
2950
2951         fflush: tweak
2952         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
2953         * lib/fseeko.c (rpl_fseeko): Likewise.
2954
2955 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
2956
2957         * lib/gl_list.h: Fix typo in comment.
2958
2959 2009-12-16  Eric Blake  <ebb9@byu.net>
2960
2961         fcntl: use to simplify other modules
2962         * modules/cloexec (Depends-on): Add fcntl.
2963         * modules/fchdir (Depends-on): Likewise.
2964         * modules/fd-safer-flag (Depends-on): Likewise.
2965         * modules/unistd-safer (Depends-on): Likewise.
2966         * modules/dup3 (configure.ac): Set module indicator.
2967         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
2968         missing.
2969         * lib/fchdir.c (_gl_register_dup): Fix comment.
2970         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
2971         * lib/dup-safer.c (dup_safer): Likewise.
2972         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
2973         * lib/dup3.c (dup3): Likewise.
2974         * tests/test-fchdir.c (main): Enhance test.
2975         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
2976
2977         fcntl: port portions of fcntl to mingw
2978         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
2979         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
2980         replacement for mingw.
2981         * modules/fcntl (Description): Update.
2982         (Depends-on): Add dup2.
2983         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
2984         * modules/fcntl-h (Makefile.am): Substitute it.
2985         * lib/fcntl.in.h (fcntl): Update declaration.
2986         (F_DUPFD, F_GETFD): New macros, when needed.
2987         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
2988         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
2989         * tests/test-fcntl.c (check_flags, main): Enhance test for items
2990         we now guarantee.
2991
2992         fcntl: work around cygwin bug in F_DUPFD
2993         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
2994         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
2995         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
2996         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
2997         * doc/posix-functions/fcntl.texi (fcntl): Document it.
2998
2999         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
3000         * modules/fcntl (Files): List new files.
3001         (configure.ac): Run a test.
3002         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
3003         * lib/fcntl.c (rpl_fcntl): Likewise.
3004         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
3005         (gl_FCNTL_H): Always replace fcntl.h.
3006         * modules/fcntl-h (Makefile.am): Substitute witnesses.
3007         * lib/fcntl.in.h (fcntl): Declare replacement.
3008         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
3009         needed, plus a witness.
3010         * doc/posix-functions/fcntl.texi (fcntl): Document this.
3011         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
3012         * tests/test-fcntl.c: New file.
3013         * modules/fcntl-tests: Likewise.
3014
3015         binary-io: avoid potential compilation warning
3016         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
3017         directives.
3018
3019         fflush: avoid compilation error on NetBSD
3020         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
3021         between off_t and fpos_t, since the latter is sometimes a struct.
3022         * lib/fseeko.c (rpl_fseeko): Likewise.
3023         Reported by Alexander Nasonov <alnsn@yandex.ru>.
3024
3025 2009-12-15  Eric Blake  <ebb9@byu.net>
3026
3027         fcntl-h, stdio, sys_ioctl: fix declarations
3028         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
3029         function must not take arguments.
3030         * lib/sys_ioctl.in.h (ioctl): Likewise.
3031         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
3032         (open): Add a link warning.
3033
3034 2009-12-15  Jim Meyering  <meyering@redhat.com>
3035
3036         areadlink, areadlink-with-size: relax license to LGPLv2+
3037         * modules/areadlink (License): Relax to LGPLv2+.
3038         * modules/areadlink-with-size (License): Likewise.
3039
3040 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
3041             Bruno Haible  <bruno@clisp.org>
3042
3043         *printf: Fix memory leak.
3044         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
3045         * lib/vfprintf.c (vfprintf): Likewise.
3046         * lib/dprintf.c (dprintf): Likewise.
3047         * lib/vdprintf.c (vdprintf): Likewise.
3048
3049 2009-12-14  Eric Blake  <ebb9@byu.net>
3050
3051         accept4: adjust module dependencies
3052         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
3053
3054         utimens: one more try at avoiding compiler warning
3055         * lib/utimens.c (lutimens): Lower scope of result.
3056
3057 2009-12-13  Bruno Haible  <bruno@clisp.org>
3058
3059         Move the malloc checking from module 'list' to new module 'xlist'.
3060         * modules/xlist: New file.
3061         * lib/gl_xlist.h: New file.
3062         * lib/gl_xlist.c: New file.
3063         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
3064         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
3065         gl_list_add_last, gl_list_add_before, gl_list_add_after,
3066         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
3067         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
3068         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
3069         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
3070         gl_sortedlist_nx_add): New declarations.
3071         (struct gl_list_implementation): Rename and change methods accordingly.
3072         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
3073         (gl_list_nx_create): Renamed from gl_list_create.
3074         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
3075         (gl_list_nx_set_at): Renamed from gl_list_set_at.
3076         (gl_list_nx_add_first): Renamed from gl_list_add_first.
3077         (gl_list_nx_add_last): Renamed from gl_list_add_last.
3078         (gl_list_nx_add_before): Renamed from gl_list_add_before.
3079         (gl_list_nx_add_after): Renamed from gl_list_add_after.
3080         (gl_list_nx_add_at): Renamed from gl_list_add_at.
3081         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
3082         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
3083         gl_list_create_empty.
3084         (gl_list_nx_create): Renamed from gl_list_create.
3085         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
3086         (gl_list_nx_set_at): Renamed from gl_list_set_at.
3087         (gl_list_nx_add_first): Renamed from gl_list_add_first.
3088         (gl_list_nx_add_last): Renamed from gl_list_add_last.
3089         (gl_list_nx_add_before): Renamed from gl_list_add_before.
3090         (gl_list_nx_add_after): Renamed from gl_list_add_after.
3091         (gl_list_nx_add_at): Renamed from gl_list_add_at.
3092         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
3093         * lib/gl_array_list.c: Don't include xalloc.h.
3094         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
3095         NULL upon out-of-memory.
3096         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
3097         out-of-memory.
3098         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
3099         Change return type to 'int'.
3100         (gl_array_nx_set_at): Renamed from gl_array_set_at.
3101         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
3102         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
3103         upon out-of-memory.
3104         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
3105         upon out-of-memory.
3106         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
3107         upon out-of-memory.
3108         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
3109         upon out-of-memory.
3110         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
3111         out-of-memory.
3112         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
3113         Update.
3114         (gl_array_list_implementation): Update.
3115         * lib/gl_carray_list.c: Don't include xalloc.h.
3116         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
3117         Return NULL upon out-of-memory.
3118         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
3119         out-of-memory.
3120         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
3121         Change return type to 'int'.
3122         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
3123         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
3124         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
3125         upon out-of-memory.
3126         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
3127         upon out-of-memory.
3128         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
3129         out-of-memory.
3130         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
3131         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
3132         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
3133         Update.
3134         (gl_carray_list_implementation): Update.
3135         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
3136         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
3137         gl_linked_create_empty. Return NULL upon out-of-memory.
3138         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
3139         out-of-memory.
3140         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
3141         Change return type to 'int'. Return -1 upon out-of-memory.
3142         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
3143         out-of-memory.
3144         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
3145         upon out-of-memory.
3146         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
3147         upon out-of-memory.
3148         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
3149         NULL upon out-of-memory.
3150         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
3151         upon out-of-memory.
3152         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
3153         out-of-memory.
3154         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
3155         Update.
3156         * lib/gl_linked_list.c: Don't include xalloc.h.
3157         (gl_linked_list_implementation): Update.
3158         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
3159         (add_to_bucket): Change return type to 'int'.
3160         (gl_linkedhash_list_implementation): Update.
3161         * lib/gl_anytree_list1.h (free_subtree): New function.
3162         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
3163         gl_tree_create_empty. Return NULL upon out-of-memory.
3164         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
3165         Change return type to 'int'. Return -1 upon out-of-memory.
3166         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
3167         out-of-memory.
3168         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
3169         (gl_tree_remove_node): New function, moved here from
3170         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
3171         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
3172         Update.
3173         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
3174         malloc, not xmalloc. Return NULL upon out-of-memory.
3175         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
3176         out-of-memory.
3177         (gl_tree_remove_node_from_tree): New function, extracted from
3178         gl_tree_remove_node.
3179         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
3180         upon out-of-memory.
3181         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
3182         out-of-memory.
3183         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
3184         upon out-of-memory.
3185         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
3186         upon out-of-memory.
3187         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
3188         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
3189         not xmalloc. Return NULL upon out-of-memory.
3190         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
3191         out-of-memory.
3192         (gl_tree_remove_node_from_tree): New function, extracted from
3193         gl_tree_remove_node.
3194         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
3195         upon out-of-memory.
3196         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
3197         out-of-memory.
3198         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
3199         upon out-of-memory.
3200         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
3201         upon out-of-memory.
3202         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
3203         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
3204         gl_anytree_list1.h before gl_anyavltree_list2.h.
3205         (gl_avltree_list_implementation): Update.
3206         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
3207         gl_anytree_list1.h before gl_anyavltree_list2.h.
3208         (gl_rbtree_list_implementation): Update.
3209         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
3210         Change return type to 'int'. Return -1 upon out-of-memory. Use
3211         __builtin_expect.
3212         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
3213         (gl_avltreehash_list_implementation): Update.
3214         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
3215         (gl_rbtreehash_list_implementation): Update.
3216         * modules/array-list (Depends-on): Remove xalloc.
3217         * modules/carray-list (Depends-on): Likewise.
3218         * modules/linked-list (Depends-on): Likewise.
3219         * modules/linkedhash-list (Depends-on): Likewise.
3220         * modules/avltree-list (Depends-on): Likewise.
3221         * modules/rbtree-list (Depends-on): Likewise.
3222         * modules/avltreehash-list (Depends-on): Likewise.
3223         * modules/rbtreehash-list (Depends-on): Likewise.
3224
3225         * modules/xsublist: New file.
3226         * lib/gl_xsublist.h: New file.
3227         * lib/gl_xsublist.c: New file.
3228         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
3229         (gl_sublist_nx_create): New declaration.
3230         * lib/gl_sublist.c: Don't include xalloc.h.
3231         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
3232         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
3233         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
3234         Change return type to 'int'. Return -1 upon out-of-memory.
3235         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
3236         upon out-of-memory.
3237         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
3238         NULL upon out-of-memory.
3239         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
3240         upon out-of-memory.
3241         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
3242         NULL upon out-of-memory.
3243         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
3244         NULL upon out-of-memory.
3245         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
3246         upon out-of-memory.
3247         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
3248         (gl_sublist_list_implementation): Update.
3249         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
3250         upon out-of-memory.
3251         * modules/sublist (Depends-on): Remove xalloc.
3252
3253         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
3254         * tests/test-carray_list.c: Likewise.
3255         * tests/test-linked_list.c: Likewise.
3256         * tests/test-linkedhash_list.c: Likewise.
3257         * tests/test-avltree_list.c: Likewise.
3258         * tests/test-rbtree_list.c: Likewise.
3259         * tests/test-avltreehash_list.c: Likewise.
3260         * tests/test-rbtreehash_list.c: Likewise.
3261         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
3262         * modules/carray-list-tests (Makefile.am): Likewise.
3263         * modules/linked-list-tests (Makefile.am): Likewise.
3264         * modules/linkedhash-list-tests (Makefile.am): Likewise.
3265         * modules/avltree-list-tests (Makefile.am): Likewise.
3266         * modules/rbtree-list-tests (Makefile.am): Likewise.
3267         * modules/avltreehash-list-tests (Makefile.am): Likewise.
3268         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
3269
3270         * NEWS: Mention the changes.
3271
3272         * lib/clean-temp.c: Include gl_xlist.h.
3273         * modules/clean-temp (Depends-on): Add xlist.
3274
3275         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
3276         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
3277
3278         * tests/test-array_oset.c: Include gl_xlist.h.
3279         * modules/array-oset-tests (Depends-on): Add xlist.
3280
3281         Reported by José E. Marchesi <jemarch@gnu.org>.
3282
3283 2009-12-13  Bruno Haible  <bruno@clisp.org>
3284
3285         Move the malloc checking from module 'oset' to new module 'xoset'.
3286         * modules/xoset: New file.
3287         * lib/gl_xoset.h: New file.
3288         * lib/gl_xoset.c: New file.
3289         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
3290         declarations.
3291         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
3292         (struct gl_oset_implementation): Rename and change methods accordingly.
3293         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
3294         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
3295         'int'. Mark as __warn_unused_result__.
3296         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
3297         gl_oset_create_empty.
3298         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
3299         'int'.
3300         * lib/gl_array_oset.c: Don't include xalloc.h.
3301         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
3302         malloc, not xmalloc.
3303         (grow): Change return type to 'int'. Don't call xalloc_die.
3304         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
3305         to 'int'.
3306         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
3307         'int'.
3308         (gl_array_oset_implementation): Update.
3309         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
3310         gl_tree_create_empty.
3311         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
3312         'int'.
3313         * lib/gl_avltree_oset.c: Don't include xalloc.h.
3314         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
3315         xmalloc.
3316         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
3317         not xmalloc.
3318         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
3319         xmalloc.
3320         (gl_avltree_oset_implementation): Update.
3321         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
3322         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
3323         xmalloc.
3324         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
3325         not xmalloc.
3326         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
3327         xmalloc.
3328         (gl_rbtree_oset_implementation): Update.
3329         * modules/array-oset (Depends-on): Remove xalloc.
3330         * modules/avltree-oset (Depends-on): Likewise.
3331         * modules/rbtree-oset (Depends-on): Likewise.
3332         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
3333         * tests/test-avltree_oset.c: Likewise.
3334         * tests/test-rbtree_oset.c: Likewise.
3335         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
3336         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
3337         * modules/rbtree-oset-tests (Makefile.am): Likewise.
3338         * NEWS: Mention the change.
3339
3340 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
3341
3342         maint.mk: allow a project to override release-prep commands
3343         * top/maint.mk (alpha, beta, stable): Move release-preparatory
3344         commands into a new rule.
3345         (release-prep): New rule.
3346         (release-prep-hook): New overridable variable.
3347
3348 2009-12-13  Bruno Haible  <bruno@clisp.org>
3349
3350         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
3351
3352 2009-12-13  Jim Meyering  <meyering@redhat.com>
3353
3354         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
3355         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
3356
3357 2009-12-12  Bruno Haible  <bruno@clisp.org>
3358
3359         duplocale: Tweak.
3360         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
3361
3362 2009-12-12  Karl Berry  <karl@gnu.org>
3363
3364         * config/srclist.txt (strtoll.c): tab changes, no more sync.
3365
3366 2009-12-12  Bruno Haible  <bruno@clisp.org>
3367
3368         * m4/po.m4: Undo incorrect untabification.
3369
3370 2009-12-12  Bruno Haible  <bruno@clisp.org>
3371
3372         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
3373         * modules/c-strtod (Depends-on): Add locale.
3374         * modules/c-strtold (Depends-on): Likewise.
3375
3376 2009-12-12  Bruno Haible  <bruno@clisp.org>
3377
3378         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
3379
3380 2009-12-11  Eric Blake  <ebb9@byu.net>
3381
3382         setenv: relax requirement in light of POSIX ruling
3383         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
3384         not NULL.
3385         * tests/test-setenv.c (main): Relax test.
3386         * tests/test-unsetenv.c (main): Likewise.
3387         * doc/posix-functions/setenv.texi (setenv): Document this.
3388         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
3389
3390 2009-12-11  Bruno Haible  <bruno@clisp.org>
3391
3392         New module 'fd-safer-flag'.
3393         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
3394         * lib/dup-safer.c (dup_safer_flag): Remove function.
3395         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
3396         * lib/fd-safer.c (fd_safer_flag): Remove function.
3397         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
3398         * modules/cloexec (configure.ac): Drop indicator macro.
3399         * modules/fd-safer-flag: New file.
3400         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
3401         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
3402         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
3403
3404 2009-12-11  Bruno Haible  <bruno@clisp.org>
3405
3406         Tests for module 'nl_langinfo'.
3407         * modules/nl_langinfo-tests: New file.
3408         * tests/test-nl_langinfo.sh: New file.
3409         * tests/test-nl_langinfo.c: New file.
3410
3411         New module 'nl_langinfo'.
3412         * lib/nl_langinfo.c: New file.
3413         * m4/nl_langinfo.m4: New file.
3414         * modules/nl_langinfo: New file.
3415         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
3416
3417 2009-12-11  Bruno Haible  <bruno@clisp.org>
3418
3419         Tests for module 'langinfo'.
3420         * modules/langinfo-tests: New file.
3421         * tests/test-langinfo.c: New file.
3422
3423         New module 'langinfo'.
3424         * lib/langinfo.in.h: New file.
3425         * m4/langinfo_h.m4: New file.
3426         * modules/langinfo: New file.
3427         * doc/posix-headers/langinfo.texi: Mention the new module.
3428
3429 2009-12-11  Bruno Haible  <bruno@clisp.org>
3430
3431         * lib/config.charset: Untabify.
3432
3433 2009-12-11  Bruno Haible  <bruno@clisp.org>
3434
3435         * modules/unistd-safer (configure.ac): Drop indicator macro.
3436
3437 2009-12-11  Bruno Haible  <bruno@clisp.org>
3438
3439         Move pipe2-safer code to its own file.
3440         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
3441         * lib/pipe-safer.c (pipe2_safer): Remove function.
3442         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
3443         (Makefile.am): Add it to lib_SOURCES.
3444
3445 2009-12-10  Bruno Haible  <bruno@clisp.org>
3446
3447         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
3448
3449 2009-12-10  Bruno Haible  <bruno@clisp.org>
3450
3451         Declare which arguments expect non-NULL values, for GCC and clang.
3452         * build-aux/arg-nonnull.h: New file.
3453         * modules/arg-nonnull: New file.
3454         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
3455         (inet_ntop, inet_pton): Use it.
3456         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
3457         (closedir, dirfd, opendir, scandir, alphasort): Use it.
3458         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
3459         (open, openat): Use it.
3460         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
3461         (fnmatch): Use it.
3462         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
3463         (getopt, getopt_long, getopt_long_only): Use it.
3464         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
3465         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
3466         Use it.
3467         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
3468         (iconv_open): Use it.
3469         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
3470         (strtoimax, strtoumax): Use it.
3471         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
3472         (duplocale): Use it.
3473         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
3474         (frexp, frexpl): Use it.
3475         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
3476         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
3477         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
3478         (tsearch, tfind, tdelete, twalk): Use it.
3479         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
3480         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
3481         sigpending): Use it.
3482         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
3483         (posix_spawn, posix_spawnp, posix_spawnattr_init,
3484         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
3485         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
3486         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
3487         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
3488         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
3489         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
3490         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
3491         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
3492         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
3493         Use it.
3494         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
3495         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
3496         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
3497         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
3498         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
3499         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
3500         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
3501         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
3502         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
3503         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
3504         strtoull, unsetenv): Use it.
3505         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
3506         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
3507         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
3508         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
3509         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
3510         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
3511         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
3512         (strcasecmp, strncasecmp): Use it.
3513         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
3514         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
3515         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
3516         rpl_setsockopt): Use it.
3517         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
3518         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
3519         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
3520         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
3521         (gettimeofday): Use it.
3522         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
3523         (times): Use it.
3524         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
3525         (uname): Use it.
3526         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
3527         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
3528         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
3529         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
3530         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
3531         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
3532         unlinkat, write): Use it.
3533         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
3534         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
3535         * lib/argv-iter.h: Include arg-nonnull.h.
3536         (_ATTRIBUTE_NONNULL_): Remove macro.
3537         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
3538         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
3539         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
3540         optimization.
3541         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
3542         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
3543         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
3544         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
3545         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
3546         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
3547         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
3548         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
3549         * modules/arpa_inet (Depends-on): Add arg-nonnull.
3550         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
3551         * modules/dirent (Depends-on): Add arg-nonnull.
3552         (Makefile.am): Insert arg-nonnull.h into dirent.h.
3553         * modules/fcntl-h (Depends-on): Add arg-nonnull.
3554         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
3555         * modules/fnmatch (Depends-on): Add arg-nonnull.
3556         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
3557         * modules/getopt-posix (Depends-on): Add arg-nonnull.
3558         (Makefile.am): Insert arg-nonnull.h into getopt.h.
3559         * modules/glob (Depends-on): Add arg-nonnull.
3560         (Makefile.am): Insert arg-nonnull.h into glob.h.
3561         * modules/iconv_open (Depends-on): Add arg-nonnull.
3562         (Makefile.am): Insert arg-nonnull.h into iconv.h.
3563         * modules/inttypes (Depends-on): Add arg-nonnull.
3564         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
3565         * modules/locale (Depends-on): Add arg-nonnull.
3566         (Makefile.am): Insert arg-nonnull.h into locale.h.
3567         * modules/math (Depends-on): Add arg-nonnull.
3568         (Makefile.am): Insert arg-nonnull.h into math.h.
3569         * modules/netdb (Depends-on): Add arg-nonnull.
3570         (Makefile.am): Insert arg-nonnull.h into netdb.h.
3571         * modules/search (Depends-on): Add arg-nonnull.
3572         (Makefile.am): Insert arg-nonnull.h into search.h.
3573         * modules/signal (Depends-on): Add arg-nonnull.
3574         (Makefile.am): Insert arg-nonnull.h into signal.h.
3575         * modules/spawn (Depends-on): Add arg-nonnull.
3576         (Makefile.am): Insert arg-nonnull.h into spawn.h.
3577         * modules/stdio (Depends-on): Add arg-nonnull.
3578         (Makefile.am): Insert arg-nonnull.h into stdio.h.
3579         * modules/stdlib (Depends-on): Add arg-nonnull.
3580         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
3581         * modules/string (Depends-on): Add arg-nonnull.
3582         (Makefile.am): Insert arg-nonnull.h into string.h.
3583         * modules/strings (Depends-on): Add arg-nonnull.
3584         (Makefile.am): Insert arg-nonnull.h into strings.h.
3585         * modules/sys_socket (Depends-on): Add arg-nonnull.
3586         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
3587         * modules/sys_stat (Depends-on): Add arg-nonnull.
3588         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
3589         * modules/sys_time (Depends-on): Add arg-nonnull.
3590         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
3591         * modules/sys_times (Depends-on): Add arg-nonnull.
3592         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
3593         * modules/sys_utsname (Depends-on): Add arg-nonnull.
3594         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
3595         * modules/time (Depends-on): Add arg-nonnull.
3596         (Makefile.am): Insert arg-nonnull.h into time.h.
3597         * modules/unistd (Depends-on): Add arg-nonnull.
3598         (Makefile.am): Insert arg-nonnull.h into unistd.h.
3599         * modules/wchar (Depends-on): Add arg-nonnull.
3600         (Makefile.am): Insert arg-nonnull.h into wchar.h.
3601         * modules/argv-iter (Depends-on): Add arg-nonnull.
3602         * tests/test-canonicalize.c (null_ptr): New function.
3603         (main): Use it.
3604         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
3605         (main): Use it.
3606         * tests/test-memmem.c (null_ptr): New function.
3607         (main): Use it.
3608         Reported by Jim Meyering.
3609
3610 2009-12-10  Bruno Haible  <bruno@clisp.org>
3611
3612         Use spaces for indentation, not tabs.
3613         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
3614         * m4/*.m4: Untabify.
3615         * build-aux/*.h: Untabify.
3616         * tests/**/*.[hc]: Untabify.
3617         * README: New section "Indent with spaces, not TABs", based on
3618         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
3619         * NEWS: Mention the change.
3620
3621 2009-12-10  Bruno Haible  <bruno@clisp.org>
3622
3623         pty test: Fix link error.
3624         * modules/pty-tests (Makefile.am): Add the default LDADD value to
3625         test_pty_LDADD.
3626
3627 2009-12-07  Simon Josefsson  <simon@josefsson.org>
3628
3629         * modules/pty: New file.
3630         * modules/pty-tests: New file.
3631         * m4/pty.m4: New file.
3632         * tests/test-pty.c: New file.
3633         * doc/glibc-headers/pty.texi: Modified.
3634         * doc/glibc-functions/forkpty.texi: Modified.
3635         * doc/glibc-functions/openpty.texi: Modified.
3636
3637 2009-12-10  Bruno Haible  <bruno@clisp.org>
3638
3639         Avoid syntax error in C++ mode.
3640         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
3641
3642 2009-12-10  Bruno Haible  <bruno@clisp.org>
3643
3644         Use sed with option -e.
3645         * gnulib-tool (func_version, func_emit_copyright_notice,
3646         func_emit_initmacro_end, func_import, func_create_testdir): Pass
3647         option -e to sed.
3648         * modules/link-warning (Makefile.am): Likewise.
3649
3650 2009-12-10  Jim Meyering  <meyering@redhat.com>
3651
3652         mgetgroups: do not write bytes beyond end of malloc'd buffer
3653         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
3654         username, we call getgroups with a one-element-shorter buffer,
3655         but still told it the length was original, max_n_groups.
3656
3657 2009-12-09  Eric Blake  <ebb9@byu.net>
3658
3659         cloexec: relax license
3660         * modules/cloexec (Maintainer): Add myself.
3661         (License): Use LGPL, not GPL.
3662
3663         link-warning: optimize generation
3664         * modules/link-warning (Makefile.am): Reduce process usage.
3665
3666 2009-12-09  Bruno Haible  <bruno@clisp.org>
3667
3668         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
3669         workaround was added on 2009-11-17.
3670
3671 2009-12-09  Jim Meyering  <meyering@redhat.com>
3672             Bruno Haible  <bruno@clisp.org>
3673
3674         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
3675         * modules/link-warning (Makefile.am): Make the comment-removing sed
3676         command more robust in the face of bootstrap-prepended comment lines.
3677
3678 2009-12-09  Bruno Haible  <bruno@clisp.org>
3679
3680         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
3681         most one group.
3682
3683 2009-12-09  Simon Josefsson <simon@josefsson.org>
3684             Bruno Haible  <bruno@clisp.org>
3685
3686         * build-aux/link-warning.h: Add copyright notice.
3687         * modules/link-warning (Makefile.am): Generate link-warning.h from
3688         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
3689         * NEWS: Mention change in link-warning module.
3690         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
3691         * modules/dirent (Makefile.am): Add dependency to dirent.h.
3692         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
3693         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
3694         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
3695         * modules/math (Makefile.am): Add dependency to math.h.
3696         * modules/search (Makefile.am): Add dependency to search.h.
3697         * modules/signal (Makefile.am): Add dependency to signal.h.
3698         * modules/spawn (Makefile.am): Add dependency to spawn.h.
3699         * modules/stdio (Makefile.am): Add dependency to stdio.h.
3700         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
3701         * modules/string (Makefile.am): Add dependency to string.h.
3702         * modules/strings (Makefile.am): Add dependency to strings.h.
3703         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
3704         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
3705         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
3706         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
3707         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
3708         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
3709         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
3710         * modules/unistd (Makefile.am): Add dependency to unistd.h.
3711         * modules/wchar (Makefile.am): Add dependency to wchar.h.
3712
3713 2009-12-09  Bruno Haible  <bruno@clisp.org>
3714
3715         fchdir: Optimize away rpl_fstat when possible.
3716         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
3717         REPLACE_OPEN_DIRECTORY.
3718         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
3719
3720 2009-12-09  Bruno Haible  <bruno@clisp.org>
3721
3722         * lib/fchdir.c: Update comment.
3723
3724 2009-12-09  Bruno Haible  <bruno@clisp.org>
3725
3726         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
3727
3728 2009-12-08  Eric Blake  <ebb9@byu.net>
3729
3730         fchdir: avoid memory leak on re-registration.
3731         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
3732
3733 2009-12-08  Jim Meyering  <meyering@redhat.com>
3734
3735         init.sh: avoid Solaris 10 /bin/sh portability problem
3736         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
3737         sourced script:
3738           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
3739           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
3740           bar
3741         tests/init.sh relied on that, accepting a --set-path=DIR argument,
3742         and two tests used that idiom.
3743         * tests/init.sh: Update suggested usage comments.
3744         (path_prepend_): New function, to be used in place
3745         of the --src-path=DIR option.
3746         (setup_): Move PATH-prepending code into path_prepend_.
3747         * tests/test-pread.sh: Adapt to new usage.
3748         * tests/test-xalloc-die.sh: Likewise.
3749
3750 2009-12-08  Simon Josefsson  <simon@josefsson.org>
3751
3752         * doc/gnulib.texi (Glibc pty.h): Add.
3753         * doc/glibc-functions/forkpty.texi: Add.
3754         * doc/glibc-functions/openpty.texi: Add.
3755         Suggested by Bruno Haible.
3756
3757 2009-12-08  Eric Blake  <ebb9@byu.net>
3758
3759         fchdir: fix logic bugs
3760         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
3761         * tests/test-fchdir.c (main): Enhance test.
3762         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
3763         is in use.
3764
3765         dup2: fix logic bugs
3766         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
3767         REPLACE_DUP2 to decide when rpl_dup2 is needed.
3768         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
3769         exists.
3770         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
3771
3772 2009-12-07  Eric Blake  <ebb9@byu.net>
3773
3774         unlink: fix m4 detection
3775         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
3776
3777         unistd-safer: add unit test
3778         * modules/unistd-safer-tests: New file.
3779         * tests/test-dup-safer.c: Likewise.
3780         * tests/test-cloexec.c (setmode): Avoid compiler warning.
3781         * tests/test-dup2.c (setmode): Likewise.
3782         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
3783
3784         cloexec: preserve text vs. binary across dup_cloexec
3785         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
3786         mode.
3787         * modules/dup2-tests (Depends-on): Add binary-io.
3788         * modules/cloexec-tests (Depends-on): Likewise.
3789         * tests/test-dup2.c (setmode, is_mode): New helpers.
3790         (main): Add tests that translation mode is preserved.
3791         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
3792         Reported by Bruno Haible.
3793
3794         mgetgroups: reduce duplicate listings
3795         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
3796         resulting array.
3797         * tests/test-chown.h (test_chown): Simplify client.
3798         * tests/test-lchown.h (test_lchown): Likewise.
3799
3800 2009-12-06  Bruno Haible  <bruno@clisp.org>
3801
3802         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
3803         value.
3804
3805 2009-12-06  Bruno Haible  <bruno@clisp.org>
3806
3807         * lib/progname.c: Include stdio.h, stdlib.h.
3808         (set_program_name): Reject a NULL argument.
3809
3810 2009-12-05  Eric Blake  <ebb9@byu.net>
3811
3812         pipe2-safer: new module
3813         * modules/pipe2-safer: New file.
3814         * lib/unistd-safer.h (pipe2_safer): New prototype.
3815         * lib/unistd--.h (pipe2): New wrapper.
3816         * lib/pipe-safer.c (pipe2_safer): New function.
3817         * modules/pipe (Depends-on): Add pipe2-safer.
3818         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
3819
3820         stdlib-safer: preserve cloexec flag for mkostemp[s]
3821         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
3822         fd_safer_flag.
3823
3824         unistd-safer: allow preservation of cloexec status via flag
3825         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
3826         prototypes.
3827         * lib/dup-safer.c (dup_safer_flag): New function.
3828         * lib/fd-safer.c (fd_safer_flag): Likewise.
3829         * modules/cloexec (configure.ac): Set witness.
3830
3831         test-dup2: enhance test
3832         * modules/dup2-tests (Depends-on): Add cloexec.
3833         * tests/test-dup2.c (main): Enhance test.
3834
3835         cloexec: add dup_cloexec
3836         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
3837         header and comments.
3838         * lib/cloexec.c (set_cloexec_flag): Add comments.
3839         (dup_cloexec): New function, with mingw implementation borrowed
3840         from...
3841         * lib/w32spawn.h (dup_noinherit): ...here.
3842         * modules/execute (Depends-on): Add cloexec.
3843         * modules/pipe (Depends-on): Likewise.
3844         * modules/cloexec (Depends-on): Add dup2.
3845         * modules/cloexec-tests (Files): New file.
3846         * tests/test-cloexec.c: Likewise.
3847
3848         test-xalloc-die: fix test for mingw
3849         * modules/xalloc-die-tests (Files): Add tests/init.sh.
3850         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
3851         directory and .exe suffix off argv[0] output.
3852
3853         test-fseeko: fix test for mingw
3854         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
3855         than undefining fseek, so test will pass on mingw.
3856
3857 2009-12-05  Bruno Haible  <bruno@clisp.org>
3858
3859         * lib/progname.h (set_program_name): Clarify specification.
3860         * lib/progname.c (set_program_name): Likewise.
3861         Reported by Jim Meyering.
3862
3863 2009-12-05  Jim Meyering  <meyering@redhat.com>
3864
3865         maint.mk: backslash-escape parens in default regexp
3866         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
3867         backslash-escape the literal parentheses.
3868
3869         maint.mk: news-date-check: use grep -E
3870         * top/maint.mk (today): Define a Make variable, not a...
3871         (news-date-check): ...shell variable.
3872         (news-date-regexp): Use the Make variable.
3873         Use grep's -E option.  Change the failing diagnostic to mention
3874         the variable, $(news-date-regexp).
3875
3876 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
3877
3878         maintainer-makefile: allow customization of NEWS entry format
3879         * top/maint.mk (news-date-regexp): New overridable variable.
3880         (news-date-check): Use it.
3881
3882 2009-12-04  Eric Blake  <ebb9@byu.net>
3883
3884         mgetgroups: add xgetgroups, and avoid ENOSYS failures
3885         * lib/mgetgroups.h (xgetgroups): New prototype.
3886         * lib/mgetgroups.c (xgetgroups): New wrapper.
3887         (mgetgroups): Handle ENOSYS.
3888         * modules/mgetgroups (Depends-on): Add realloc.
3889         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
3890
3891         mgetgroups: avoid argument promotion issues with -1
3892         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
3893         for invalid gid_t.
3894         * tests/test-chown.h (getegid, test_chown): Likewise.
3895         * tests/test-lchown.h (getegid, test_lchown): Likewise.
3896
3897 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
3898
3899         exclude: Fix header file problems.
3900         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
3901
3902 2009-12-01  Jim Meyering  <meyering@redhat.com>
3903
3904         fts: fts_open: do not let an empty string cause immediate failure
3905         This is required in support of GNU rm, for which the command
3906         "rm A '' B" must process and remove both A and B, in spite of
3907         the empty string argument.
3908         * lib/fts.c (fts_open): Do not let the presence of an empty string
3909         cause fts_open to fail immediately.  Most fts-using tools must be
3910         able to process all arguments, in order, and can be expected to
3911         diagnose such arguments themselves.
3912
3913 2009-11-30  Eric Blake  <ebb9@byu.net>
3914
3915         utimens: fix compilation error
3916         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
3917         Declare variable at right scope.
3918
3919 2009-11-29  Jim Meyering  <meyering@redhat.com>
3920
3921         bootstrap: handle perl-5.11's changed --version output
3922         * build-aux/bootstrap (get_version): Handle perl separately,
3923         since perl-5.11's --version output is different.
3924
3925 2009-11-28  Jim Meyering  <meyering@redhat.com>
3926
3927         userspec: depend on the inttostr module, too
3928         * modules/userspec (Depends-on): Add inttostr.
3929
3930         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
3931         * lib/userspec.c (parse_with_separator): Do not accept a user ID
3932         number of MAXUID when it evaluates to (uid_t) -1.
3933         Likewise for group ID.  Reported by Matt McCutchen in
3934         <http://savannah.gnu.org/bugs/?28113>
3935
3936         userspec: reformat to use spaces, not TABs
3937         * lib/userspec.c: Expand TABs to spaces.
3938         Add Emacs' "indent-tabs-mode: nil" hint.
3939
3940 2009-11-27  Eric Blake  <ebb9@byu.net>
3941
3942         getopt-gnu: flush out another BSD bug
3943         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
3944         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
3945         flush out BSD bug.
3946         * tests/test-getopt.h (test_getopt): End lists with NULL.
3947         * tests/test-getopt_long.h (test_getopt_long): Likewise.
3948         (test_getopt_long_posix): Enhance test.
3949         * modules/getopt-posix-tests (Depends-on): Add stdbool.
3950         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
3951         getopt-gnu.
3952         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
3953         Likewise.
3954
3955 2009-11-27  Simon Josefsson  <simon@josefsson.org>
3956
3957         * modules/idpriv-droptemp-tests (Notice): Fix text.
3958
3959 2009-11-27  Jim Meyering  <meyering@redhat.com>
3960
3961         test-xalloc-die: avoid spurious failure due to libtool argv difference
3962         In a libtool-enabled project, this test would fail due to a difference
3963         in the emitted program name, e.g.,
3964         -test-xalloc-die: memory exhausted
3965         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
3966         Use program to avoid that.
3967         * modules/xalloc-die-tests (Depends-on): Add progname.
3968         * tests/test-xalloc-die.c: Include progname.h".
3969         (program_name): Remove decl.
3970         (main): Call set_program_name.
3971         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
3972
3973 2009-11-26  Richard Jones  <rjones@redhat.com>
3974
3975         w32sock: leave win32 error in place.
3976         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
3977
3978 2009-11-26  Eric Blake  <ebb9@byu.net>
3979
3980         init.sh: suggest to use skip_ and fail_ functions in comments
3981         * tests/init.sh: Add a sentence.
3982
3983 2009-11-25  Bruno Haible  <bruno@clisp.org>
3984
3985         init.sh: add documentation in comments
3986         * tests/init.sh: Add some developer and user documentation.
3987
3988 2009-11-26  Jim Meyering  <meyering@redhat.com>
3989
3990         init.sh: accommodate even those who specify bogus srcdir manually
3991         * tests/init.sh: Normally, srcdir is guaranteed by automake and
3992         configure-time tests to be sanitized, so that there is no need to
3993         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
3994         (with no double quotes) suffices.  However, since tests may be
3995         invoked manually, and since you may explicitly set srcdir to the
3996         name of a directory containing spaces, do quote its uses here.
3997         * tests/test-pread.sh: Likewise.
3998         Suggested by Bruno Haible.
3999
4000         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
4001         * tests/test-pread.sh: Write no data into the pipe, because
4002         test-pread actually reads none.  This avoids a diagnostic,
4003         "bash: echo: write error: Broken pipe", that arises in the unusual
4004         event something is ignoring SIGPIPE, and might be interpreted
4005         as some sort of failure.  Reported by Bruno Haible.
4006
4007 2009-11-25  Jim Meyering  <meyering@redhat.com>
4008
4009         test-pread: cover failure with ESPIPE and EINVAL
4010         * tests/test-pread.c (main): Test for failure, too.
4011         * tests/test-pread.sh: Invoke with stdin on a pipe.
4012         Suggested by Eric Blake.
4013
4014         pread: improvement and fix
4015         * modules/pread (Depends-on): Depend on lseek, for portability to
4016         e.g., mingw.  Suggested by Eric Blake.
4017         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
4018
4019         unistd.in.h: correct declaration of pread
4020         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
4021         Reported by Richard W.M. Jones.
4022
4023         test-pread.sh: distribute the test script
4024         * modules/pread-tests (Files): Include test-pread.sh.
4025
4026         test-pread.sh: clean up
4027         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
4028         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
4029         That is unnecessary, since it's always ".".
4030         Suggestion from Eric Blake.
4031
4032         test-pread.sh: make executable
4033         * tests/test-pread.sh: Set executable bit.
4034         Reported by Eric Blake.
4035
4036         correct typo in test-pread.sh
4037         * tests/test-pread.sh: Add #! line.
4038
4039         test pread
4040         * tests/test-pread.c: New file.
4041         * tests/test-pread.sh: Likewise.
4042         * modules/pread-tests: Likewise.
4043
4044         pread: new module
4045         * modules/pread: New file.
4046         * lib/unistd.in.h (pread): Define/declare.
4047         * lib/pread.c (pread): New file.
4048         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
4049         * modules/unistd (Makefile.am): Substitute witnesses.
4050         * doc/posix-functions/pread.texi (pread): Update.
4051         * MODULES.html.sh: Add pread.
4052
4053 2009-11-25  Jim Meyering  <meyering@redhat.com>
4054
4055         tests/init.sh: new file to be used via most *.sh tests
4056         * tests/init.sh: New file.
4057
4058 2009-11-25  Eric Blake  <ebb9@byu.net>
4059
4060         utimens: work around older Linux failure with symlinks
4061         * lib/utimens.c (lutimensat_works_really): New variable.
4062         (fdutimens, lutimens): Use it to manage kernels that support
4063         nanosecond times on files, but not on symlinks.
4064         Reported by OndÅ™ej Vašík.
4065
4066         utimes: fix configure grammar
4067         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
4068
4069 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
4070
4071         regex: Fix fastmap for multibyte character ranges.
4072         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
4073         characters when a multibyte character range is included.
4074
4075 2009-11-22  Andy Wingo  <wingo@pobox.com>
4076
4077         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
4078         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
4079
4080 2009-11-24  Bruno Haible  <bruno@clisp.org>
4081
4082         doc: Most *_l functions exist in MacOS X 10.5.
4083         * doc/posix-functions/duplocale.texi: Update platforms list.
4084         * doc/posix-functions/freelocale.texi: Likewise.
4085         * doc/posix-functions/newlocale.texi: Likewise.
4086         * doc/posix-functions/uselocale.texi: Likewise.
4087         * doc/posix-functions/isalnum_l.texi: Likewise.
4088         * doc/posix-functions/isalpha_l.texi: Likewise.
4089         * doc/posix-functions/isblank_l.texi: Likewise.
4090         * doc/posix-functions/iscntrl_l.texi: Likewise.
4091         * doc/posix-functions/isdigit_l.texi: Likewise.
4092         * doc/posix-functions/isgraph_l.texi: Likewise.
4093         * doc/posix-functions/islower_l.texi: Likewise.
4094         * doc/posix-functions/isprint_l.texi: Likewise.
4095         * doc/posix-functions/ispunct_l.texi: Likewise.
4096         * doc/posix-functions/isspace_l.texi: Likewise.
4097         * doc/posix-functions/isupper_l.texi: Likewise.
4098         * doc/posix-functions/iswalnum_l.texi: Likewise.
4099         * doc/posix-functions/iswalpha_l.texi: Likewise.
4100         * doc/posix-functions/iswblank_l.texi: Likewise.
4101         * doc/posix-functions/iswcntrl_l.texi: Likewise.
4102         * doc/posix-functions/iswctype_l.texi: Likewise.
4103         * doc/posix-functions/iswdigit_l.texi: Likewise.
4104         * doc/posix-functions/iswgraph_l.texi: Likewise.
4105         * doc/posix-functions/iswlower_l.texi: Likewise.
4106         * doc/posix-functions/iswprint_l.texi: Likewise.
4107         * doc/posix-functions/iswpunct_l.texi: Likewise.
4108         * doc/posix-functions/iswspace_l.texi: Likewise.
4109         * doc/posix-functions/iswupper_l.texi: Likewise.
4110         * doc/posix-functions/iswxdigit_l.texi: Likewise.
4111         * doc/posix-functions/isxdigit_l.texi: Likewise.
4112         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
4113         * doc/posix-functions/strcasecmp_l.texi: Likewise.
4114         * doc/posix-functions/strcoll_l.texi: Likewise.
4115         * doc/posix-functions/strfmon_l.texi: Likewise.
4116         * doc/posix-functions/strftime_l.texi: Likewise.
4117         * doc/posix-functions/strncasecmp_l.texi: Likewise.
4118         * doc/posix-functions/strxfrm_l.texi: Likewise.
4119         * doc/posix-functions/tolower_l.texi: Likewise.
4120         * doc/posix-functions/toupper_l.texi: Likewise.
4121         * doc/posix-functions/towctrans_l.texi: Likewise.
4122         * doc/posix-functions/towlower_l.texi: Likewise.
4123         * doc/posix-functions/towupper_l.texi: Likewise.
4124         * doc/posix-functions/wcscoll_l.texi: Likewise.
4125         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
4126         * doc/posix-functions/wctrans_l.texi: Likewise.
4127         * doc/posix-functions/wctype_l.texi: Likewise.
4128         * doc/glibc-functions/strptime_l.texi: Likewise.
4129         * doc/glibc-functions/strtod_l.texi: Likewise.
4130         * doc/glibc-functions/strtof_l.texi: Likewise.
4131         * doc/glibc-functions/strtol_l.texi: Likewise.
4132         * doc/glibc-functions/strtold_l.texi: Likewise.
4133         * doc/glibc-functions/strtoll_l.texi: Likewise.
4134         * doc/glibc-functions/strtoul_l.texi: Likewise.
4135         * doc/glibc-functions/strtoull_l.texi: Likewise.
4136         * doc/glibc-functions/wcsftime_l.texi: Likewise.
4137         * doc/glibc-functions/wcstod_l.texi: Likewise.
4138         * doc/glibc-functions/wcstof_l.texi: Likewise.
4139         * doc/glibc-functions/wcstol_l.texi: Likewise.
4140         * doc/glibc-functions/wcstold_l.texi: Likewise.
4141         * doc/glibc-functions/wcstoll_l.texi: Likewise.
4142         * doc/glibc-functions/wcstoul_l.texi: Likewise.
4143         * doc/glibc-functions/wcstoull_l.texi: Likewise.
4144
4145 2009-11-24  Bruno Haible  <bruno@clisp.org>
4146
4147         duplocale: Fix logic bug.
4148         * lib/duplocale.c: Don't include <langinfo.h>.
4149         (_NL_LOCALE_NAME): Remove macro.
4150         (rpl_duplocale): Use setlocale instead of nl_langinfo.
4151         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
4152
4153 2009-11-23  Jim Meyering  <meyering@redhat.com>
4154
4155         test-update-copyright: don't hard-code /usr/bin/perl
4156         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
4157         perl to print the current year.  Gilles Espinasse reported that
4158         the replaced use of perl was hard-coded as /usr/bin/perl.
4159
4160 2009-11-23  Bruno Haible  <bruno@clisp.org>
4161
4162         duplocale: Add support for glibc 2.3.x.
4163         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
4164
4165 2009-11-22  Bruno Haible  <bruno@clisp.org>
4166
4167         vasnprintf: Tiny optimization.
4168         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
4169         MacOS X.
4170
4171 2009-11-22  Bruno Haible  <bruno@clisp.org>
4172
4173         Tests for module 'duplocale'.
4174         * modules/duplocale-tests: New file.
4175         * tests/test-duplocale.c: New file.
4176
4177         New module 'duplocale'.
4178         * m4/duplocale.m4: New file.
4179         * lib/locale.in.h (duplocale): New declaration.
4180         * lib/duplocale.c: New file.
4181         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
4182         gl_LOCALE_H_DEFAULTS): New macros.
4183         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
4184         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
4185         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
4186         REPLACE_DUPLOCALE.
4187         * modules/duplocale: New file.
4188         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
4189
4190 2009-11-22  Bruno Haible  <bruno@clisp.org>
4191
4192         * modules/locale-tests (configure.ac): Test for newlocale function.
4193         * tests/test-locale.c: When the system has extended locale functions,
4194         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
4195
4196         locale: Make locale_t available when possible.
4197         * lib/locale.in.h: Include <xlocale.h> when it exists.
4198         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
4199         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
4200         * modules/locale (Depends-on): Add extensions.
4201         (Makefile.am): Also substitute HAVE_XLOCALE_H.
4202         * doc/posix-headers/locale.texi: Document the problem with locale_t.
4203
4204 2009-11-22  Bruno Haible  <bruno@clisp.org>
4205
4206         Add comments.
4207         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
4208         invocation.
4209         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
4210         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
4211         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
4212
4213 2009-11-22  Bruno Haible  <bruno@clisp.org>
4214
4215         error: account for the possibility of freopen (stdout).
4216         * lib/error.c: Include <unistd.h>.
4217         (flush_stdout): New function, extracted from error and error_at_line.
4218         Determine stdout's fd dynamically.
4219         (error, error_at_line): Invoke flush_stdout.
4220         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
4221         * modules/error (Depends-on): Add unistd.
4222
4223 2009-11-22  Bruno Haible  <bruno@clisp.org>
4224
4225         diffseq: Add comment.
4226         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
4227
4228 2009-11-22  Jim Meyering  <meyering@redhat.com>
4229
4230         c-stack: avoid defining an unused static function
4231         * lib/c-stack.c (find_stack_direction): Do not define this function
4232         when it will not be used.
4233
4234         diffseq: avoid spurious gcc warnings
4235         * lib/diffseq.h (IF_LINT2): Define.
4236         (compareseq): Use it to initialize two members of "part".
4237         This avoids two used-uninitialized warnings.
4238
4239 2009-11-21  Jim Meyering  <meyering@redhat.com>
4240
4241         c-stack: avoid "ignoring return value of `write'" warning
4242         * lib/c-stack.c: Include "ignore-value.h".
4243         (die): Explicitly ignore each write return value.
4244         * modules/c-stack (Depends-on): Add ignore-value.
4245
4246 2009-11-21  Bruno Haible  <bruno@clisp.org>
4247
4248         diffseq: reduce scope of variable 'best'.
4249         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
4250         variable, earlier used for two different purposes.
4251
4252 2009-11-21  Jim Meyering  <meyering@redhat.com>
4253
4254         diffseq: remove useless assignment to "best"
4255         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
4256         assignment.  At that point "best" is already guaranteed to be zero.
4257
4258 2009-11-20  Eric Blake  <ebb9@byu.net>
4259
4260         build: mention ftp redirector in release announcements
4261         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
4262         values that used to come from cfg.mk; mention FTP redirect URL.
4263         * build-aux/announce-gen: Mention the mirror list.
4264         Suggested by Karl Berry.
4265
4266         nanosleep: improve port to mingw
4267         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
4268         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
4269         LIB_NANOSLEEP, but only when needed.
4270         * modules/select (Link): Document LIBSOCKET.
4271         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
4272         enough.
4273
4274         nanosleep: work around cygwin bug
4275         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
4276         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
4277         bug.
4278         (getnow): Delete, not needed.
4279         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
4280         LIB_CLOCK_GETTIME.
4281         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
4282         clock-time, gettime.
4283         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
4284         bug.
4285         * modules/nanosleep-tests: New test.
4286         * tests/test-nanosleep.c: New file.
4287
4288         sleep: work around cygwin bug
4289         * lib/sleep.c (rpl_sleep): Work around the bug.
4290         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
4291         (gl_PREREQ_SLEEP): Delete unused macro.
4292         * modules/sleep (Depends-on): Add verify.
4293         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
4294         * modules/unistd (Makefile.am): Substitute witness.
4295         * lib/unistd.in.h (sleep): Update prototype.
4296         * doc/posix-functions/sleep.texi (sleep): Document the bug.
4297         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
4298         * modules/sleep-tests (Depends-on): Check for alarm.
4299
4300 2009-11-20  Jim Meyering  <meyering@redhat.com>
4301
4302         maint.mk: improve sc_prohibit_magic_number_exit
4303         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
4304         so it does not match uses like System.exit(1).
4305         Add comments showing how to correct all offenders.
4306
4307 2009-11-19  Eric Blake  <ebb9@byu.net>
4308
4309         xalloc-die-tests: add missing library
4310         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
4311
4312         test-xvasprintf: silence compiler warnings
4313         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
4314         empty string from gcc.
4315
4316 2009-11-19  Jim Meyering  <meyering@redhat.com>
4317
4318         xfreopen: new module, from coreutils
4319         * modules/xfreopen: New module.
4320         * lib/xfreopen.c: New file.
4321         * lib/xfreopen.h: New file.
4322         * MODULES.html.sh (File stream based Input/Output"): Add it.
4323
4324 2009-11-19  Eric Blake  <ebb9@byu.net>
4325
4326         manywarnings: depend on warnings
4327         * modules/manywarnings (Depends-on): Add warnings.
4328
4329         build: avoid compiler warnings
4330         * lib/select.c (rpl_select): Delete unused variable.
4331         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
4332
4333 2009-11-18  Eric Blake  <ebb9@byu.net>
4334
4335         tests: avoid false negative with --with-packager
4336         * tests/test-version-etc.sh: Discard packager information.
4337         * tests/test-argp-version-etc-1.sh: Likewise.
4338         Reported by Mike Frysinger.
4339
4340         utimens: fix regression on Solaris
4341         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
4342         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
4343         can only change fd timestamps via futimesat.  Instead, use an
4344         additional witness macro to avoid BSD bug.
4345         Reported by Jim Meyering.
4346
4347 2009-11-17  Eric Blake  <ebb9@byu.net>
4348
4349         usleep: use it to simplify tests
4350         * modules/stat-time-tests (Depends-on): Add usleep.
4351         (configure.ac): Drop usleep check.
4352         * modules/chown-tests (Depends-on, configure.ac): Likewise.
4353         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
4354         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
4355         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
4356         * modules/openat-tests (Depends-on, configure.ac): Likewise.
4357         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
4358         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
4359         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
4360         Likewise.
4361         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
4362         * tests/test-lchown.h (nap): Likewise.
4363         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
4364         * tests/test-stat-time.c (nap): Likewise.
4365         * tests/test-utimens-common.h (nap): Update comments.
4366
4367         usleep: new module
4368         * modules/usleep: New file.
4369         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
4370         * lib/usleep.c (usleep): Likewise.
4371         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
4372         * modules/unistd (Makefile.am): Substitute witnesses.
4373         * lib/unistd.in.h (usleep): Add declaration.
4374         * doc/pastposix-functions/usleep.texi (usleep): Document this.
4375         * MODULES.html.sh (Date and time): Likewise.
4376         * modules/usleep-tests (Depends-on): New test.
4377         * tests/test-usleep.c: New file.
4378
4379         chown: work around OpenBSD bug
4380         * lib/chown.c (rpl_chown): Work around the bug.
4381         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
4382         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
4383         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
4384         * modules/chown (Depends-on): Add stdbool.
4385         * modules/lchown (Depends-on): Likewise.
4386         * doc/posix-functions/chown.texi (chown): Document the bug.
4387         * doc/posix-functions/lchown.texi (lchown): Likewise.
4388         * tests/test-lchown.h (test_chown): Relax test.
4389
4390         mkstemp: avoid conflict with C++ keyword template
4391         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
4392         * lib/mkostemp.c (mkostemp): Likewise.
4393         * lib/mkostemps.c (mkostemps): Likewise.
4394         * lib/mkstemp.c (mkstemp): Likewise.
4395         * lib/mkstemps.c (mkstemps): Likewise.
4396
4397         xalloc-die-tests: optimize
4398         * tests/test-xalloc-die.sh: Reduce number of processes.
4399
4400 2009-11-17  Simon Josefsson  <simon@josefsson.org>
4401
4402         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
4403         patch from ludo@gnu.org (Ludovic Courtès).
4404
4405 2009-11-17  Jim Meyering  <meyering@redhat.com>
4406
4407         version-etc: use proper license string
4408         * modules/version-etc (License): Use LGPL, not LGPLv3+.
4409         * modules/version-etc-fsf: Likewise.
4410
4411 2009-11-17  Simon Josefsson  <simon@josefsson.org>
4412
4413         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
4414         printed to stdout.  Deal with EOL differences.
4415
4416 2009-11-17  Eric Blake  <ebb9@byu.net>
4417
4418         unsetenv: work around Solaris bug
4419         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
4420         * lib/unsetenv.c (rpl_unsetenv): Work around it.
4421         Reported by Jim Meyering.
4422
4423         vasnprintf: avoid compiler warnings
4424         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
4425         variables.
4426         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
4427
4428 2009-11-17  Simon Josefsson  <simon@josefsson.org>
4429
4430         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
4431         settings since xalloc-die is no longer the self test,
4432         xalloc-die.sh is.
4433
4434 2009-11-17  Jim Meyering  <meyering@redhat.com>
4435
4436         test-xalloc-die.sh: make the code agree with the commit log
4437         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
4438         at the end, just in case you happen to have a test-xalloc-die
4439         program in some other PATH directory.
4440
4441         test-xalloc-die.sh: fix a portability bug
4442         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
4443         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
4444         Otherwise, argv[0] (as often seen in diagnostics) would be too
4445         system-dependent, sometimes with, and sometimes without the leading "./".
4446
4447         version-etc-fsf: relax license to LGPLv3+
4448         * modules/version-etc-fsf (License): Relax license.
4449
4450 2009-11-16  Eric Blake  <ebb9@byu.net>
4451
4452         xalloc-die-tests: avoid printing null pointer
4453         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
4454         shell script.
4455         * tests/test-xalloc-die.c (program_name): Declare.
4456         * tests/test-xalloc-die.sh (tmpfiles): New file.
4457
4458         setenv, unsetenv: work around various bugs
4459         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
4460         (setenv) [HAVE_SETENV]: Work around bugs.
4461         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
4462         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
4463         for bugs.
4464         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
4465         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
4466         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
4467         * modules/stdlib (Makefile.am): Update substitutions.
4468         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
4469         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
4470         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
4471         * modules/setenv-tests: New test.
4472         * modules/unsetenv-tests: Likewise.
4473         * tests/test-setenv.c: New file.
4474         * tests/test-unsetenv.c: Likewise.
4475
4476 2009-11-16  Jim Meyering  <meyering@redhat.com>
4477
4478         version-etc: relax license to LGPLv3+
4479         * modules/version-etc (License): Relax license.
4480
4481         better AC_REQUIRE expanded-before-required-warning avoidance
4482         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
4483         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
4484         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
4485         which is no longer needed.
4486
4487 2009-11-16  Eric Blake  <ebb9@byu.net>
4488
4489         test-freading: clean up temporary file
4490         * tests/test-freading.c (main): Remove file on success, and use
4491         ASSERT more liberally.
4492         Reported by Jim Meyering.
4493
4494 2009-11-16  Jim Meyering  <meyering@redhat.com>
4495
4496         avoid new AC_REQUIRE expanded-before-required warnings
4497         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
4498         merely using it.
4499         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
4500         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
4501
4502 2009-11-15  Simon Josefsson  <simon@josefsson.org>
4503
4504         * tests/test-xalloc-die.c: New file.
4505         * modules/xalloc-die-tests: New file.
4506         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
4507         XFAIL_TESTS so it can be appended by modules.
4508
4509 2009-11-15  Simon Josefsson  <simon@josefsson.org>
4510
4511         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
4512         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
4513
4514 2009-11-14  Eric Blake  <ebb9@byu.net>
4515
4516         fnmatch: avoid compiler warning
4517         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
4518         to silence compiler warning about mismatch signedness in ?:.
4519         Reported by Robert Millan.
4520
4521         intprops: add double-inclusion guard
4522         * lib/intprops.h: Allow idempotent includes.
4523         Suggested by Bruce Korb.
4524
4525         openat: detect Solaris fchownat bug
4526         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
4527         penalizing glibc chownat when only lchownat is broken.
4528         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
4529         trailing slash bugs.
4530         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
4531         * modules/openat-tests (Files): Include more files.
4532         (Depends-on): Add mgetgroups, sleep, stat-time.
4533         (configure.ac): Add additional checks.
4534         (Makefile.am): Build new test.
4535         * tests/test-fchownat.c: New file.
4536
4537         lchown: detect Solaris and FreeBSD bug
4538         * lib/lchown.c (rpl_lchown): Work around bug.
4539         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
4540         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
4541         * modules/unistd (Makefile.am): Populate it.
4542         * lib/unistd.in.h (lchown): Update declaration.
4543         * doc/posix-functions/lchown.texi (lchown): Document the bug.
4544         * modules/lchown-tests: New file.
4545         * tests/test-lchown.h (test_lchown): Likewise.
4546         * tests/test-lchown.c (main): Likewise.
4547
4548         chown: detect Solaris and FreeBSD bug
4549         * lib/chown.c (rpl_chown): Work around bug.
4550         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
4551         (gl_PREREQ_CHOWN): Delete.
4552         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
4553         * modules/unistd (Makefile.am): Populate it.
4554         * lib/unistd.in.h (chown): Update declaration.
4555         * lib/lchown.c (chown): Update client.
4556         * modules/lchown (Depends-on): Add lstat.
4557         * doc/posix-functions/chown.texi (chown): Document the bug.
4558         * doc/posix-functions/getgroups.texi (getgroups): Document
4559         getgroups pitfall.
4560         * modules/chown-tests: New file.
4561         * tests/test-chown.h (test_chown): Likewise.
4562         * tests/test-chown.c (main): Likewise.
4563
4564 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
4565
4566         gnulib-tool: correctly detect absence of m4 directories
4567         * gnulib-tool: Avoid extra newline on data passed to wc -l.
4568
4569 2009-11-14  Jim Meyering  <meyering@redhat.com>
4570
4571         maint.mk: Prohibit inclusion of "xalloc.h" without use.
4572         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
4573
4574 2009-11-14  John W. Eaton  <jwe@gnu.org>
4575
4576         strftime.h: wrap funtion declaration in extern "C" block
4577         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
4578
4579 2009-11-13  Eric Blake  <ebb9@byu.net>
4580
4581         getgroups: avoid compiler warning
4582         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
4583
4584         getgroups: work around FreeBSD bug
4585         * lib/getgroups.c (rpl_getgroups): Work around the bug.
4586         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
4587         * doc/posix-functions/getgroups.texi (getgroups): Document it.
4588         * tests/test-getgroups.c (main): Fix buffer overrun.
4589
4590         getgroups: avoid compilation failure
4591         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
4592         * modules/getgroups (Depends-on): Add stdint.
4593
4594 2009-11-13  Jim Meyering  <meyering@redhat.com>
4595
4596         test-getgroups: avoid compilation failure
4597         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
4598
4599 2009-11-13  Eric Blake  <ebb9@byu.net>
4600
4601         mgetgroups: new module, taken from coreutils
4602         * modules/mgetgroups: New file.
4603         * lib/mgetgroups.h: Likewise.
4604         * lib/mgetgroups.c (mgetgroups): Likewise.
4605         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
4606         * MODULES.html.sh (Users and groups): Mention it.
4607
4608         getgroups: don't expose GETGROUPS_T to user
4609         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
4610         an element at a time if GETGROUPS_T is wrong size.
4611         * lib/getugroups.h (getugroups): Change signature.
4612         * lib/unistd.in.h (getgroups): Likewise.
4613         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
4614         signature needs fixing.
4615         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
4616         AC_TYPE_GETGROUPS.
4617         * modules/group-member (Depends-on): Add getgroups.
4618         * lib/group-member.c (group_info, get_group_info): Use gid_t.
4619         (group_member): Rely on getgroups replacement.
4620         * lib/getugroups.c (getugroups): Use gid_t.
4621         * tests/test-getgroups.c (main): Likewise.
4622         * NEWS: Mention the signature change.
4623         * doc/posix-functions/getgroups.texi (getgroups): Mention the
4624         problem with signature.
4625         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
4626         GETGROUPS_T is still useful for setgroups.
4627
4628         getgroups, getugroups: provide stubs for mingw
4629         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
4630         * lib/getugroups.c (getugroups): Likewise.
4631         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
4632         function.  Modernize replacement scheme.
4633         (gl_PREREQ_GETGROUPS): Delete.
4634         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
4635         * modules/getgroups (configure.ac): Declare witness.
4636         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
4637         * modules/unistd (Depends-on): Substitute witness.
4638         * lib/unistd.in.h (getgroups): Declare replacement.
4639
4640         getgroups: avoid calling exit
4641         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
4642         drop xalloc.
4643         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
4644         dependencies.
4645         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
4646         exiting, in the rare case of malloc failure.
4647
4648         getgroups: fix logic error
4649         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
4650         has more than 20 groups.
4651         * modules/getgroups-tests: New test.
4652         * tests/test-getgroups.c: New file.
4653
4654 2009-11-13  Simon Josefsson  <simon@josefsson.org>
4655
4656         * tests/test-base64.c: Improve.
4657
4658 2009-11-13  Simon Josefsson  <simon@josefsson.org>
4659
4660         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
4661         Blake <ebb9@byu.net>.
4662
4663 2009-11-13  Simon Josefsson  <simon@josefsson.org>
4664
4665         * tests/test-xvasprintf.c: Add %s%s related checks.
4666
4667 2009-11-12  Eric Blake  <ebb9@byu.net>
4668
4669         version-etc: match standards.texi style
4670         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
4671         and use <> only for URLs.
4672
4673 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
4674
4675         fts: do not fail on a submount during traversal
4676         * lib/fts.c (fts_build): Read the stat info again after opening
4677         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
4678         Original report at http://bugzilla.redhat.com/501848.
4679
4680 2009-11-12  Jim Meyering  <meyering@redhat.com>
4681
4682         bootstrap: sync from coreutils
4683         * build-aux/bootstrap (bootstrap_epilogue): New function.
4684         Use git_modules_config in one more place.  This make bootstrap's
4685         --gnulib-srcdir option more useful for testing.
4686
4687         bootstrap: generalize autoheader check
4688         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
4689         AC_CONFIG_HEADERS.
4690
4691 2009-11-11  Eric Blake  <ebb9@byu.net>
4692
4693         mkfifoat: use new modules for Solaris and BSD bugs
4694         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
4695         * lib/mkfifoat.c (mknodat): Split...
4696         * lib/mknodat.c (mknodat): ...into new file.
4697         * modules/mkfifoat (Files): Ship new file.
4698         (Depends-on): Add mkfifo, mknod.
4699         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
4700         (Depends-on): Add symlink.
4701         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
4702         redundant with test_mkfifo.h.
4703         (do_mkfifoat, do_mknodat): New helpers.
4704
4705         mknod: new module
4706         * modules/mknod: New file.
4707         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
4708         * lib/mknod.c (mknod): Likewise.
4709         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
4710         defaults.
4711         * modules/sys_stat (Makefile.am): Substitute them.
4712         * lib/sys_stat.in.h (mknod): Declare replacement.
4713         * MODULES.html.sh (Support for systems lacking POSIX:2008):
4714         Document it.
4715         * doc/posix-functions/mknod.texi (mknod): Likewise.
4716         * modules/mknod-tests: New test.
4717         * tests/test-mknod.c: Likewise.
4718
4719         mkfifo: new module
4720         * modules/mkfifo: New file.
4721         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
4722         * lib/mkfifo.c (mkfifo): Likewise.
4723         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
4724         defaults.
4725         * modules/sys_stat (Makefile.am): Substitute them.
4726         * lib/sys_stat.in.h (mkfifo): Declare replacement.
4727         * MODULES.html.sh (Support for systems lacking POSIX:2008):
4728         Document it.
4729         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
4730         * modules/mkfifo-tests: New test.
4731         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
4732         from test-mkfifoat.c.
4733         * tests/test-mkfifo.c: New file.
4734
4735         readlink: detect FreeBSD bug
4736         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
4737         slash on symlink.
4738         * doc/posix-functions/readlink.texi (readlink): Document the bug.
4739         * tests/test-readlink.h (test_readlink): Enhance test.
4740
4741         symlink: detect FreeBSD bug
4742         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
4743         slash on symlink.
4744         * doc/posix-functions/symlink.texi (symlink): Document the bug.
4745         * tests/test-symlink.h (test_symlink): Enhance test.
4746
4747 2009-11-10  Eric Blake  <ebb9@byu.net>
4748
4749         link: detect FreeBSD bug
4750         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
4751         symlink.
4752         * doc/posix-functions/link.texi (link): Document the bug.
4753         * tests/test-link.h (test_link): Enhance test.
4754         * tests/test-linkat.c (main): Update caller.
4755
4756         unlink, remove: detect FreeBSD bug
4757         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
4758         slash on symlink.
4759         * doc/posix-functions/unlink.texi (unlink): Document the bug.
4760         * doc/posix-functions/remove.texi (remove): Likewise.
4761         * tests/test-unlink.h (test_unlink): Enhance test.
4762         * tests/test-remove.c (main): Likewise.
4763
4764 2009-11-09  Eric Blake  <ebb9@byu.net>
4765
4766         rename: detect FreeBSD bug
4767         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
4768         slash on symlink.
4769         * modules/renameat-tests (Depends-on): Add filenamecat.
4770         * tests/test-rename.h (test_rename): Allow one more errno.
4771         * tests/test-renameat.c (main): Likewise.
4772         * doc/posix-functions/rename.texi (rename): Document the bug.
4773
4774         open: detect FreeBSD bug
4775         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
4776         symlink.
4777         * doc/posix-functions/open.texi (open): Document the bug.
4778         * doc/posix-functions/utimes.texi (utimes): Likewise.
4779         * tests/test-open.h (test_open): Add parameters, and test symlink
4780         handling.
4781         * tests/test-open.c (main): Adjust caller.
4782         * tests/test-fcntl-safer.c (main): Likewise.
4783         * modules/open-tests (Depends-on): Add stdbool, symlink.
4784         * modules/fcntl-safer-tests (Depends-on): Likewise.
4785         * tests/test-openat.c (main): Add test-open tests.
4786
4787         stat: detect FreeBSD bug
4788         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
4789         symlink.
4790         * doc/posix-functions/stat.texi (stat): Document the bug.
4791         * tests/test-stat.h (test_stat_func): Add argument.
4792         * tests/test-stat.c (main): Adjust caller.
4793         * tests/test-fstatat.c (main): Likewise.
4794         * modules/stat-tests (Depends-on): Add stdbool, symlink.
4795         Reported by Jim Meyering.
4796
4797 2009-11-09  James Youngman  <jay@gnu.org>
4798
4799         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
4800         * lib/strftime.c: Correct placement of #include "ignore-value.h".
4801
4802 2009-11-08  Jim Meyering  <meyering@redhat.com>
4803
4804         utimens: remove invalid futimesat call
4805         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
4806         It used the file descriptor of the target file as the DIR_FD
4807         parameter and NULL as the file name.  That caused failure with
4808         errno == EFAULT on FreeBSD-8.0-rc2
4809
4810 2009-11-07  Eric Blake  <ebb9@byu.net>
4811
4812         fflush, freadseek: use fseeko, not fseek
4813         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
4814         (clear_ungetc_buffer): Avoid potential problems on large files.
4815         * lib/freadseek.c (freadseek): Likewise.
4816         * modules/freadseek (Depends-on): Add fseeko.
4817         * modules/fseek (configure.ac): Set a witness.
4818         * tests/test-fflush.c (main): Use fseeko.
4819         * tests/test-fpurge.c (fseek): Disable link warning.
4820         * tests/test-freadable.c (fseek): Likewise.
4821         * tests/test-freading.c (fseek): Likewise.
4822         * tests/test-fseeko.c (fseek): Likewise.
4823         * tests/test-ftell.c (fseek): Likewise.
4824         * tests/test-ftello.c (fseek): Likewise.
4825         * tests/test-fwritable.c (fseek): Likewise.
4826         * tests/test-fwriting.c (fseek): Likewise.
4827
4828 2009-11-06  Simon Josefsson  <simon@josefsson.org>
4829
4830         * modules/memchr (Depends-on): Drop getpagesize dependency.
4831
4832 2009-11-06  Simon Josefsson  <simon@josefsson.org>
4833
4834         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
4835         Reported by Ludovic Courtès.
4836         * build-aux/pmccabe2html: Improve example usage.
4837         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
4838
4839 2009-11-06  Jim Meyering  <meyering@redhat.com>
4840
4841         do-release-commit-and-tag: New module.
4842         Automate the release-commit and tag process.
4843         * build-aux/do-release-commit-and-tag: New script, from coreutils.
4844         * modules/do-release-commit-and-tag: New file.
4845         * MODULES.html.sh (Support for maintaining and releasing): Add it.
4846
4847 2009-11-06  Simon Josefsson  <simon@josefsson.org>
4848
4849         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
4850         because test-select.c uses inet_pton.
4851
4852 2009-11-06  Simon Josefsson  <simon@josefsson.org>
4853
4854         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
4855         GETADDRINFO_LIB.  Bump serial number.
4856         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
4857         Suggested by Eric Blake <ebb9@byu.net>.
4858
4859 2009-11-05  Eric Blake  <ebb9@byu.net>
4860
4861         strtod: detect darwin bug
4862         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
4863         Reported by Leo Davis.
4864
4865         freopen-safer: new module
4866         * modules/freopen-safer: New module.
4867         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
4868         * lib/freopen-safer.c (freopen_safer): New file.
4869         * lib/stdio-safer.h (freopen_safer): New declaration.
4870         * lib/stdio--.h (freopen): New override.
4871         * MODULES.html.sh (File stream based Input/Output): Mention it.
4872         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
4873         freopen-safer module.
4874         * doc/posix-functions/stderr.texi (stderr): Likewise.
4875         * doc/posix-functions/stdin.texi (stdin): Likewise.
4876         * doc/posix-functions/stdout.texi (stdout): Likewise.
4877         * modules/freopen-safer-tests: New test.
4878         * tests/test-reopen-safer.c: New file.
4879
4880 2009-11-05  Jim Meyering  <meyering@redhat.com>
4881
4882         maint.mk: Prohibit inclusion of "close-stream.h" without use.
4883         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
4884
4885 2009-11-05  Simon Josefsson  <simon@josefsson.org>
4886
4887         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
4888
4889 2009-11-05  Simon Josefsson  <simon@josefsson.org>
4890
4891         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
4892
4893 2009-11-05  Simon Josefsson  <simon@josefsson.org>
4894
4895         Fix link error.
4896         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
4897         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
4898
4899 2009-11-05  Simon Josefsson  <simon@josefsson.org>
4900
4901         * tests/test-func.c: Also test value of __func__.
4902
4903 2009-11-05  Simon Josefsson  <simon@josefsson.org>
4904
4905         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
4906         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
4907
4908 2009-11-05  Bruno Haible  <bruno@clisp.org>
4909
4910         Fix link error.
4911         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
4912         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
4913         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
4914
4915 2009-11-05  Bruno Haible  <bruno@clisp.org>
4916
4917         Tests for module 'inet_pton'.
4918         * modules/inet_pton-tests: New file.
4919         * tests/test-inet_pton.c: New file.
4920
4921 2009-11-05  Bruno Haible  <bruno@clisp.org>
4922
4923         Tests for module 'inet_ntop'.
4924         * modules/inet_ntop-tests: New file.
4925         * tests/test-inet_ntop.c: New file.
4926
4927 2009-11-04  Eric Blake  <ebb9@byu.net>
4928
4929         stdlib-safer: wrap all mkstemp variants
4930         * modules/mkostemp (configure.ac): Set witness.
4931         * modules/mkostemps (configure.ac): Likewise.
4932         * modules/mkstemps (configure.ac): Likewise.
4933         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
4934         (mkstemps_safer): Wrap more functions.
4935         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
4936         wrapping.
4937         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
4938         (mkstemps_safer): Implement the wrappers.
4939
4940         mkstemps, mkostemps: new modules
4941         * modules/mkostemps: New module.
4942         * modules/mkstemps: Likewise.
4943         * lib/mkostemps.c (mkostemps): New file.
4944         * lib/mkstemps.c (mkstemps): Likewise.
4945         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
4946         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
4947         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
4948         * modules/stdlib (Makefile.am): Substitute them.
4949         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
4950         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
4951         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
4952         * doc/gnulib.texi (Glibc stdlib.h): Include them.
4953         * MODULES.html.sh (File system functions): Mention them.
4954
4955         tempname: resync from glibc
4956         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
4957         same values for __GT_FILE as glibc.  Abort even when assertions
4958         are disabled.
4959         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
4960         match its value otherwise.  Allow idempotent inclusion.
4961         * lib/mkdtemp.c (mkdtemp): Adjust caller.
4962         * lib/mkostemp.c (mkostemp): Likewise.
4963         * lib/mkstemp.c (mkstemp): Likewise.
4964         * lib/tmpfile.c (tmpfile): Likewise.
4965         * NEWS: Document this.
4966
4967         utimens: fix use of futimens on older Linux
4968         * lib/utimens.c (fdutimens): Use updated, rather than original,
4969         timespec to avoid bug in older Linux kernel.
4970         Reported by Simon Josefsson.
4971
4972 2009-11-04  Bruno Haible  <bruno@clisp.org>
4973
4974         Make num_processors more flexible and consistent.
4975         * lib/nproc.h (enum nproc_query): New type.
4976         (num_processors): Add a 'query' argument.
4977         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
4978         (num_processors): Add a 'query' argument. Test the value of the
4979         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
4980         mingw, count the number of CPUs available for the current process.
4981         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
4982         Check for sched_getaffinity and sched_getaffinity_np.
4983         * modules/nproc (Depends-on): Add c-ctype, extensions.
4984         * NEWS: Mention the change.
4985
4986 2009-11-03  Bruno Haible  <bruno@clisp.org>
4987
4988         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
4989
4990 2009-11-03  Jim Meyering  <meyering@redhat.com>
4991
4992         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
4993         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
4994         if it is defined.
4995
4996 2009-11-02  Eric Blake  <ebb9@byu.net>
4997
4998         mktime, timegm: share common declaration
4999         * lib/mktime-internal.h: New file.
5000         * lib/mktime.c: Use it rather than open-coding a declaration.
5001         * lib/timegm.c: Likewise.
5002         * modules/mktime (Files): Ship it.
5003         * modules/timegm (Files): Likewise.
5004         Suggested by Bruno Haible.
5005
5006         test-update-copyright: update test to match script changes
5007         * tests/test-update-copyright.sh: Avoid hard-coding perl
5008         location.  Don't update *.bak created by earlier runs.
5009
5010 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
5011             Simon Josefsson  <simon@josefsson.org>
5012             Bruno Haible  <bruno@clisp.org>
5013
5014         Fix link error on Solaris 8.
5015         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
5016         also in libnsl. Define also INET_PTON_LIB.
5017         * modules/inet_pton (Link): New section.
5018
5019 2009-11-02  Simon Josefsson  <simon@josefsson.org>
5020             Bruno Haible  <bruno@clisp.org>
5021
5022         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
5023         * modules/inet_ntop (Link): New section.
5024         Reported by Boyan Kasarov <bkasarov@gmail.com>.
5025
5026 2009-11-02  Eric Blake  <ebb9@byu.net>
5027
5028         maint: avoid compiler warnings in m4 macros
5029         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
5030         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
5031
5032 2009-11-02  Simon Josefsson  <simon@josefsson.org>
5033
5034         * m4/pmccabe2html.m4: Remove file.
5035         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
5036         function.  Change maintainer.
5037         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
5038         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
5039         Courtès).
5040
5041 2009-10-31  Eric Blake  <ebb9@byu.net>
5042
5043         fseeko: fix m4 regression
5044         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
5045         regression from 2009-10-27.
5046         Reported by Ralf Wildenhues.
5047
5048 2009-10-31  Jim Meyering  <meyering@redhat.com>
5049
5050         inttostr: aesthetics and improved (compile-time) safety
5051         Define inttype_is_signed rather than inttype_is_unsigned,
5052         since the sole use is via "#if inttype_is_signed".
5053         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
5054         inttype_is_unsigned.
5055         * lib/offtostr.c (inttype_is_signed): Likewise.
5056         * lib/uinttostr.c (inttype_is_signed): Likewise.
5057         * lib/umaxtostr.c (inttype_is_signed): Likewise.
5058         * lib/inttostr.c (inttostr): Use verify to cross-check the
5059         inttype_is_signed value and the signedness of the actual type.
5060         * modules/inttostr (Depends-on): Add verify.
5061
5062 2009-10-30  Eric Blake  <ebb9@byu.net>
5063
5064         build: avoid compiler warnings
5065         * lib/fchmodat.c (lchmod): Mark unused variables.
5066         * lib/getopt.c (_getopt_initialize): Likewise.
5067         * lib/mktime.c (__mktime_internal): Provide prototype.
5068         * lib/inttostr.c (inttostr): Avoid compiler warning even with
5069         older gcc that do not understand #pragma GCC diagnostic.
5070         * lib/uinttostr.c (inttype_is_unsigned): Define.
5071         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
5072
5073 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
5074
5075         stat: fix compilation on AIX
5076         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
5077         only see struct stat64.
5078
5079 2009-10-30  Eric Blake  <ebb9@byu.net>
5080
5081         exclude: make more robust
5082         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
5083         rather than masking a coding bug.
5084         Suggested by Bruno Haible.
5085
5086 2009-10-30  Jim Meyering  <meyering@redhat.com>
5087
5088         perl scripts: remove #!/usr/bin/perl in favor of more portable...
5089         Rather than putting #!/usr/bin/perl on the first line,
5090         start with a variant of what's recommended by "man perlrun" that
5091         invokes the first "perl" program from your shell's search path.
5092         * build-aux/gitlog-to-changelog: Replace #!... as above.
5093         Add a "Local Variables" perl mode setting.
5094         Prompted by a patch from Ludovic Courtès.
5095         Improved by Eric Blake.
5096         * build-aux/useless-if-before-free: Likewise.
5097         * build-aux/announce-gen: Likewise.
5098         * build-aux/update-copyright: Likewise.
5099
5100 2009-10-29  Eric Blake  <ebb9@byu.net>
5101
5102         filenamecat-lgpl: adjust clients
5103         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
5104         filenamecat.
5105         * modules/renameat (Depends-on): Likewise.
5106
5107         filenamecat: split into filenamecat-lgpl
5108         * modules/filenamecat-lgpl: New module.
5109         * modules/filenamecat (Files): Move library-safe files into
5110         filenamecat-lgpl.
5111         (Depends-on): Add filenamecat-lgpl.
5112         (configure.ac): Declare witness.
5113         * lib/filenamecat.h (file_name_concat): Only declare when using
5114         GPL module.
5115         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
5116         Move...
5117         * lib/filenamecat-lgpl.c: ...into new file.
5118         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
5119         (gl_FILE_NAME_CONCAT): Use it.
5120         * MODULES.html.sh (File system functions): Mention new module.
5121
5122         argp: avoid memory leak
5123         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
5124         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
5125         base_name, since the latter malloc()s and can call exit().
5126         Leak introduced 2006-07-03.
5127
5128         dirname-lgpl: adjust clients that don't need full dirname
5129         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
5130         * modules/filenamecat (Depends-on): Likewise.
5131         * modules/linkat (Depends-on): Likewise.
5132         * modules/mkancesdirs (Depends-on): Likewise.
5133         * modules/mkdir (Depends-on): Likewise.
5134         * modules/openat (Depends-on): Likewise.
5135         * modules/savewd (Depends-on): Likewise.
5136         * modules/rename (Depends-on): Likewise.
5137         (License): Relax license.
5138         * modules/mkdir-tests (Depends-on): Drop progname.
5139         (Makefile.am): Delete unneeded LDADD.
5140         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
5141
5142         dirname: split into dirname-lgpl
5143         * modules/dirname-lgpl: New module.
5144         * modules/dirname (Files): Move library-safe files into
5145         dirname-lgpl.
5146         (Depends-on): Add dirname-lgpl.
5147         (configure.ac): Declare witness.
5148         * modules/double-slash-root (License): Relax license.
5149         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
5150         module.
5151         * lib/dirname.c (dir_len, mdir_name): Move...
5152         * lib/dirname-lgpl.c: ...into new file.
5153         * lib/basename.c (last_component, base_len): Move...
5154         * lib/basename-lgpl.c: ...into new file.
5155         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
5156         (gl_DIRNAME): Use it.
5157         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
5158         Mention new module.
5159         * modules/dirname-tests (Depends-on): Add progname.
5160         * tests/test-dirname.c (program_name): Delete.
5161
5162         mkdir: make safe for libraries
5163         * modules/mkdir (Depends-on): Drop xalloc.
5164         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
5165         exit.
5166
5167         tests: avoid some compiler warnings
5168         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
5169         literals.
5170         * tests/test-memchr.c (main): Avoid type mismatch.
5171         * tests/test-arpa_inet.c (main): Avoid unused parameters.
5172         * tests/test-base64.c (main): Likewise.
5173         * tests/test-getdelim.c (main): Likewise.
5174         * tests/test-gethostname.c (main): Likewise.
5175         * tests/test-getline.c (main): Likewise.
5176         * tests/test-netinet_in.c (main): Likewise.
5177         * tests/test-select.c (open_server_socket, main): Likewise.
5178         * tests/test-select-stdin.c (main): Likewise.
5179         * tests/test-sockets.c (main): Likewise.
5180         * tests/test-strsignal.c (main): Likewise.
5181         * tests/test-sys_select.c (main): Likewise.
5182         * tests/test-sys_socket.c (main): Likewise.
5183         * tests/test-u64.c (main): Likewise.
5184         * tests/test-xfprintf-posix.c (main): Likewise.
5185         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
5186
5187         sockets: avoid compiler warning
5188         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
5189
5190         maint: detect usage(1) and other suspicious exits
5191         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
5192
5193 2009-10-29  Jim Meyering  <meyering@redhat.com>
5194
5195         timespec: long-to-int truncation could make timespec_cmp malfunction
5196         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
5197         a multiple of 2^32 nanoseconds as no difference.
5198
5199 2009-10-28  Jim Meyering  <meyering@redhat.com>
5200
5201         fprintftime: wrap macro code argument in "do {...} while(0)"
5202         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
5203         cpy macro must be a statement that can be followed by a semicolon.
5204         Now that the else clause contains a comment and is hence longer
5205         than one line, I require curly braces.  That in turn requires
5206         that we wrap this code block in the standard do...while(0).
5207
5208         fprintftime: remove stray semicolon from previous change
5209         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
5210
5211         fprintftime: avoid a warning about ignored fwrite return value
5212         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
5213         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
5214         that is unsafe.
5215         * modules/fprintftime (Depends-on): Add ignore-value.
5216
5217         exclude: avoid an unwarranted warning
5218         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
5219
5220 2009-10-27  Eric Blake  <ebb9@byu.net>
5221
5222         fseek: avoid compilation failure when fflush is replaced
5223         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
5224         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
5225         module is in use.
5226         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
5227         module is not in use; since REPLACE_FSEEK worked otherwise.
5228         (GNULIB_FTELLO): Likewise for ftell.
5229         Reported by Ian Beckwith and others.
5230
5231 2009-10-27  Bruno Haible  <bruno@clisp.org>
5232
5233         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
5234         Reported by Jim Meyering.
5235
5236 2009-10-27  Jim Meyering  <jim@meyering.net>
5237             Bruno Haible  <bruno@clisp.org>
5238
5239         Avoid warning despite dropping the return value of fwrite.
5240         * lib/unicodeio.c: Include ignore-value.h.
5241         (fwrite_success_callback): Explicitly ignore fwrite's return value.
5242         * modules/unicodeio (Depends-on): Add ignore-value.
5243
5244 2009-10-26  Eric Blake  <ebb9@byu.net>
5245
5246         areadlinkat: fix fallback path
5247         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
5248         pointer and zero.
5249
5250 2009-10-22  Pádraig Brady  <P@draigBrady.com>
5251
5252         Use a better IO block size for modern systems
5253         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
5254         * lib/md2.c: Likewise.
5255         * lib/md4.c: Likewise.
5256         * lib/md5.c: Likewise.
5257         * lib/sha1.c: Likewise.
5258         * lib/sha256.c: Likewise.
5259         * lib/sha512.c: Likewise.
5260
5261 2009-10-22  Eric Blake  <ebb9@byu.net>
5262
5263         tests: avoid several compiler warnings
5264         * tests/test-getcwd.c (main): Avoid buffer underflow.
5265         * tests/test-getdate.c (main): String literals are not safe with
5266         putenv, so use setenv.  Declare unused argument.
5267         * modules/getdate-tests (Depends-on): Add setenv.
5268         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
5269         problems with string literals in char *.
5270         * tests/test-hash.c (main): Avoid shadowing declaration.
5271         (insert_new): Treat string literals as char const *.
5272         * tests/test-getopt.h (test_getopt): Likewise.
5273         (getopt_loop): Alter types to minimize casting elsewhere.
5274         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
5275         (test_getopt_long_posix): Likewise.
5276         (do_getopt_long): Add wrapper to minimize casting.
5277         * tests/test-atexit.c (clear_temp_file): Use void.
5278         * tests/test-areadlink-with-size.c (main): Declare unused
5279         arguments.
5280         * tests/test-areadlink.c (main): Likewise.
5281         * tests/test-areadlinkat-with-size.c (main): Likewise.
5282         * tests/test-areadlinkat.c (main): Likewise.
5283         * tests/test-canonicalize-lgpl.c (main): Likewise.
5284         * tests/test-canonicalize.c (main): Likewise.
5285         * tests/test-dirent-safer.c (main): Likewise.
5286         * tests/test-dirname.c (main): Likewise.
5287         * tests/test-dup2.c (main): Likewise.
5288         * tests/test-fchdir.c (main): Likewise.
5289         * tests/test-fcntl-h.c (main): Likewise.
5290         * tests/test-fcntl-safer.c (main): Likewise.
5291         * tests/test-fdopendir.c (main): Likewise.
5292         * tests/test-fdutimensat.c (main): Likewise.
5293         * tests/test-fflush.c (main): Likewise.
5294         * tests/test-filenamecat.c (main): Likewise.
5295         * tests/test-filevercmp.c (main): Likewise.
5296         * tests/test-fopen-safer.c (main): Likewise.
5297         * tests/test-fopen.c (main): Likewise.
5298         * tests/test-fpending.c (main): Likewise.
5299         * tests/test-fpurge.c (main): Likewise.
5300         * tests/test-freading.c (main): Likewise.
5301         * tests/test-fstatat.c (main): Likewise.
5302         * tests/test-fsync.c (main): Likewise.
5303         * tests/test-futimens.c (main): Likewise.
5304         * tests/test-getndelim2.c (main): Likewise.
5305         * tests/test-gettimeofday.c (main): Likewise.
5306         * tests/test-getopt.c (main): Likewise.
5307         * tests/test-i-ring.c (main): Likewise.
5308         * tests/test-inttypes.c (main): Likewise.
5309         * tests/test-link.c (main): Likewise.
5310         * tests/test-lstat.c (main): Likewise.
5311         * tests/test-math.c (main): Likewise.
5312         * tests/test-md5.c (main): Likewise.
5313         * tests/test-memchr2.c (main): Likewise.
5314         * tests/test-memrchr.c (main): Likewise.
5315         * tests/test-mkdir.c (main): Likewise.
5316         * tests/test-mkdirat.c (main): Likewise.
5317         * tests/test-mkfifoat.c (main): Likewise.
5318         * tests/test-open.c (main): Likewise.
5319         * tests/test-openat-safer.c (main): Likewise.
5320         * tests/test-openat.c (main): Likewise.
5321         * tests/test-quotearg.c (main): Likewise.
5322         * tests/test-rawmemchr.c (main): Likewise.
5323         * tests/test-readlink.c (main): Likewise.
5324         * tests/test-remove.c (main): Likewise.
5325         * tests/test-rename.c (main): Likewise.
5326         * tests/test-renameat.c (main): Likewise.
5327         * tests/test-rmdir.c (main): Likewise.
5328         * tests/test-sha1.c (main): Likewise.
5329         * tests/test-signal.c (main): Likewise.
5330         * tests/test-sigaction.c (main): Likewise.
5331         * tests/test-stat.c (main): Likewise.
5332         * tests/test-stat-time.c (main): Likewise.
5333         * tests/test-stddef.c (main): Likewise.
5334         * tests/test-stdint.c (main): Likewise.
5335         * tests/test-stdio.c (main): Likewise.
5336         * tests/test-stdlib.c (main): Likewise.
5337         * tests/test-strchrnul.c (main): Likewise.
5338         * tests/test-strerror.c (main): Likewise.
5339         * tests/test-string.c (main): Likewise.
5340         * tests/test-strtod.c (main): Likewise.
5341         * tests/test-strverscmp.c (main): Likewise.
5342         * tests/test-symlink.c (main): Likewise.
5343         * tests/test-symlinkat.c (main): Likewise.
5344         * tests/test-sys_stat.c (main): Likewise.
5345         * tests/test-sys_time.c (main): Likewise.
5346         * tests/test-time.c (main): Likewise.
5347         * tests/test-unistd.c (main): Likewise.
5348         * tests/test-unlink.c (main): Likewise.
5349         * tests/test-unlinkat.c (main): Likewise.
5350         * tests/test-utimens.c (main): Likewise.
5351         * tests/test-utimensat.c (main): Likewise.
5352         * tests/test-version-etc.c (main): Likewise.
5353         * tests/test-wchar.c (main): Likewise.
5354         * tests/test-wctype.c (main): Likewise.
5355         * tests/test-xprintf-posix.c (main): Likewise.
5356         * tests/test-posixtm.c (main): Likewise.
5357         (STREQ): Delete unused macro.
5358         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
5359         shadowed variables.
5360         * tests/test-memchr.c (main): Likewise.
5361
5362 2009-10-21  Eric Blake  <ebb9@byu.net>
5363
5364         areadlinkat: avoid failure on older glibc
5365         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
5366         rather than mis-comparing 0 against FUNC_RESULT of char*.
5367
5368 2009-10-21  Bruno Haible  <bruno@clisp.org>
5369
5370         * modules/stpncpy (License): Relicense under LGPLv2+.
5371         Reported by David Lutterkort <lutter@redhat.com>.
5372
5373 2009-10-20  Eric Blake  <ebb9@byu.net>
5374
5375         utimensat: work around Solaris 9 bug
5376         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
5377         has trailing slash bugs.
5378         * tests/test-lutimens.h (test_lutimens): Enhance test.
5379         * tests/test-utimens.h (test_utimens): Likewise.
5380         * doc/posix-functions/utime.texi (utime): Enhance documentation.
5381         * doc/posix-functions/utimes.texi (utimes): Likewise.
5382         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
5383         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
5384         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
5385         * doc/posix-functions/futimens.texi (futimens): Likewise.
5386
5387         fdutimensat: new module
5388         * modules/fdutimensat: New file.
5389         * lib/fdutimensat.c (fdutimensat): Likewise.
5390         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
5391         * MODULES.html.sh (File system functions): Mention module.
5392         * modules/fdutimensat-tests: New test.
5393         * tests/test-fdutimensat.c: Likewise.
5394
5395         doc: regenerate INSTALL
5396         * doc/INSTALL: Reflect recent autoconf update.
5397         * doc/INSTALL.ISO: Likewise.
5398         * doc/INSTALL.UTF-8: Likewise.
5399
5400 2009-10-20  Pádraig Brady  <P@draigBrady.com>
5401
5402         acl: warn if ACL support is not detected
5403         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
5404
5405 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
5406
5407         * lib/nproc.h: Add extern "C" block for C++.
5408
5409 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
5410             Bruno Haible  <bruno@clisp.org>
5411
5412         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
5413         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
5414         * doc/posix-functions/isalpha.texi: Likewise.
5415         * doc/posix-functions/isblank.texi: Likewise.
5416         * doc/posix-functions/iscntrl.texi: Likewise.
5417         * doc/posix-functions/isdigit.texi: Likewise.
5418         * doc/posix-functions/isgraph.texi: Likewise.
5419         * doc/posix-functions/islower.texi: Likewise.
5420         * doc/posix-functions/isprint.texi: Likewise.
5421         * doc/posix-functions/ispunct.texi: Likewise.
5422         * doc/posix-functions/isspace.texi: Likewise.
5423         * doc/posix-functions/isupper.texi: Likewise.
5424         * doc/posix-functions/isxdigit.texi: Likewise.
5425
5426 2009-10-18  Bruno Haible  <bruno@clisp.org>
5427
5428         Tests for module 'isblank'.
5429         * modules/isblank-tests: New file.
5430         * tests/test-isblank.c: New file.
5431
5432         New module 'isblank'.
5433         * lib/isblank.c: New file.
5434         * m4/isblank.m4: New file.
5435         * modules/isblank: New file.
5436         * doc/posix-functions/isblank.texi: Mention the new module.
5437
5438 2009-10-18  Bruno Haible  <bruno@clisp.org>
5439
5440         New module 'ctype'.
5441         * lib/ctype.in.h: New file.
5442         * m4/ctype.m4: New file.
5443         * modules/ctype: New file.
5444         * doc/posix-headers/ctype.texi: Mention the new module.
5445
5446 2009-10-18  Jim Meyering  <meyering@redhat.com>
5447
5448         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
5449         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
5450         right after its initialization, rather than farther down.
5451         Keeping these in close proximity makes it easier to ensure
5452         that each such variable is initialized.  E.g.,
5453
5454             LIB_CLOCK_GETTIME=
5455             AC_SUBST([LIB_CLOCK_GETTIME])
5456
5457         This change also increments these serial numbers.
5458         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
5459         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
5460         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
5461
5462 2009-10-18  Bruno Haible  <bruno@clisp.org>
5463
5464         Don't let environment variables perturb build.
5465         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
5466         (gl_PREREQ_GETHRXTIME): ... not here.
5467
5468 2009-10-18  Bruno Haible  <bruno@clisp.org>
5469
5470         Avoid symlink attack in localcharset module.
5471         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
5472         (O_NOFOLLOW): Define fallback.
5473         (get_charset_aliases): Don't open the file if it is a symbolic link.
5474         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
5475         gl_FCNTL_H.
5476         (gl_FCNTL_H): Require it.
5477         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
5478         * modules/localcharset (Files): Add m4/fcntl_h.m4.
5479         Reported by Fergal Glynn <fglynn@veracode.com>.
5480
5481 2009-10-18  Bruno Haible  <bruno@clisp.org>
5482
5483         Implement nproc for mingw.
5484         * lib/nproc.c: Include <windows.h>
5485         (num_processors): On native Windows platforms, try GetSystemInfo.
5486
5487 2009-10-18  Bruno Haible  <bruno@clisp.org>
5488
5489         Implement nproc for IRIX.
5490         * lib/nproc.c: Include <sys/sysmp.h>.
5491         (num_processors): On IRIX systems, try sysmp.
5492         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
5493
5494 2009-10-18  Bruno Haible  <bruno@clisp.org>
5495
5496         Implement nproc for HP-UX.
5497         * lib/nproc.c: Include <sys/pstat.h>
5498         (num_processors): On HP-UX systems, try pstat_getdynamic.
5499         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
5500         pstat_getdynamic.
5501
5502 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
5503             Bruno Haible  <bruno@clisp.org>
5504
5505         Implement nproc for NetBSD, OpenBSD.
5506         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
5507         (ARRAY_SIZE): New macro.
5508         (num_processors): On BSD systems, try sysctl of HW_NCPU.
5509         * m4/nproc.m4: New file.
5510         * modules/nproc (Files): Add m4/nproc.m4.
5511         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
5512         (Makefile.am): Instead, augment lib_SOURCES.
5513
5514 2009-10-18  Bruno Haible  <bruno@clisp.org>
5515
5516         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
5517         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
5518         sys/param.h.
5519
5520 2009-10-16  Eric Blake  <ebb9@byu.net>
5521
5522         utimensat: new module
5523         * modules/utimensat: New file.
5524         * lib/utimensat.c (utimensat): Likewise.
5525         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
5526         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
5527         so we can work around Linux bugs.
5528         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
5529         * modules/sys_stat (Makefile.am): Substitute them.
5530         * lib/sys_stat.in.h (utimensat): Declare it.
5531         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
5532         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
5533         * modules/utimensat-tests: New test.
5534         * tests/test-utimensat.c: Likewise.
5535
5536         utimens: let lutimens work on non-symlinks
5537         * lib/utimens.c (lutimens): Fall back to utimens rather than
5538         failing with ENOSYS, when file is not a symlink.
5539         (utimens): Reduce redirection.
5540         * tests/test-lutimens.h (test_lutimens): Update test to cover
5541         non-symlinks.
5542         * tests/test-utimens.h (test_utimens): Update test to cover
5543         symlinks.
5544         * tests/test-utimens.c (main): Update caller.
5545
5546         utimens: cache whether utimensat syscall works
5547         * lib/utimens.c (utimensat_works_really): New cache variable.
5548         (fdutimens, lutimens): Use it to avoid failing syscall.
5549
5550         test-stat-time, test-utimens: improve portability
5551         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
5552         ext4 on alpha, and for cygwin.
5553         * tests/test-utimens-common.h: New file.
5554         (nap): Factor delays into single function.
5555         * tests/test-lutimens.h (test_lutimens): Use new header.
5556         * tests/test-futimens.h (test_futimens): Likewise.
5557         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
5558         timestamps to occur from same machine, as was done previously for
5559         test_utimens.
5560         * modules/utimens-tests (Files): Ship new file.
5561         * modules/futimens-tests (Files): Likewise.
5562         Reported in part by Jim Meyering.
5563
5564         sys_stat: sort replacement declarations
5565         * lib/sys_stat.in.h: Sort declarations.
5566         * lib/futimens.c (futimens): Fix typo.
5567
5568 2009-10-15  Jim Meyering  <meyering@redhat.com>
5569
5570         don't let environment settings perturb build
5571         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
5572         could cause a configure-time and/or build-time malfunction.
5573         Typically, a configure-time function-in-library test is performed
5574         via code like this:
5575
5576           LIB_VAR=
5577           AC_SUBST([LIB_VAR])
5578           prefix_saved_LIBS=$LIBS
5579             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
5580                        [test "$ac_cv_search_FUNC" = "none required" ||
5581                         LIB_VAR=$ac_cv_search_FUNC])
5582           LIBS=$prefix_saved_LIBS
5583
5584         However, in each of the files affected by this change, the LIB_VAR=
5585         initialization was omitted.  Thus, when set in the environment, its
5586         value would propagate into generated Makefiles when FUNC is not found
5587         in LIB_NAME.
5588         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
5589         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
5590         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
5591
5592 2009-10-14  Eric Blake  <ebb9@byu.net>
5593
5594         fchdir: avoid infinite recursion in mingw
5595         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
5596         recursing.
5597
5598         test-stat-time: port to mingw
5599         * tests/test-stat-time.c (force_unlink): Return a value.
5600         (test_ctime) [W32]: Fix compilation error.
5601         (nap): Don't call usleep with too large an argument.  Use
5602         force_unlink.
5603         * doc/pastposix-functions/usleep.texi (usleep): Document the
5604         portability issue.
5605
5606 2009-10-13  Jim Meyering  <meyering@redhat.com>
5607
5608         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
5609         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
5610         * modules/pipe-filter-ii: Likewise.
5611         * modules/sys_socket-tests: Likewise.
5612         * modules/tsearch-tests: Likewise.
5613         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
5614         (check): Depend on it.
5615
5616 2009-10-12  Eric Blake  <ebb9@byu.net>
5617
5618         utimens-tests: port to NFS file systems
5619         * tests/test-utimens.h (test_utimens): Refactor utimecmp
5620         comparisons to avoid spurious failures from timestamp drift
5621         between NFS machines.
5622
5623 2009-10-12  Eric Blake  <ebb9@byu.net>
5624
5625         stat-time-tests: minor cleanups
5626         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
5627         * tests/test-stat-time.c (nap): Separate assignment from call.
5628         Suggested by Paolo Bonzini and Bruno Haible.
5629
5630         sys_stat: guarantee struct timespec
5631         * lib/sys_stat.in.h (includes): Always include <time.h>
5632         * modules/sys_stat (Depends-on): Add time.
5633         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
5634         mode_t permission values.
5635         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
5636         get at subsecond timestamps.
5637
5638 2009-10-10  Eric Blake  <ebb9@byu.net>
5639
5640         futimens: new module
5641         * modules/futimens: New file.
5642         * lib/futimens.c (futimens): Likewise.
5643         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
5644         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
5645         we can work around Linux bugs.
5646         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
5647         * modules/sys_stat (Makefile.am): Substitute them.
5648         * lib/sys_stat.in.h (futimens): Declare it.
5649         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
5650         * doc/posix-functions/futimens.texi (futimens): Likewise.
5651         * modules/futimens-tests: New test.
5652         * tests/test-futimens.c: Likewise.
5653
5654         utimens: introduce fdutimens
5655         * lib/utimens.h (fdutimens): New prototype.
5656         * lib/utimens.c (gl_futimens): Move guts...
5657         (fdutimens): ...to new interface.
5658         * tests/test-utimens.c (do_fdutimens): Use it.
5659
5660         utimens: add UTIME_NOW and UTIME_OMIT support
5661         * lib/utimens.c (validate_timespec, update_timespec): New helper
5662         functions.
5663         (gl_futimens, lutimens): Use them.
5664         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
5665         stdbool, sys_stat.
5666         (Link): Mention resulting library dependency.
5667         * modules/utimecmp (Link): Likewise.
5668         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
5669         (Makefile.am): Pick up library dependency.
5670         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
5671         definition.
5672         * tests/test-sys_stat.c: Test the definitions.
5673         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
5674         * NEWS: Document library dependency.
5675
5676         utimecmp: support symlink timestamps
5677         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
5678         hashing when possible.  Use pathconf when available.
5679         (SYSCALL_RESOLUTION): Recognize tighter resolution.
5680         * modules/utimecmp (Depends-on): Add lstat.
5681
5682         utimens: add lutimens interface
5683         * lib/utimens.c (lutimens): New function.
5684         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
5685         * lib/utimens.h (lutimens): Declare new interface.
5686         * tests/test-utimens.c (main): Enhance test.
5687         * tests/test-lutimens.h (test_lutimens): New file.
5688         * modules/utimens-tests (Files): Distribute it.
5689         (Depends-on): Add symlink.
5690         (configure.ac): Check for usleep.
5691
5692         utimens: validate futimens usage
5693         * lib/utimens.c (gl_futimens): Require valid fd up front, using
5694         fewer syscalls on failure later on.  Avoid compiler warning on
5695         mingw.
5696         * modules/utimens (Depends-on): Add dup2.
5697
5698         utimens: add test
5699         * modules/utimens-tests: New test.
5700         * tests/test-utimens.h: New file.
5701         * tests/test-futimens.h: Likewise.
5702         * tests/test-utimens.c: Likewise.
5703
5704         doc: mention timestamp portability issues
5705         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
5706         instead.
5707         * doc/posix-functions/utime.texi (utime): Likewise.
5708         * doc/posix-functions/utimes.texi (utimes): Likewise.
5709         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
5710         instead.
5711         * doc/posix-functions/futimens.texi (futimens): Mention utimens
5712         module.
5713         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
5714         Mention weakness with symlink timestamps.
5715         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
5716         to utimensat/futimens instead.
5717         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
5718
5719         test-dup2: enhance test
5720         * tests/test-dup2.c (main): Also check AT_FDCWD.
5721
5722         test-stat-time: avoid more spurious failures
5723         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
5724         xfs; and avoid race if the two timestamps cross quantization edge.
5725
5726         relocatable: prefer 'file system' over 'filesystem'
5727         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
5728         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
5729         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
5730         * doc/relocatable.texi (Enabling Relocatability): Likewise.
5731         * lib/relocatable.c (compute_curr_prefix): Likewise.
5732
5733 2009-10-10  Jim Meyering  <meyering@redhat.com>
5734
5735         stat-time-tests: check for the usleep function
5736         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
5737
5738 2009-10-10  Bruno Haible  <bruno@clisp.org>
5739
5740         * modules/xnanosleep: Put the Link section after the Include section.
5741
5742 2009-10-09  Eric Blake  <ebb9@byu.net>
5743
5744         dup2: work around FreeBSD 6.1 bug
5745         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
5746         * doc/posix-functions/dup2.texi (dup2): Document it.
5747         Reported by Nelson H. F. Beebe and Jim Meyering.
5748
5749         test-stat-time: port to buggy NFS clients
5750         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
5751         (test_ctime): Also skip test if mtime and ctime are skewed.
5752
5753         maint: prefer 'file system' over 'filesystem'
5754         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
5755         * doc/posix-functions/lstat.texi (lstat): Likewise.
5756         * lib/file-has-acl.c (file_has_acl): Likewise.
5757         * lib/fwriteerror.c [TEST]: Likewise.
5758         * tests/test-areadlink.h (test_areadlink): Likewise.
5759         * tests/test-areadlinkat-with-size.c (main): Likewise.
5760         * tests/test-areadlinkat.c (main): Likewise.
5761         * tests/test-canonicalize-lgpl.c (main): Likewise.
5762         * tests/test-canonicalize.c (main): Likewise.
5763         * tests/test-fstatat.c (main): Likewise.
5764         * tests/test-linkat.c (main): Likewise.
5765         * tests/test-lstat.h (test_lstat_func): Likewise.
5766         * tests/test-mkdir.h (test_mkdir): Likewise.
5767         * tests/test-readlink.h (test_readlink): Likewise.
5768         * tests/test-remove.c (main): Likewise.
5769         * tests/test-rename.h (test_rename): Likewise.
5770         * tests/test-renameat.c (main): Likewise.
5771         * tests/test-rmdir.h (test_rmdir_func): Likewise.
5772         * tests/test-symlink.h (test_symlink): Likewise.
5773         * tests/test-symlinkat.c (main): Likewise.
5774         * tests/test-unlink.h (test_unlink_func): Likewise.
5775         * tests/test-unlinkat.c (main): Likewise.
5776
5777         maint: make realtime library usage explicit
5778         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
5779         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
5780         * modules/settime (Link): Likewise.
5781         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
5782
5783         test-stat-time: speed up execution
5784         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
5785         warning on mingw.
5786         (nap): New helper function.
5787         (prepare_test): Use it to reduce sleep time.
5788         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
5789         execution.
5790         * modules/stat-time-tests (configure.ac): Check for usleep.
5791
5792 2009-10-09  Jim Meyering  <meyering@redhat.com>
5793
5794         selinux-h: always use getfilecon wrappers
5795         * lib/getfilecon.c: New file.
5796         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
5797         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
5798         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
5799         (fgetfilecon): Provide a stub.
5800         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
5801         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
5802         file unconditionally.
5803         When <selinux/selinux.h> is found, arrange to use wrappers.
5804         * modules/selinux-h (Files): Add getfilecon.c.
5805         (Makefile.am): Substitute include-next-related bits
5806         into the now-always-generated selinux/selinux.h file.
5807         * doc/glibc-functions/lgetfilecon.texi: New file.
5808         * doc/glibc-functions/fgetfilecon.texi: New file.
5809         * doc/glibc-functions/getfilecon.texi: New file.
5810         * doc/glibc-functions/getfilecon-desc.texi: New file.
5811         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
5812         which to pull in the new files.
5813         * MODULES.html.sh (Misc): Add selinux-h.
5814
5815 2009-10-08  Jim Meyering  <meyering@redhat.com>
5816
5817         unistd: fix comment typo
5818         * lib/unistd.in.h (euidaccess): Fix a comment typo.
5819
5820 2009-10-08  Eric Blake  <ebb9@byu.net>
5821
5822         areadlink: use SIZE_MAX consistently
5823         * modules/areadlink (Depends-on): Add stdint.
5824         * modules/areadlink-with-size (Depends-on): Likewise.
5825         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
5826         gives NULL; drop sys/types, since unistd gives size_t; and add
5827         stdint for SIZE_MAX.
5828         (SIZE_MAX): Rely on headers.
5829         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
5830         and add stdint.
5831         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
5832         (SIZE_MAX): Likewise.
5833         (INITIAL_BUF_SIZE): Turn into enum.
5834         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
5835
5836 2009-10-08  Jim Meyering  <meyering@redhat.com>
5837
5838         areadlinkat: avoid compilation failure
5839         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
5840         Fix typo in comment.
5841
5842 2009-10-07  Eric Blake  <ebb9@byu.net>
5843
5844         areadlinkat-with-size: new module
5845         * modules/areadlinkat-with-size: New module.
5846         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
5847         * lib/areadlink.h (areadlinkat): Declare it.
5848         * MODULES.html.sh (File system functions): Mention it.
5849         * modules/areadlinkat-with-size-tests: New test.
5850         * tests/test-areadlinkat-with-size.c: New file.
5851
5852         xreadlinkat: new module
5853         * modules/xreadlinkat: New module.
5854         * lib/xreadlinkat.c (xreadlinkat): New file.
5855         * lib/xreadlink.h (xreadlinkat): Declare it.
5856         * MODULES.html.sh (File system functions): Mention it.
5857
5858         areadlinkat: new module
5859         * lib/at-func.c (FUNC_FAIL): New define.
5860         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
5861         * modules/areadlinkat: New module.
5862         * lib/linkat.c (areadlinkat): Move...
5863         * lib/areadlinkat.c (areadlinkat): ...to new file.
5864         * lib/areadlink.h (areadlinkat): Declare it.
5865         * modules/linkat (Depends-on): Add areadlinkat.
5866         * MODULES.html.sh (File system functions): Mention it.
5867         * modules/areadlinkat-tests: New test.
5868         * tests/test-areadlinkat.c: New file.
5869
5870         areadlink, areadlink-with-size: add tests
5871         * modules/areadlink-tests: New test.
5872         * modules/areadlink-with-size-tests: Likewise.
5873         * tests/test-areadlink.h: New file.
5874         * tests/test-areadlink.c: Likewise.
5875         * tests/test-areadlink-with-size.c: Likewise.
5876
5877         maint: minor cleanups
5878         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
5879         _UNUSED_PARAMETER_ instead.
5880         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
5881         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
5882         * modules/linkat-tests (Files): Distribute test-link.h.
5883
5884         openat, utimens: whitespace cleanup
5885         * lib/openat.c: Prefer space throughout, rather than mix of 8
5886         spaces vs. tabs.
5887         * lib/at-func.c: Likewise.
5888         * lib/utimens.c: Likewise.
5889
5890         openat: avoid using wrong fd
5891         * lib/openat.c (openat_permissive): Reject user's fd if saving the
5892         working directory chooses same fd.
5893         * lib/at-func.c (AT_FUNC_NAME): Likewise.
5894
5895         mkdir, mkdirat: fix cygwin 1.5.x bug
5896         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
5897         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
5898         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
5899         bug.
5900         (gl_PREREQ_MKDIR): Delete unused macro.
5901         * modules/mkdir (Files): Track file rename.
5902         (configure.ac): Update macro name.
5903         * modules/openat (Depends-on): Add mkdir.
5904         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
5905
5906         mkdir, mkdirat: add tests
5907         * modules/mkdir-tests: New test.
5908         * tests/test-mkdir.h: New file.
5909         * tests/test-mkdir.c: Likewise.
5910         * tests/test-mkdirat.c: Likewise.
5911         * modules/openat-tests (Files): Add new files.
5912         (Makefile.am): Run new test.
5913
5914 2009-10-06  Eric Blake  <ebb9@byu.net>
5915
5916         doc: tweak *at function documentation
5917         * doc/posix-functions/faccessat.texi (faccessat): Mention
5918         known issue with replacement.
5919         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
5920         * doc/posix-functions/linkat.texi (linkat): Likewise.
5921         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
5922         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
5923         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
5924         * doc/posix-functions/renameat.texi (renameat): Likewise.
5925         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
5926
5927         openat: fix GNU/Hurd bug in unlinkat
5928         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
5929         broken.
5930         * doc/posix-functions/unlink.texi (unlink): Document this.
5931         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
5932
5933         fdopendir: fix GNU/Hurd bug
5934         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
5935         allowing non-directory fds.
5936         * lib/fdopendir.c (rpl_fdopendir): Work around it.
5937         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
5938         * modules/dirent (Makefile.am): Substitute it.
5939         * lib/dirent.in.h (fdopendir): Declare replacement.
5940         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
5941         * tests/test-fdopendir.c (main): Test something other than
5942         /dev/null, since on Hurd that behaves like a directory.
5943
5944         test-symlink: port to GNU/Hurd
5945         * tests/test-symlink.h (test_symlink): Relax expected errno.
5946
5947         doc: tweak more cygwin information
5948         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
5949         now compatible with glibc.
5950         * doc/posix-functions/getopt.texi (getopt): Likewise.
5951
5952         getopt-gnu: add another test
5953         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
5954         guarantee behavior relied on by m4.
5955         * tests/test-getopt.c (main): Use it.
5956         * modules/getopt-posix-tests (Depends-on): Add setenv.
5957         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
5958
5959         getopt: fix compilation on darwin
5960         * lib/getopt.in.h (includes): Leave breadcrumbs during system
5961         include.
5962         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
5963         Reported by Ludovic Courtès.
5964
5965 2009-10-06  Bruno Haible  <bruno@clisp.org>
5966
5967         * modules/size_max (Description): Discourage its use.
5968         Reported by Simon Josefsson.
5969
5970 2009-10-06  Jim Meyering  <meyering@redhat.com>
5971
5972         linkat: avoid compilation failure
5973         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
5974
5975 2009-10-05  Eric Blake  <ebb9@byu.net>
5976
5977         linkat: support Linux 2.6.17
5978         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
5979         linkat on Linux, but allow cache variable override.
5980         * lib/linkat.c (rpl_linkat): Define override.
5981         * modules/linkat (Depends-on): Add symlinkat.
5982         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
5983         * modules/unistd (Makefile.am): Substitute it.
5984         * lib/unistd.in.h (linkat): Declare replacement.
5985         Reported by Pádraig Brady.
5986
5987         quotearg: port test to systems with C.UTF-8 locale
5988         * tests/test-quotearg.c (struct result_strings): Add another
5989         member, differentiating between C.ASCII and C.UTF-8 handling.
5990         (compare_strings): Add parameter.
5991         (main): Adjust all callers.
5992
5993         getopt: avoid clash with FreeBSD _getopt_internal
5994         * lib/getopt.in.h (_getopt_internal): Override the name.
5995         * lib/getopt_int.h (includes): Pick up any overrides.
5996         Reported by Reuben Thomas.
5997
5998         hash: allow C89 compilation
5999         * lib/hash.c (check_tuning): Move declaration before statement.
6000         Reported by Reuben Thomas.
6001
6002 2009-10-05  Karl Berry  <karl@gnu.org>
6003
6004         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
6005
6006 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
6007             Bruno Haible  <bruno@clisp.org>
6008
6009         * lib/uname.c (uname): Use a table-driven algorithm to compute
6010         Windows NT versions.
6011
6012 2009-10-04  Bruno Haible  <bruno@clisp.org>
6013
6014         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
6015         program_invocation_short_name.
6016         * modules/progname (configure.ac): Test for presence of
6017         program_invocation_short_name.
6018         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
6019
6020 2009-10-04  Bruno Haible  <bruno@clisp.org>
6021
6022         * lib/progname.c (set_program_name): Fix comment.
6023         Reported by Jim Meyering.
6024
6025 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
6026             Bruno Haible  <bruno@clisp.org>
6027
6028         * lib/uname.c: Include <string.h>.
6029         (uname): Do only one call to GetVersionEx in the common case.
6030
6031 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
6032             Bruno Haible  <bruno@clisp.org>
6033
6034         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
6035         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
6036         (uname): Add support for Windows CE and various non-x86 CPU types.
6037
6038 2009-10-03  Bruno Haible  <bruno@clisp.org>
6039
6040         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
6041         invocation to tests/configure.ac.
6042         Reported by Ian Beckwith <ianb@erislabs.net>.
6043
6044 2009-10-02  Eric Blake  <ebb9@byu.net>
6045
6046         fchdir: avoid compiler warning
6047         * lib/fchdir.c (canonicalize_file_name)
6048         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
6049
6050         test-open: support mingw errno values
6051         * tests/test-open.h (test_open): Relax test.
6052         * tests/test-fopen.h (test_fopen): Likewise.
6053         * tests/test-openat-safer.c (main): Likewise.
6054
6055         open: fix opening directory on mingw
6056         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
6057
6058         test-open: on GNU/Hurd, /dev/null is a directory
6059         * tests/test-fopen.h (main): Rename...
6060         (test_fopen): ...to this.  Use a guaranteed non-directory when
6061         confirming open behavior on trailing slash.
6062         * tests/test-openat-safer.c (main): Likewise.
6063         * tests/test-open.h (main): Likewise....
6064         (test_open): ...to this.
6065         * tests/test-fopen.c (main): Adjust caller.
6066         * tests/test-fopen-safer.c (main): Likewise.
6067         * tests/test-open.c (main): Likewise.
6068         * tests/test-fcntl-safer.c (main): Likewise.
6069         Reported by Samuel Thibault.
6070
6071         rename, fchdir: don't ignore chdir failure
6072         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
6073         * lib/rename.c (rpl_rename) [W32]: Likewise.
6074         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
6075         an empty destination directory if source cannot be renamed,
6076         although there is still possibility for failure.
6077         * doc/posix-functions/rename.texi (rename): Document the race.
6078         Reported by Jim Meyering.
6079
6080         maint: cleanup whitespace in recent commits
6081         * lib/rename.c (rpl_rename): Remove tabs.
6082         * tests/test-link.h (test_link): Likewise.
6083         * lib/fchdir.c (get_name): Likewise.
6084         Reported by Jim Meyering.
6085
6086 2009-10-02  Ben Pfaff  <blp@gnu.org>
6087
6088         relocatable-prog-wrapper: Add missing dependency on
6089         double-slash-root.
6090         * modules/relocatable-prog-wrapper: Add dependency.
6091         Reported by Ian Beckwith <ianb@erislabs.net>.
6092
6093 2009-10-02  Eric Blake  <ebb9@byu.net>
6094
6095         renameat: fix Solaris bugs
6096         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
6097         needed fixing.
6098         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
6099         * modules/stdio (Makefile.am): Substitute it.
6100         * lib/stdio.in.h (renameat): Declare replacement.
6101         * lib/renameat.c (rpl_renameat): Implement fix.
6102
6103         renameat: new module
6104         * modules/renameat: New file.
6105         * lib/renameat.c (renameat): Likewise.
6106         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
6107         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
6108         * modules/stdio (Makefile.am): Substitute them.
6109         * lib/stdio.in.h (renameat): Declare it.
6110         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
6111         * doc/posix-functions/renameat.texi (renameat): Likewise.
6112         * modules/renameat-tests: New test.
6113         * tests/test-renameat.c: Likewise.
6114
6115         rename: fix mingw bugs
6116         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
6117         directory overwrite bugs.
6118
6119         rename: fix another cygwin 1.5 bug
6120         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
6121         checks.
6122         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
6123         unnecessary cygwin workarounds.  Also work around bug with moving
6124         full directory onto an empty one.
6125         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
6126
6127         rename-dest-slash: merge into rename module
6128         * modules/rename-dest-slash (Status): Mark obsolete.
6129         (Depends-on): Add rename.
6130         (Files): Let rename do it all.
6131         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
6132         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
6133         * m4/rename-dest-slash.m4: ...so this file can be deleted.
6134         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
6135         * lib/rename.c (rpl_rename): Update comments.
6136
6137         rename: fix cygwin 1.5.x bugs
6138         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
6139         * lib/rename.c (rpl_rename): Work around them.
6140         * modules/rename (Depends-on): Add same-inode.
6141
6142         rename: fix Solaris 10 bug
6143         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
6144         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
6145         was the only bug.
6146
6147         rename: fix Solaris 9 bug
6148         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
6149         on non-directory.  Avoid calling exit.
6150         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
6151         strdup.
6152         * modules/rename-tests (Depends-on): Drop lstat.
6153         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
6154         (gl_PREREQ_RENAME): Delete unused macro.
6155
6156         rename-dest-slash: fix NetBSD bug
6157         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
6158         links.
6159         * modules/rename-dest-slash (Depends-on): Add same-inode.
6160
6161         rename-tests: new test, exposes several platform bugs
6162         * modules/rename-tests: New file.
6163         * tests/test-rename.h: Likewise.
6164         * tests/test-rename.c: Likewise.
6165         * doc/posix-functions/rename.texi (rename): Improve documentation,
6166         including bugs that will eventually be fixed in gnulib.
6167
6168 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
6169
6170         * lib/uname.c: Include <stdlib.h>
6171         (uname): Assume version info is available.
6172
6173 2009-10-02  Jim Meyering  <meyering@redhat.com>
6174
6175         gnu-web-doc-update: correct --help output
6176         * build-aux/gnu-web-doc-update: Make --help output relevant.
6177
6178         gnu-web-doc-update: add standard options
6179         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
6180
6181         gnu-web-doc-update: New module.
6182         Use this script to automatically update the on-line web documentation
6183         for your GNU project at http://www.gnu.org/software/$pkg/manual/
6184         * modules/gnu-web-doc-update: New file, from coreutils.
6185         * build-aux/gnu-web-doc-update: New script.
6186
6187 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
6188
6189         link: LoadLibrary is not needed.
6190         * lib/link.c: Use GetModuleHandle.
6191
6192 2009-10-01  Eric Blake  <ebb9@byu.net>
6193
6194         getopt: bump serial number
6195         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
6196         change.
6197
6198         tests: tighten link, rmdir, and remove tests
6199         * tests/test-link.h (includes): No need to use <config.h> here.
6200         Clean up if directory hard link was created, otherwise test for
6201         trailing '.'.
6202         * tests/test-linkat.c (main): Simplify.
6203         * tests/test-remove.c (main): Enhance test for trailing '.'.
6204         * tests/test-rmdir.h (test_rmdir_func): Likewise.
6205
6206 2009-10-01  Jim Meyering  <meyering@redhat.com>
6207
6208         maint.mk: requiring "make major" was annoying, for a "minor" release.
6209         What is intended is "stable", to contrast with alpha and beta,
6210         so require "make stable", not "make major".
6211         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
6212         (get_tool_versions): Likewise.
6213         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
6214
6215 2009-09-30  Ben Pfaff  <blp@gnu.org>
6216
6217         Fix broken build of replacement for Windows tmpfile().
6218         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
6219         flags argument added along with the 'mkostemp' module.
6220
6221 2009-09-28  Bruno Haible  <bruno@clisp.org>
6222
6223         Avoid identifier clash with POSIX function 'remove' defined as a macro.
6224         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
6225         to 'remove_elt'.
6226         (gl_list_remove): Update.
6227         * lib/gl_list.c (gl_list_remove): Update.
6228         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
6229         to 'remove_elt'.
6230         (gl_oset_remove): Update.
6231         * lib/gl_list.c (gl_oset_remove): Update.
6232         Reported by Eric Blake.
6233
6234 2009-09-28  Eric Blake  <ebb9@byu.net>
6235
6236         doc: mention yet more cygwin 1.7 status
6237         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
6238         cygwin.
6239         * doc/glibc-functions/execvpe.texi (execvpe): New file.
6240         * doc/gnulib.texi (Glibc unistd.h): Mention it.
6241
6242         argp: fix test failure
6243         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
6244         that are not upper-case.  Pass correct range to tolower.
6245
6246 2009-09-27  Jim Meyering  <meyering@redhat.com>
6247
6248         test-yesno: work around sparc-dash here-document infelicity
6249         Without this change, the literal \177 byte in a here document
6250         would make dash 0.5.5.1-3 access uninitialized memory.
6251         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
6252         Instead, use a marker, "@", and filter through tr to create the desired
6253         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
6254
6255 2009-09-27  Bruno Haible  <bruno@clisp.org>
6256
6257         Disable untested support for new flavours of ACLs on AIX.
6258         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
6259         progress.
6260         * lib/set-mode-acl.c (qset_acl): Likewise.
6261
6262 2008-12-07  Bruno Haible  <bruno@clisp.org>
6263
6264         Add support for new flavours of ACLs on AIX. (Untested.)
6265         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
6266         (file_has_acl): Add support for newer AIX.
6267         * lib/set-mode-acl.c (qset_acl): Likewise.
6268         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
6269         Rainer Tammer <tammer@tammer.net>.
6270
6271 2009-09-26  Eric Blake  <ebb9@byu.net>
6272
6273         argp: fix compilation of getopt
6274         * lib/getopt.in.h (includes): Use different guard than glibc.
6275         Reported by Sergey Poznyakoff.
6276
6277         doc: mention more cygwin 1.7 status
6278         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
6279         bug.
6280         * doc/posix-functions/execl.texi (execl): Likewise.
6281         * doc/posix-functions/execle.texi (execle): Likewise.
6282         * doc/posix-functions/execlp.texi (execlp): Likewise.
6283         * doc/posix-functions/execv.texi (execv): Likewise.
6284         * doc/posix-functions/execve.texi (execve): Likewise.
6285         * doc/posix-functions/execvp.texi (execvp): Likewise.
6286         * doc/glibc-functions/canonicalize_file_name.texi
6287         (canonicalize_file_name): Cygwin 1.7 now provides this.
6288         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
6289         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
6290         on AT_SYMLINK_NOFOLLOW.
6291
6292 2009-09-24  Eric Blake  <ebb9@byu.net>
6293
6294         test-linkat: make test more robust
6295         * tests/test-linkat.c (main): Avoid collision with EEXIST.
6296
6297         getopt: fix inclusion guards for cygwin
6298         * modules/getopt-posix (Depends-on): Add include-next.
6299         (Makefile.am): Substitute more items in replacement header.
6300         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
6301         <getopt.h>.
6302         * lib/getopt.in.h (includes): Use split inclusion guard, and
6303         prefer <getopt.h> over include <unistd.h> when one is present.
6304         (option): Also override name of 'struct option'.
6305
6306         same-inode: revert prior change; it is not yet ready
6307         * NEWS: Undo mention of this change.
6308         * lib/same-inode.h (same-inode.h): Undo tri-state change.
6309         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
6310         * lib/cycle-check.c (cycle_check): Likewise.
6311         * lib/same.c (same_name): Likewise.
6312         * lib/at-func2.c (at_func2): Likewise.
6313
6314 2009-09-23  Eric Blake  <ebb9@byu.net>
6315
6316         linkat: new module
6317         * modules/linkat: New file.
6318         * lib/at-func2.c (at_func2): Likewise.
6319         * lib/linkat.c (linkat): Likewise.
6320         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
6321         * lib/openat-priv.h (at_func2): Add declaration.
6322         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
6323         * modules/unistd (Makefile.am): Substitute them.
6324         * lib/unistd.in.h (linkat): Declare it.
6325         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
6326         * doc/posix-functions/linkat.texi (linkat): Likewise.
6327         * doc/posix-functions/link.texi (link): Tweak wording.
6328         * tests/test-link.c (main): Move guts...
6329         * tests/test-link.h (test_link): ...into new file.
6330         * modules/linkat-tests: New test.
6331         * tests/test-linkat.c: Likewise.
6332         * modules/link-tests (Files): Ship new file.
6333         (Depends-on): Add stdbool.
6334
6335         dirname: add library-safe mdir_name
6336         * lib/dirname.h (mdir_name): New prototype.
6337         * lib/dirname.c (dir_name): Move guts...
6338         (mdir_name): ...to new function that avoids xalloc_die.
6339
6340         fchdir: another mingw fix
6341         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
6342         * lib/fchdir.c (get_name): New helper method; skips canonicalize
6343         on mingw (where it has not yet been ported), and make it optional
6344         elsewhere.
6345         (_gl_register_fd): Use it.
6346
6347         same-inode: make SAME_INODE tri-state, to port to mingw
6348         * NEWS: Mention this change.
6349         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
6350         st_ino always being 0.
6351         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
6352         * lib/cycle-check.c (cycle_check): Likewise.
6353         * lib/same.c (same_name): Likewise.
6354
6355         lstat: avoid mingw compilation error
6356         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
6357         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
6358         lstat ourselves.
6359         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
6360         was adequate.
6361         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
6362         the checks for lstat.
6363         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
6364
6365         link: fix test failure on Solaris 9
6366         * lib/link.c (rpl_link): Don't assume link will catch bogus
6367         trailing slash on source.
6368
6369         test-symlinkat: enhance test
6370         * tests/test-readlink.c (main): Move guts...
6371         * tests/test-readlink.h (test_readlink): ...into new file.
6372         * tests/test-symlink.c (main): Move guts...
6373         * tests/test-symlink.h (test_symlink): ...into new file.
6374         * tests/test-symlinkat.c (main): Use new files for further
6375         coverage.
6376         (do_symlink, do_readlink): New helper functions.
6377         * modules/symlink-tests (Files): Ship new file.
6378         (Depends-on): Add stdbool.
6379         * modules/readlink-tests (Files): Ship new file.
6380         (Depends-on): Add stdbool.
6381         * modules/symlinkat-tests (Files): Use new files.
6382
6383 2009-09-23  Eric Blake  <ebb9@byu.net>
6384
6385         readlink: document portability issue with symlink length
6386         * doc/posix-functions/lstat.texi (lstat): Mention that some file
6387         systems have bogus st_size on symlinks, and mention the
6388         areadlink-with-size module.
6389         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
6390         * doc/posix-functions/readlink.texi (readlink): Mention the
6391         areadlink module, and ERANGE failure.
6392         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
6393         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
6394
6395         readlink: fix Solaris 9 bug with trailing slash
6396         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
6397         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
6398         * doc/posix-functions/readlink.texi (readlink): Document this.
6399         * modules/readlink-tests: New test.
6400         * tests/test-readlink.c: Likewise.
6401
6402         readlink: fix cygwin 1.5.x bug with return type
6403         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
6404         * lib/unistd.in.h (readlink): Use ssize_t.
6405         * lib/readlink.c (readlink): Likewise.
6406         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
6407         * modules/unistd (Makefile.am): Substitute it.
6408         * lib/unistd.in.h (readlink): Declare replacement.
6409         * doc/posix-functions/readlink.texi (readlink): Document this.
6410
6411         symlink: use throughout gnulib
6412         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
6413         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
6414         symlink is not used.
6415         * modules/symlinkat (Depends-on): Add symlink.
6416         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
6417         * modules/canonicalize-tests (Depends-on): Likewise.
6418         * modules/lstat-tests (Depends-on): Likewise.
6419         * modules/openat-tests (Depends-on): Likewise.
6420         * modules/remove-tests (Depends-on): Likewise.
6421         * modules/rmdir-tests (Depends-on): Likewise.
6422         * modules/unlink-tests (Depends-on): Likewise.
6423         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
6424         * tests/test-canonicalize.c (symlink): Likewise.
6425         * tests/test-fstatat.c (symlink): Likewise.
6426         * tests/test-lstat.c (symlink): Likewise.
6427         * tests/test-remove.c (symlink): Likewise.
6428         * tests/test-rmdir.c (symlink): Likewise.
6429         * tests/test-unlink.c (symlink): Likewise.
6430         * tests/test-unlinkat.c (symlink): Likewise.
6431
6432         symlink: new module, for Solaris 9 bug
6433         * modules/symlink: New file.
6434         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
6435         * lib/symlink.c: Likewise.
6436         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
6437         * modules/unistd (Makefile.am): Substitute them.
6438         * lib/unistd.in.h (symlink): Declare replacement.
6439         * MODULES.html.sh (File system functions): Mention it.
6440         * doc/posix-functions/symlink.texi (symlink): Likewise.
6441         * modules/symlink-tests: New test.
6442         * tests/test-symlink.c: Likewise.
6443
6444 2009-09-23  Bruno Haible  <bruno@clisp.org>
6445
6446         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
6447         when needed.
6448         Test case: gnulib-tool --import --with-tests atexit inttypes.
6449         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
6450
6451 2009-09-23  Bruno Haible  <bruno@clisp.org>
6452
6453         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
6454         subcommand, not in a subshell.
6455
6456 2009-09-22  Eric Blake  <ebb9@byu.net>
6457
6458         unistd: sort replacement declarations
6459         * lib/unistd.in.h: Sort declarations.
6460
6461         open, openat: minor optimization
6462         * lib/open.c (open): If open succeeded, len is non-zero.
6463         * lib/openat.c (rpl_openat): Likewise.
6464
6465         link-follow: ensure correct result
6466         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
6467         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
6468         distinguish between possible failures.
6469
6470 2009-09-21  Eric Blake  <ebb9@byu.net>
6471
6472         fts: avoid compiler warning
6473         * lib/fts.c (dirent_inode_sort_may_be_useful)
6474         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
6475
6476 2009-09-19  Bruno Haible  <bruno@clisp.org>
6477
6478         * lib/progreloc.c (canonicalize_file_name): New declaration.
6479
6480 2009-09-19  Eric Blake  <ebb9@byu.net>
6481
6482         link: fix quoting
6483         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
6484
6485         openat: fix openat bugs on Solaris 9
6486         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
6487         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
6488         * modules/openat (Depends-on): Add open.
6489         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
6490         * modules/fcntl-h (Makefile.am): Substitute it.
6491         * lib/fcntl.in.h (openat): Declare replacement.
6492         * doc/posix-functions/openat.texi (openat): Document this.
6493
6494         openat: move fstatat and unlinkat into correct files
6495         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
6496         compiled.
6497         * lib/openat.c (fstatat, unlinkat): Move...
6498         * lib/fstatat.c (fstatat): ...into correct files.
6499         * lib/unlinkat.c (unlinkat): Likewise.
6500
6501         openat: fix unlinkat bugs on Solaris 9
6502         * lib/unlinkat.c (unlinkat): New file.
6503         * modules/openat (Depends-on): Add unlink.
6504         (Files): Distribute it.
6505         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
6506         trailing slash behavior is broken.
6507         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
6508         * modules/unistd (Makefile.am): Substitute it.
6509         * lib/unistd.in.h (unlinkat): Declare replacement.
6510         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
6511
6512         openat: fix fstatat bugs on Solaris 9
6513         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
6514         stat.
6515         * doc/posix-functions/fstatat.texi (fstatat): Document this.
6516
6517         test-unlinkat: enhance test, to expose Solaris 9 bug
6518         * tests/test-unlink.c (main): Factor guts...
6519         * tests/test-unlink.h (test_rmdir_func): ...into new file.
6520         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
6521         * tests/test-rmdir.c (main): Adjust caller.
6522         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
6523         (unlinker): New helper function.
6524         (rmdirat): Enhance check.
6525         * modules/rmdir-tests (Depends-on): Add stdbool.
6526         * modules/unlink-tests (Depends-on): Likewise.
6527         (Files): Add test-unlink.h.
6528         * modules/openat-tests (Files): Likewise.
6529         (Depends-on): Add unlinkdir.
6530
6531         test-fstatat: new test, to expose Solaris 9 bugs
6532         * tests/test-stat.c (main): Factor guts...
6533         * tests/test-stat.h (test_stat_func): ...into new file.
6534         * tests/test-lstat.c (main): Factor guts...
6535         * tests/test-lstat.h (test_lstat_func): ...into new file.
6536         * tests/test-fstatat.c: New file.
6537         * modules/stat-tests (Files): Add test-stat.h.
6538         * modules/lstat-tests (Files): Add test-lstat.h.
6539         (Depends-on): Add stdbool.
6540         * modules/openat-tests (Depends-on): Add pathmax.
6541         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
6542         (Makefile.am): Run new test.
6543
6544         remove: new module, for mingw and Solaris 9 bugs
6545         * modules/remove: New file.
6546         * lib/remove.c: Likewise.
6547         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
6548         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
6549         * modules/stdio (Makefile.am): Use them.
6550         * lib/stdio.in.h (remove): Declare replacement.
6551         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
6552         * doc/posix-functions/remove.texi (remove): Likewise.
6553         * modules/remove-tests: New test.
6554         * tests/test-remove.c: Likewise.
6555
6556         unlink: new module, for Solaris 9 bug
6557         * modules/unlink: New file.
6558         * lib/unlink.c: Likewise.
6559         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
6560         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
6561         * modules/unistd (Makefile.am): Use them.
6562         * lib/unistd.in.h (stat): Declare replacement.
6563         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
6564         * doc/posix-functions/unlink.texi (unlink): Likewise.
6565         * modules/unlink-tests: New test.
6566         * tests/test-unlink.c: Likewise.
6567
6568         lstat: fix Solaris 9 bug
6569         * lib/lstat.c (lstat): Also check for trailing slash on
6570         non-symlink, non-directories.  Use stat module to simplify logic.
6571         * doc/posix-functions/lstat.texi (lstat): Document it.
6572         * modules/lstat-tests (Depends-on): Add errno, same-inode.
6573         (configure.ac): Check for symlink.
6574         * tests/test-lstat.c (main): Add more tests.
6575
6576         stat: add as dependency to other modules
6577         * modules/chown (Depends-on): Add stat.
6578         * modules/euidaccess (Depends-on): Likewise.
6579         * modules/fchdir (Depends-on): Likewise.
6580         * modules/isdir (Depends-on): Likewise.
6581         * modules/link (Depends-on): Likewise.
6582         * modules/lstat (Depends-on): Likewise.
6583         * modules/mkdir-p (Depends-on): Likewise.
6584         * modules/modechange (Depends-on): Likewise.
6585         * modules/open (Depends-on): Likewise.
6586         * modules/readlink (Depends-on): Likewise.
6587         * modules/same (Depends-on): Likewise.
6588
6589         stat: fix Solaris 9 bug
6590         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
6591         slash.
6592         * lib/stat.c (rpl_stat): Work around it.
6593         * doc/posix-functions/stat.texi (stat): Update documentation.
6594
6595         stat: new module, for mingw bug
6596         * modules/stat: New file.
6597         * lib/stat.c: Likewise.
6598         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
6599         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
6600         * modules/sys_stat (Makefile.am): Use them.
6601         * lib/sys_stat.in.h (stat): Declare replacement.
6602         * lib/openat.c (fstatat): Deal with lstat and stat being function
6603         macros.
6604         * modules/openat (Depends-on): Add inline.
6605         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
6606         * doc/posix-functions/stat.texi (stat): Likewise.
6607         * modules/stat-tests: New test.
6608         * tests/test-stat.c: Likewise.
6609
6610 2009-09-19  Jim Meyering  <meyering@redhat.com>
6611
6612         syntax-check: detect unnecessary inclusion of canonicalize.h
6613         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
6614
6615 2009-09-19  Eric Blake  <ebb9@byu.net>
6616
6617         canonicalize-lgpl: adjust clients to use correct header
6618         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
6619         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
6620         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
6621         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
6622         * lib/progreloc.c (includes): Likewise.
6623
6624 2009-09-19  Jim Meyering  <meyering@redhat.com>
6625
6626         test-posixtm.c: correct a comment
6627         * tests/test-posixtm.c: Correct first-line comment.
6628         Spotted by Eric Blake.
6629
6630 2009-09-16  Jim Meyering  <meyering@redhat.com>
6631
6632         posixtm-tests: make T const-correct; add a test case
6633         * tests/test-posixtm.c (T): Declare const.
6634         Add a test for -(2^31+1).
6635         Remove useless can-succeed-only-in-2002 test.
6636
6637         posixtm-tests: adjust the sole failing test
6638         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
6639         expected output matches what mktime now produces.  Cross-checked via
6640         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
6641
6642         posixtm: move #ifdef'd tests into a new module
6643         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
6644         * tests/test-posixtm.c: ... this new file.
6645         * modules/posixtm-tests: New module.
6646
6647 2009-09-19  Eric Blake  <ebb9@byu.net>
6648
6649         openat: simplify use of at-func.c
6650         * lib/at-func.c (includes): Include prerequisites here, to
6651         simplify requirements on client files.
6652         * lib/openat-priv.h: Add double-inclusion guard.
6653         * lib/faccessat.c (includes): Simplify.
6654         * lib/fchmodat.c (includes): Likewise.
6655         * lib/fchownat.c (includes): Likewise.
6656         * lib/mkdirat.c (includes): Likewise.
6657         * lib/mkfifoat.c (includes): Likewise.
6658         * lib/symlinkat.c (includes): Likewise.
6659
6660         openat: allow return of fd 0
6661         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
6662         * modules/save-cwd (Depends-on): Replace fcntl-safer with
6663         unistd-safer.
6664         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
6665         <fcntl.h>; this module does not leak fds.
6666         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
6667         must be allowed to return 0, leaving openat_safer to add the
6668         safety.
6669         (openat_permissive): Avoid writing to just-opened fd 2 if
6670         restoring the current directory fails.
6671         * lib/openat-die.c (openat_restore_fail): Add comment.
6672         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
6673         (save_cwd): Guarantee safe fd, but without use of open_safer.
6674         * tests/test-openat.c: New test.
6675         * modules/openat-tests (Files, Makefile.am): Distribute and build
6676         new file.
6677
6678         relocatable-prog-wrapper: fix build
6679         * modules/relocatable-prog-wrapper (Files): Update name of
6680         canonicalize m4 file, broken on 2009-09-17.
6681         Reported by emad hajjar <aleppos@hotmail.com>.
6682
6683 2009-09-19  Bruno Haible  <bruno@clisp.org>
6684
6685         * lib/safe-alloc.h: Use the standard header with GPL copyright.
6686         * lib/safe-alloc.c: Likewise.
6687         Reported by Ian Beckwith <ianb@erislabs.net>.
6688
6689 2009-09-18  Bruno Haible  <bruno@clisp.org>
6690
6691         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
6692         Reported by <erobles@sensacd.com.mx>.
6693
6694 2009-09-17  Eric Blake  <ebb9@byu.net>
6695
6696         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
6697         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
6698         slashes when checking if last component is missing.
6699         * tests/test-canonicalize.c (main): Test this.
6700
6701         canonicalize, canonicalize-lgpl: honor // if distinct from /
6702         * modules/canonicalize (Files): Add double-slash-root.m4.
6703         * modules/canonicalize-lgpl (Files): Likewise.
6704         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
6705         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
6706         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
6707         fallback definition.
6708         (canonicalize_filename_mode): Use it to protect //.
6709         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
6710         (__realpath): Likewise.
6711         * tests/test-canonicalize.c (main): Test this.
6712         * tests/test-canonicalize-lgpl.c (main): Likewise.
6713         * modules/canonicalize-tests (Depends-on): Add same-inode.
6714         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
6715
6716         canonicalize-lgpl: fix glibc bug with trailing slash
6717         * m4/canonicalize-lgpl.m4: Move contents...
6718         * m4/canonicalize.m4: ...here.
6719         (gl_CANONICALIZE_LGPL): Factor realpath check...
6720         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
6721         glibc 2.3.5 bug, fixed 2005-04-27.
6722         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
6723         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
6724         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
6725         * modules/canonicalize-lgpl (Files): Manage file rename.
6726         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
6727         * modules/stdlib (Makefile.am): Substitute witness.
6728         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
6729         is needed.
6730         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
6731         replacement is required.
6732         * lib/canonicalize.c (canonicalize_file_name): Likewise.
6733         * doc/glibc-functions/canonicalize_file_name.texi
6734         (canonicalize_file_name): Document this.
6735         * doc/posix-functions/realpath.texi (realpath): Likewise.
6736
6737         canonicalize-lgpl: reject non-directory with trailing slash
6738         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
6739         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
6740         catches failures in glibc 2.3.5.
6741         * tests/test-canonicalize.c (main): Likewise.
6742
6743         canonicalize-lgpl: use native realpath if it works
6744         * lib/canonicalize-lgpl.c (realpath): Guard with
6745         FUNC_REALPATH_WORKS.
6746         * lib/stdlib.in.h (realpath): Make declaration optional based on
6747         HAVE_REALPATH.
6748         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
6749         native realpath works.
6750         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
6751         * modules/stdlib (Makefile.am): Substitute witness.
6752
6753         canonicalize, canonicalize-lgpl: use <stdlib.h>
6754         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
6755         (Include): Mention <stdlib.h>.
6756         (configure.ac): Mention functions we provide.
6757         * modules/canonicalize (configure.ac): Likewise.
6758         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
6759         realpath if canonicalize_file_name is missing.
6760         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
6761         * modules/stdlib (Makefile.am): Substitute witnesses.
6762         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
6763         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
6764         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
6765         * NEWS: Document this.
6766         * doc/glibc-functions/canonicalize_file_name.texi
6767         (canonicalize_file_name): Likewise.
6768         * doc/posix-functions/realpath.texi (realpath): Likewise.
6769         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
6770
6771         test-canonicalize: consolidate into single C program
6772         * tests/test-canonicalize.sh: Delete; move setup into...
6773         * tests/test-canonicalize.c (main): ...the program, making it
6774         easier to run in debugger.  Add some tests.
6775         * modules/canonicalize-tests (Files): Remove unused file.
6776         (Depends-on): Add progname.
6777         (configure.ac, Makefile.am): Simplify.
6778
6779         test-canonicalize-lgpl: consolidate into single C program
6780         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
6781         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
6782         easier to run in debugger.  Add some tests.
6783         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
6784         (configure.ac, Makefile.am): Simplify.
6785
6786         canonicalize: avoid resolvepath
6787         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
6788         unnecessary checks.
6789         * lib/canonicalize.c (includes): Simplify.
6790         (canonicalize_file_name): Drop resolvepath implementation.
6791         * modules/canonicalize (Depends-on): Drop filenamecat.
6792
6793         canonicalize: don't lose errno
6794         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
6795         over calls to free.
6796
6797         canonicalize: simplify errno handling
6798         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
6799         assignment.
6800
6801         canonicalize, canonicalize-lgpl: update module dependencies
6802         * modules/canonicalize (Depends-on): Add extensions, lstat,
6803         pathmax, stdlib.
6804         (Files): Drop pathmax.h.
6805         (configure.ac): Adjust macro name.
6806         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
6807         lstat, stdlib, sys_stat.
6808         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
6809         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
6810         extensions.
6811         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
6812         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
6813         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
6814         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
6815         declaration, if available.
6816         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
6817         we can rely on the readlink module.
6818         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
6819         (includes): Use <unistd.h> unconditionally.
6820
6821 2009-09-17  Eric Blake  <ebb9@byu.net>
6822
6823         maint: make Include sections of modules consistent
6824         * modules/alloca: Use only header name; no need to list #include.
6825         * modules/alloca-opt: Likewise.
6826         * modules/arpa_inet: Likewise.
6827         * modules/canon-host: Likewise.
6828         * modules/configmake: Likewise.
6829         * modules/dirent: Likewise.
6830         * modules/eealloc: Likewise.
6831         * modules/environ: Likewise.
6832         * modules/fchdir: Likewise.
6833         * modules/fcntl: Likewise.
6834         * modules/fcntl-h: Likewise.
6835         * modules/gethrxtime: Likewise.
6836         * modules/gettime: Likewise.
6837         * modules/ignore-value: Likewise.
6838         * modules/inet_ntop: Likewise.
6839         * modules/inet_pton: Likewise.
6840         * modules/inttypes: Likewise.
6841         * modules/isnand-nolibm: Likewise.
6842         * modules/isnanf-nolibm: Likewise.
6843         * modules/mbchar: Likewise.
6844         * modules/mbfile: Likewise.
6845         * modules/mbiter: Likewise.
6846         * modules/mbuiter: Likewise.
6847         * modules/netdb: Likewise.
6848         * modules/netinet_in: Likewise.
6849         * modules/nproc: Likewise.
6850         * modules/pagealign_alloc: Likewise.
6851         * modules/poll: Likewise.
6852         * modules/printf-frexp: Likewise.
6853         * modules/pthread: Likewise.
6854         * modules/putenv: Likewise.
6855         * modules/random_r: Likewise.
6856         * modules/relocatable-prog: Likewise.
6857         * modules/search: Likewise.
6858         * modules/select: Likewise.
6859         * modules/selinux-h: Likewise.
6860         * modules/settime: Likewise.
6861         * modules/signal: Likewise.
6862         * modules/size_max: Likewise.
6863         * modules/socklen: Likewise.
6864         * modules/ssize_t: Likewise.
6865         * modules/stdarg: Likewise.
6866         * modules/stdbool: Likewise.
6867         * modules/stddef: Likewise.
6868         * modules/stdint: Likewise.
6869         * modules/stdio: Likewise.
6870         * modules/stdlib: Likewise.
6871         * modules/string: Likewise.
6872         * modules/strings: Likewise.
6873         * modules/sys_file: Likewise.
6874         * modules/sys_ioctl: Likewise.
6875         * modules/sys_select: Likewise.
6876         * modules/sys_socket: Likewise.
6877         * modules/sys_stat: Likewise.
6878         * modules/sys_time: Likewise.
6879         * modules/sys_times: Likewise.
6880         * modules/sys_utsname: Likewise.
6881         * modules/sys_wait: Likewise.
6882         * modules/sysexits: Likewise.
6883         * modules/time: Likewise.
6884         * modules/times: Likewise.
6885         * modules/tmpfile: Likewise.
6886         * modules/trim: Likewise.
6887         * modules/unistd: Likewise.
6888         * modules/wchar: Likewise.
6889         * modules/wctype: Likewise.
6890
6891 2009-09-17  Bruno Haible  <bruno@clisp.org>
6892
6893         Make getdate.y compile on QNX and NetBSD 5 / i386.
6894         * m4/getdate.m4 (gl_GETDATE): Conditionally define
6895         TIME_T_FITS_IN_LONG_INT.
6896         * lib/getdate.y (long_time_t): New type.
6897         (relative_time): Change type of 'seconds' field to long_time_t.
6898         (get_date): Update types of local variables. Check against overflow
6899         during conversion from long_time_t to time_t.
6900         Reported by Matt Kraai <kraai@ftbfs.org>
6901         and Hasso Tepper <hasso@netbsd.org>.
6902
6903 2009-09-17  Bruno Haible  <bruno@clisp.org>
6904
6905         * modules/COPYING: Update copyright years.
6906         * modules/README: Likeiwse.
6907         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
6908         Reported by Ian Beckwith <ianb@erislabs.net>.
6909
6910 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
6911
6912         * users.txt: Update references for gnuit package.
6913
6914 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
6915
6916         * m4/getdelim.m4: Fix typo in copyright line.
6917
6918 2009-09-17  Bruno Haible  <bruno@clisp.org>
6919
6920         * lib/atoll.c: Use the standard header with GPL copyright.
6921         * lib/argz.in.h: Likewise.
6922         * lib/glob.c: Likewise.
6923         * lib/glob-libc.h: Likewise.
6924         * lib/random_r.c: Likewise.
6925         * lib/siglist.h: Likewise.
6926         * lib/strsignal.c: Likewise.
6927         Reported by Ian Beckwith <ianb@erislabs.net>.
6928
6929 2009-09-17  Eric Blake  <ebb9@byu.net>
6930
6931         rmdir: ensure correct dependency order
6932         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
6933
6934 2009-09-17  Bruno Haible  <bruno@clisp.org>
6935
6936         Disable assertion that fails on NetBSD 5 / i386.
6937         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
6938         Reported by Sam Steingold <sds@gnu.org>
6939         and Hasso Tepper <hasso@netbsd.org>.
6940
6941 2009-09-16  Eric Blake  <ebb9@byu.net>
6942
6943         unlinkdir: port to mingw
6944         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
6945         on which no one can unlink a directory.
6946
6947         stdlib: sort witness names
6948         * modules/stdlib (Makefile.am): Sort replacements.
6949         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
6950         * lib/stdlib.in.h: Likewise.
6951
6952         parse-duration-tests: avoid link failure
6953         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
6954         LIBINTL.
6955         Reported by Tom G. Christensen.
6956
6957         openat-tests: ensure unlinkat behaves like rmdir
6958         * tests/test-rmdir.c (main): Factor guts...
6959         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
6960         * modules/rmdir-tests (Files): Ship new file.
6961         * modules/openat-tests: New test.
6962         * tests/test-unlinkat.c: Likewise.
6963
6964         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
6965         * modules/rmdir-errno (Status, Notice): Now obsolete.
6966
6967         rmdir: work around cygwin 1.5.x and mingw bugs
6968         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
6969         * lib/rmdir.c (rmdir): Work around it.
6970         * modules/rmdir (Status, Notice): No longer obsolete.
6971         (Files): Add dos.m4.
6972         (Depends-on): Add unistd.
6973         (configure.ac): Set witnesses.
6974         (License): Relax to LGPLv2+.
6975         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
6976         * modules/unistd (Makefile.am): Substitute witnesses.
6977         * lib/unistd.in.h (rmdir): Declare replacement.
6978         * doc/posix-functions/rmdir.texi (rmdir): Document this.
6979         * modules/rmdir-tests: New tests.
6980         * tests/test-rmdir.c: Likewise.
6981
6982 2009-09-15  Eric Blake  <ebb9@byu.net>
6983
6984         fchdir: improve use of replacement functions
6985         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
6986         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
6987         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
6988         REPLACE_CLOSEDIR.
6989         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
6990         * modules/sys_stat (Makefile.am): Substitute correct witness.
6991         * modules/dirent (Makefile.am): Likewise.
6992         * modules/unistd (Makefile.am): Likewise.
6993         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
6994         * lib/unistd.in.h (dup): Likewise.
6995         * lib/sys_stat.in.h (fstat): Likewise.
6996
6997         maint: ignore gnulib-tool temp files
6998         * .gitignore: Ignore files created during gnulib-tool --test.
6999
7000 2009-09-13  Jim Meyering  <meyering@redhat.com>
7001
7002         posixtm: don't reject a time that specify "60" as the number of seconds
7003         * lib/posixtm.c (posixtime): The code to reject invalid dates
7004         would also reject a time specified with the .60 suffix.
7005         But POSIX allows that, in order to accommodate leap seconds.
7006         So don't reject it.
7007         (main): Adjust tests accordingly.
7008         * modules/posixtm (Depends-on): Add stpcpy.
7009
7010 2009-09-11  Jim Meyering  <meyering@redhat.com>
7011
7012         announce-gen: include [$release_type] in emitted Subject:
7013         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
7014         e.g., [stable] in the emitted Subject: line.
7015
7016 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7017
7018         Remove obsolete macros from several modules.
7019         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
7020         obsolete Autoconf macros with their modern counterparts.
7021         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
7022         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
7023         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
7024         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
7025         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
7026         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
7027         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
7028         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
7029         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
7030         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
7031         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
7032         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
7033         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
7034         * m4/sockets.m4 (gl_SOCKETS): Likewise.
7035         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
7036         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
7037         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
7038         * m4/time_r.m4 (gl_TIME_R): Likewise.
7039         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
7040         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
7041         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
7042
7043         Fix copyright header in build-aux scripts.
7044         * build-aux/git-version-gen: Fix copyright header to match GPLv3
7045         recommendation.
7046         * build-aux/ncftpput-ftp: Likewise.
7047         * build-aux/update-copyright: Likewise.
7048
7049 2009-09-09  Eric Blake  <ebb9@byu.net>
7050
7051         test-link: allow Linux choice of errno
7052         * tests/test-link.c (main): Relax test for alternate error.
7053
7054         strndup: fix improper m4 caching
7055         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
7056         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
7057         (gl_PREREQ_STRNDUP): Delete.
7058         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
7059         * modules/string (Makefile.am): Substitute it.
7060         * lib/string.in.h (strndup): Modernize prototype.
7061
7062         getcwd: port to mingw
7063         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
7064         different from the POSIX assumptions made throughout the getcwd
7065         module; fortunately, the mingw getcwd does not need replacement.
7066         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
7067         * modules/getcwd-tests: New test.
7068         * tests/test-getcwd.c: Likewise.
7069
7070         link: fix platform bugs
7071         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
7072         * lib/link.c (link): Work around them.  Fix related mingw bug.
7073         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
7074         * modules/unistd (Makefile.am): Substitute it.
7075         * lib/unistd.in.h (link): Declare replacement.
7076         * doc/posix-functions/link.texi (link): Document this.
7077         * modules/link (Depends-on): Add strdup-posix, sys_stat.
7078
7079         test-link: consolidate into single C program, test more cases
7080         * tests/test-link.sh: Delete.
7081         * tests/test-link.c: Test more error conditions.  Exposes bugs on
7082         at least Cygwin and Solaris.
7083         * modules/link-tests (Files): Remove unused file.
7084         (Depends-on): Add errno, sys_stat.
7085         (Makefile.am): Simplify.
7086
7087 2009-09-08  Bruno Haible  <bruno@clisp.org>
7088
7089         Work around towlower, towupper bug on mingw.
7090         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
7091         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
7092         * doc/posix-functions/towlower.texi: Mention the mingw bug.
7093         * doc/posix-functions/towupper.texi: Likewise.
7094         Reported by Eric Blake.
7095
7096 2009-09-08  Jim Meyering  <meyering@redhat.com>
7097
7098         build: don't try to run autoheader if we don't use it
7099         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
7100         is not used in configure.ac.
7101
7102 2009-09-08  Eric Blake  <ebb9@byu.net>
7103
7104         euidaccess: fix compilation error
7105         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
7106
7107         rawmemchr: relax license
7108         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
7109         okay.
7110         Reported by Jim Meyering.
7111
7112         mkfifoat: new module
7113         * modules/mkfifoat: New file.
7114         * lib/mkfifoat.c: Likewise.
7115         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
7116         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
7117         * modules/sys_stat (Makefile.am): Use them.
7118         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
7119         * MODULES.html.sh (File system functions): Mention module.
7120         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
7121         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
7122         * modules/mkfifoat-tests: New test.
7123         * tests/test-mkfifoat.c: Likewise.
7124
7125         strchrnul: relax license
7126         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
7127         okay.
7128         Reported by Jim Meyering.
7129
7130 2009-09-08  Eric Blake  <ebb9@byu.net>
7131
7132         fstatat: fix compilation on Solaris
7133         * lib/fstatat.c (includes): Add fcntl.h.
7134         Reported by Pádraig Brady.
7135
7136 2009-09-07  Eric Blake  <ebb9@byu.net>
7137
7138         rename: modernize replacement
7139         * modules/rename (Depends-on): Add stdio.
7140         (configure.ac): Declare witness.
7141         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
7142         stdio take care of replacement.
7143         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
7144         * modules/stdio (Makefile.am): Substitute them.
7145         * lib/stdio.in.h (rename): Declare replacement.
7146         * lib/rename.c (includes): Allow cross-compilation to non-windows
7147         machines.
7148         * doc/posix-functions/rename.texi (rename): Improve
7149         documentation.
7150
7151         stdio: sort witness names
7152         * modules/stdio (Makefile.am): Sort replacements.
7153         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
7154         * lib/stdio.in.h: Likewise.
7155
7156         getcwd: minor cleanups
7157         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
7158         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
7159
7160         openat: provide more convenience names
7161         * modules/faccessat (configure.ac): Add C witness.
7162         * lib/unistd.in.h (readlinkat): Fix typo.
7163         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
7164         convenience wrappers.
7165         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
7166         wrappers in syntax checks.
7167
7168 2009-09-06  Eric Blake  <ebb9@byu.net>
7169
7170         doc: fix comments in recent patches
7171         * lib/faccessat.c: Mention correct function.
7172         * lib/fchmodat.c: Likewise.
7173         * lib/fchownat.c: Likewise.
7174         * lib/symlinkat.c: Likewise.
7175         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
7176         constants.
7177
7178         faccessat, symlinkat: continue cleanup of previous patch
7179         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
7180         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
7181         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
7182         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
7183         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
7184         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
7185         set.
7186
7187 2009-09-06  Bruno Haible  <bruno@clisp.org>
7188
7189         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
7190         (fstatat): Declare if GNULIB_FSTATAT is set.
7191         (mkdirat): Declare if GNULIB_MKDIRAT is set.
7192         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
7193         (unlinkat): Declare if GNULIB_UNLINKAT is set.
7194         * modules/fcntl-h (Files): Remove m4/openat.m4.
7195         * modules/sys_stat (Files): Remove m4/openat.m4.
7196         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
7197         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
7198         * modules/unistd (Files): Remove m4/openat.m4.
7199         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
7200         GNULIB_OPENAT.
7201         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
7202         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
7203         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
7204         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
7205         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
7206         gl_OPENAT_DEFAULTS.
7207         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
7208         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
7209         Don't require gl_OPENAT_DEFAULTS.
7210         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
7211         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
7212         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
7213         (gl_OPENAT_DEFAULTS): Remove macro.
7214
7215 2009-09-06  Bruno Haible  <bruno@clisp.org>
7216
7217         * modules/openat (configure.ac): Remove unneeded witness.
7218
7219 2009-09-06  Bruno Haible  <bruno@clisp.org>
7220
7221         Set errno to ENOSYS when a function is entirely unsupported.
7222         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
7223         EOPNOTSUPP.
7224         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
7225         * modules/chown (Depends-on): Remove errno.
7226
7227 2009-09-06  Bruno Haible  <bruno@clisp.org>
7228
7229         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
7230
7231 2009-09-06  Bruno Haible  <bruno@clisp.org>
7232
7233         * lib/sys_stat.in.h: Fix preprocessor command indentation.
7234
7235 2009-09-06  Ben Pfaff  <blp@gnu.org>
7236             Bruno Haible  <bruno@clisp.org>
7237
7238         Work around a glibc bug in strtok_r.
7239         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
7240         Undefine if UNDEFINE_STRTOK_R is set.
7241         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
7242         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
7243         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
7244         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
7245         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
7246         UNDEFINE_STRTOK_R.
7247         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
7248
7249 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
7250
7251         exclude: minor fix
7252         * lib/exclude.c: Include wctype.h
7253
7254 2009-09-06  Akim Demaille  <demaille@gostai.com>
7255
7256         bootstrap: improve error message
7257         * build-aux/bootstrap (find_tool): Upon failure, report the list
7258         of candidates.
7259         Honor the initial value of the envvar.
7260
7261 2009-09-05  Eric Blake  <ebb9@byu.net>
7262
7263         symlinkat: new module
7264         * modules/symlinkat: New file.
7265         * lib/symlinkat.c: Likewise.
7266         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
7267         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
7268         * modules/unistd (Makefile.am): Use them.
7269         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
7270         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
7271         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
7272         * MODULES.html.sh (File system functions): Mention module.
7273         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
7274         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
7275         * modules/symlinkat-tests: New test.
7276         * tests/test-symlinkat.c: Likewise.
7277
7278         test-openat-safer: add more checks
7279         * tests/test-openat-safer.c (main): Check more code paths.
7280
7281 2009-09-05  Jim Meyering  <meyering@redhat.com>
7282
7283         syntax-check: detect unnecessary inclusion of openat.h
7284         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
7285
7286 2009-09-05  Bruno Haible  <bruno@clisp.org>
7287
7288         Support towlower, towupper.
7289         * doc/posix-functions/towlower.texi: Mention module wctype.
7290         * doc/posix-functions/towupper.texi: Likewise.
7291         * lib/wctype.in.h (towlower, towupper): New functions.
7292         * tests/test-wctype.c: Include stdio.h, stdlib.h.
7293         (ASSERT): New macro.
7294         (e): New variable.
7295         (main): Test also towlower, towupper. Test WEOF argument.
7296         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
7297
7298 2009-09-05  Bruno Haible  <bruno@clisp.org>
7299
7300         Fix conversion behaviour when the input is invalid.
7301         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
7302         mark occurring in first pass of indirect conversion.
7303         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
7304         input.
7305         Found by clang's static analyzer.
7306
7307 2009-09-05  Bruno Haible  <bruno@clisp.org>
7308
7309         * tests/test-striconveh.c (main): Test indirect conversion on platforms
7310         where direct conversion is possible.
7311
7312 2009-09-04  Eric Blake  <ebb9@byu.net>
7313
7314         openat: fail with ENOENT on empty name
7315         * lib/openat-proc.c (openat_proc_name): Special-case the empty
7316         buffer.
7317
7318         link-follow: fix logic bug in prior patch
7319         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
7320         reversed sense of yes and no in prior patch.  Avoid confusing
7321         compilation failure with desired semantics.
7322
7323         link-follow: accomodate mingw and cross-compilation
7324         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
7325         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
7326         cross-compilation results to -1, to make linkat easier to
7327         implement when cross-compiling.  Trivially support mingw.
7328         * modules/link-follow (configure.ac): Call new name.
7329         * NEWS: Mention this.
7330
7331 2009-09-03  Eric Blake  <ebb9@byu.net>
7332
7333         faccessat: compile replacement
7334         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
7335         needed.
7336
7337         fts: fix compilation error
7338         * lib/fts.c (includes): Re-add "openat.h", for
7339         openat_needs_fchdir.
7340
7341         faccessat: new module
7342         * modules/faccessat: New file.
7343         * lib/faccessat.c: Likewise.
7344         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
7345         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
7346         * modules/unistd (Makefile.am): Use it.
7347         * lib/unistd.in.h (faccessat): Declare it.
7348         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
7349         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
7350         * MODULES.html.sh (File system functions): Mention it.
7351         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
7352         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
7353
7354         euidaccess: prefer POSIX over non-standard implementation
7355         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
7356         * lib/euidaccess.c (euidaccess): Use it if available.
7357
7358         openat: make template easier to use
7359         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
7360         AT_FUNC_F2 to be undefined.
7361         (VALIDATE_FLAG): New macro; use it to reject bad flags.
7362         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
7363         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
7364         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
7365         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
7366         Likewise.
7367         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
7368         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
7369         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
7370         Likewise.
7371
7372         openat: declare in POSIX headers
7373         * NEWS: Mention this.
7374         * modules/openat (configure.ac): Declare witnesses.
7375         (Depends-on): Add fcntl-h, sys_stat, unistd.
7376         (Include): Mention correct headers.
7377         * modules/fcntl-h (Depends-on): Add link-warning.
7378         (Files): Add openat.m4.
7379         (Makefile.am): Substitute witnesses.
7380         * modules/sys_stat (Files, Makefile.am): Likewise.
7381         * modules/unistd (Files, Makefile.am): Likewise.
7382         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
7383         (gl_OPENAT_DEFAULTS): New macro.
7384         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
7385         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
7386         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
7387         (SYS_STAT_H): Remove unused variable.
7388         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
7389         * lib/fcntl--.h (includes): Remove unneeded header.
7390         * lib/openat-safer.c (includes): Likewise.
7391         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
7392         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
7393         appropriate headers.
7394         (__OPENAT_PREFIX): Delete.
7395         * lib/fcntl.in.h (openat): Provide declaration.
7396         (AT_FDCWD): Fix Solaris bug.
7397         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
7398         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
7399         * lib/fchmodat.c (includes):  Adjust to find declaration.
7400         * lib/fchownat.c (includes): Likewise.
7401         * lib/mkdirat.c (includes): Likewise.
7402         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
7403         still visible.
7404
7405 2009-09-02  Eric Blake  <ebb9@byu.net>
7406
7407         errno: use consistently
7408         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
7409         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
7410         * lib/canonicalize.c (ELOOP): Likewise.
7411         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
7412         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
7413         * lib/lchown.c (EOPNOTSUPP): Likewise.
7414         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
7415         * lib/savewd.c (ESTALE): Likewise.
7416         * lib/settime.c (ENOSYS): Likewise.
7417         * lib/utimens.c (ENOSYS): Likewise.
7418         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
7419         * lib/chdir-safer.c (ELOOP): Likewise.
7420         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
7421         * modules/c-stack (Depends-on): Add errno.
7422         * modules/canonicalize (Depends-on): Likewise.
7423         * modules/chdir-safer (Depends-on): Likewise.
7424         * modules/fdopendir (Depends-on): Likewise.
7425         * modules/inet_ntop (Depends-on): Likewise.
7426         * modules/inet_pton (Depends-on): Likewise.
7427         * modules/lchown (Depends-on): Likewise.
7428         * modules/openat (Depends-on): Likewise.
7429         * modules/savewd (Depends-on): Likewise.
7430         * modules/settime (Depends-on): Likewise.
7431         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
7432
7433         fts: avoid leaking fds
7434         * modules/fts (Depends-on): Add cloexec.
7435         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
7436         flag.
7437
7438         fts: make directory fds more robust
7439         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
7440         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
7441
7442         backupfile, chdir-long, fts, savedir: make safer
7443         * lib/backupfile.c (includes): Use "dirent--.h", since
7444         numbered_backup can write to stderr during readdir.
7445         * lib/savedir.c (includes): Likewise.
7446         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
7447         emulation can write to stderr on failure.
7448         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
7449         * lib/getcwd.c: Document why opendir_safer is unused.
7450         * lib/glob.c: Likewise.
7451         * lib/scandir.c: Likewise.
7452         * lib/openat-proc.c: Likewise, for open_safer.
7453         * modules/backupfile (Depends-on): Add dirent-safer.
7454         * modules/savedir (Depends-on): Likewise.
7455         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
7456         * modules/chdir-long (Depends-on): Add openat-safer.
7457
7458         openat-safer: new module
7459         * modules/openat-safer: New file.
7460         * lib/openat-safer.c: Likewise.
7461         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
7462         * lib/fcntl-safer.h (openat_safer): Declare.
7463         * lib/fcntl--.h (openat): Override.
7464         * MODULES.html.sh (File descriptor based I/O): Mention it.
7465         * lib/openat.h: Add double-inclusion guards.
7466         * lib/openat.c (includes): Only include "fcntl-safer.h", not
7467         "fcntl--.h", so we can implement openat.
7468         * modules/openat-safer-tests: New test.
7469         * tests/test-openat-safer.c: New file.
7470
7471         dirent-safer: new module
7472         * modules/dirent-safer: New file.
7473         * lib/dirent--.h: Likewise.
7474         * lib/dirent-safer.h: Likewise.
7475         * lib/opendir-safer.c: Likewise.
7476         * m4/dirent-safer.m4: Likewise.
7477         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
7478         * modules/dirent-safer-tests: New test.
7479         * tests/test-dirent-safer.c: New file.
7480         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
7481
7482         fdopendir: optimize on mingw
7483         * lib/unistd.in.h (_gl_directory_name): New prototype.
7484         * lib/fchdir.c (_gl_directory_name): Implement it.
7485         (fchdir): Use it to simplify implementation.
7486         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
7487         fchdir, when available, to avoid calling [f]chdir().
7488
7489         fdopendir: split into its own module
7490         * lib/openat.c (fdopendir): Move...
7491         * lib/fdopendir.c: ...into new file.
7492         * modules/fdopendir: New module.
7493         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
7494         * modules/openat (Depends-on): Add fdopendir.
7495         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
7496         fdopendir here.
7497         * modules/savedir (Depends-on): Only need fdopendir, not full
7498         openat.
7499         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
7500         * lib/openat.h (fdopendir): Drop prototype.
7501         * lib/dirent.in.h (fdopendir): Provide prototype.
7502         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
7503         * modules/dirent (Makefile.am): Substitute them.
7504         * MODULES.html.sh (File system functions): Mention it.
7505         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
7506         * modules/fdopendir-tests: New file.
7507         * tests/test-fdopendir.c: Likewise.
7508
7509         fchdir: use more consistent macro convention
7510         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
7511         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
7512         REPLACE_FCHDIR, rather than relying on config.h macros.
7513         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
7514         inside a single make-time REPLACE_FCHDIR block, rather than using
7515         the config.h FCHDIR_REPLACEMENT.
7516         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
7517         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
7518         Manage fstat replacement.
7519         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
7520         REPLACE_FCHDIR.
7521         * modules/sys_stat (Files): Add m4/unistd_h.m4.
7522         (Makefile.am): Substitute REPLACE_FCHDIR.
7523         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
7524         FCHDIR_REPLACEMENT.
7525         * lib/dup-safer.c (dup_safer): Likewise.
7526         * lib/dup2.c (rpl_dup2): Likewise.
7527         * lib/dup3.c (rpl_dup3): Likewise.
7528         * lib/open.c (rpl_open): Likewise.
7529
7530         fchdir: simplify error handling, and support dup3
7531         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
7532         stdbool, malloc-posix, realloc-posix.
7533         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
7534         (ensure_dirs_slot): Return false on allocation failure.
7535         (rpl_dup2): Delete.
7536         (_gl_register_dup): New function.
7537         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
7538         (_gl_register_fd): Close fd on allocation failure.
7539         * lib/fcntl.in.h (_gl_register_fd): Update signature.
7540         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
7541         prototype.
7542         (rpl_dup2_fchdir): Delete prototype.
7543         * lib/open.c (open): Update caller.
7544         * lib/dup2.c (dup2): Track fchdir metadata.
7545         * lib/dup3.c (dup3): Likewise.
7546         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
7547         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
7548
7549 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7550
7551         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
7552         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
7553         don't pass arguments to AC_OUTPUT.
7554
7555 2009-09-02  Bruno Haible  <bruno@clisp.org>
7556
7557         * modules/mkdtemp (License): Relicense under LGPLv2+.
7558         Reported by Paolo Bonzini.
7559
7560 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7561
7562         Replace uses of obsolete autoconf macros in Jim's modules.
7563         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
7564         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
7565         can evoke a warning from autoconf when run with -Wobsolete
7566         enabled.  They were declared obsolete for good reasons (see
7567         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
7568         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
7569         should not continue using the deprecated macros.
7570         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
7571         obsolete Autoconf macros with modern counterparts.
7572         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
7573         * m4/dos.m4 (gl_AC_DOS): Likewise.
7574         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
7575         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
7576         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
7577         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
7578         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
7579         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
7580         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
7581         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
7582         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
7583         Likewise.
7584         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
7585         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
7586         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
7587         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
7588         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
7589         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
7590
7591 2009-09-01  Eric Blake  <ebb9@byu.net>
7592
7593         fchdir: fix off-by-one bug in previous patch
7594         * lib/fchdir.c (rpl_fstat): Use correct bounds.
7595         (_gl_unregister_fd): Delete useless if.
7596
7597 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
7598
7599         maint.mk: sort the list of syntax-check rules
7600         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
7601         easier to get a sense of progress when the rules are run sequentially
7602         and take a long time.
7603
7604 2009-09-01  Simon Josefsson  <simon@josefsson.org>
7605
7606         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
7607         * modules/netinet_in: Likewise.
7608         * modules/sys_file: Likewise.
7609         * modules/sys_ioctl: Likewise.
7610         * modules/sys_select: Likewise.
7611         * modules/sys_socket: Likewise.
7612         * modules/sys_stat: Likewise.
7613         * modules/sys_time: Likewise.
7614         * modules/sys_times: Likewise.
7615         * modules/sys_utsname: Likewise.
7616         * modules/sys_wait: Likewise.
7617
7618 2009-09-01  Jim Meyering  <meyering@redhat.com>
7619
7620         fts: help ensure that return values are not ignored
7621         * lib/fts_.h (__GNUC_PREREQ): Define.
7622         (__attribute_warn_unused_result__): Define.
7623         (fts_children, fts_close, fts_open, fts_read): Declare with
7624         __attribute_warn_unused_result__.
7625
7626         fts: fts_close now fails also when closing a dir file descriptor fails
7627         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
7628         and propagate to caller, along with errno.
7629
7630         announce-gen: correct formatting in --help output
7631         * build-aux/announce-gen (usage): Move the one-line description in
7632         --help output "up", to where it belongs, just after Usage:.
7633
7634 2009-08-31  Eric Blake  <ebb9@byu.net>
7635
7636         fchdir: port to mingw
7637         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
7638         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
7639         opened, then use a substitute.
7640         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
7641         replacement.
7642         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
7643         (_gl_register_fd): No need to check stat if open already filters
7644         all directories.
7645         (fchdir): Fix error condition to match POSIX.
7646         * modules/fchdir (Depends-on): Add sys_stat.
7647         * doc/posix-functions/open.texi (open): Document the limitation.
7648         * modules/fchdir-tests: New file.
7649         * tests/test-fchdir.c: Likewise.
7650
7651         canonicalize: allow cross-testing from cygwin to mingw
7652         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
7653         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
7654         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
7655         Likewise.
7656         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
7657         target does not support symlinks.
7658         * tests/test-canonicalize-lgpl.sh: Likewise.
7659
7660         chown: avoid compilation warning on mingw
7661         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
7662         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
7663         mingw.
7664         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
7665         * modules/chown (Depends-on): Add errno.
7666
7667 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
7668
7669         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
7670         command.
7671
7672 2009-08-31  Jim Meyering  <meyering@redhat.com>
7673
7674         canonicalize: remove useless initialization
7675         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
7676         initialization of local, "end".
7677
7678 2009-08-30  Bruno Haible  <bruno@clisp.org>
7679
7680         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
7681         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
7682         ENOSYS.
7683
7684 2009-08-30  Bruno Haible  <bruno@clisp.org>
7685
7686         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
7687         /usr/xpg4/bin/tr when it exists.
7688         * tests/test-pipe-filter-gi1.sh: Likewise.
7689
7690 2009-08-30  Bruno Haible  <bruno@clisp.org>
7691
7692         Work around deficient /usr/bin/id program on Solaris.
7693         * tests/test-file-has-acl.sh (ID): New variable.
7694         * tests/test-set-mode-acl.sh (ID): Likewise.
7695         * tests/test-copy-acl.sh (ID): Likewise.
7696         * tests/test-copy-file.sh (ID): Likewise.
7697
7698 2009-08-30  Bruno Haible  <bruno@clisp.org>
7699
7700         New module 'xstriconveh'.
7701         * lib/xstriconveh.h: New file.
7702         * lib/xstriconveh.c: New file.
7703         * modules/xstriconveh: New file.
7704
7705 2009-08-30  Bruno Haible  <bruno@clisp.org>
7706
7707         Make it easier to use mem_cd_iconveh.
7708         * lib/striconveh.h (iconveh_t): New type.
7709         (iconveh_open, iconveh_close): New declarations.
7710         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
7711         with a single 'const iconveh_t *' argument.
7712         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
7713         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
7714         with a single 'const iconveh_t *' argument.
7715         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
7716         * tests/test-striconveh.c (main): Update.
7717         * NEWS: Mention the change.
7718
7719 2009-08-30  Bruno Haible  <bruno@clisp.org>
7720
7721         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
7722         problem.
7723
7724 2009-08-30  Bruno Haible  <bruno@clisp.org>
7725
7726         Work around iconv_open problem on Solaris.
7727         * lib/iconv_open-solaris.gperf: New file.
7728         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
7729         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
7730         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
7731         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
7732         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
7733         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
7734
7735 2009-08-29  Jim Meyering  <meyering@redhat.com>
7736
7737         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
7738         * top/maint.mk (cvs-check): Remove target; it was just an alias
7739         to the better-named vc-diff-check.
7740         (maintainer-distcheck): Remove rule.  It was used only from
7741         the (alpha/beta/major) target, and all of its commands but one
7742         were coreutils-specific.
7743         (vc-dist): Remove rule.
7744         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
7745         Run vc-diff-check, not vc-dist.
7746         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
7747
7748 2009-08-27  Bruno Haible  <bruno@clisp.org>
7749
7750         * tests/test-bitrotate.c (main): Remove test that uses a shift count
7751         of 0.
7752
7753 2009-08-27  Bruno Haible  <bruno@clisp.org>
7754
7755         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
7756         compilers.
7757         * doc/func.texi: Document the SunPRO C bug.
7758
7759 2009-08-27  Bruno Haible  <bruno@clisp.org>
7760
7761         Fix link error on Solaris.
7762         * tests/test-parse-duration.c (xstrdup): Remove function.
7763
7764 2009-08-26  Pádraig Brady  <P@draigbrady.com>
7765
7766         ignore-value: handle pointer types, too
7767         * lib/ignore-value.h (__attribute__): Remove definition.
7768         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
7769         of a more concise and more-often effective "(void) i" statement.
7770         (ignore_ptr): New function to suppress warnings from functions that
7771         return pointers, and to make it explicit that one function doesn't
7772         handle all cases.
7773
7774 2009-08-25  Bruno Haible  <bruno@clisp.org>
7775
7776         dup2: work around a Linux bug.
7777         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
7778         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
7779         * doc/posix-functions/dup2.texi: Mention the Linux bug.
7780         Reported by Simon Josefsson.
7781
7782 2009-08-25  Jim Meyering  <meyering@redhat.com>
7783
7784         libguestfs uses gnulib
7785         * users.txt: Add libguestfs.
7786
7787 2009-08-24  Eric Blake  <ebb9@byu.net>
7788
7789         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
7790         * lib/pipe2.c (includes): Add binary-io.h.
7791         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
7792
7793 2009-08-24  Bruno Haible  <bruno@clisp.org>
7794
7795         Tolerate declared but missing accept4 syscall.
7796         * lib/accept4.c (accept4): Invoke original accept4 function first, if
7797         available.
7798         * lib/sys_socket.in.h (accept4): If the function is already present,
7799         override it.
7800         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
7801         * modules/accept4 (Makefile.am): Compile accept4.c always.
7802         Reported by Paolo Bonzini and Eric Blake.
7803
7804 2009-08-23  Bruno Haible  <bruno@clisp.org>
7805
7806         New module 'accept4'.
7807         * lib/sys_socket.in.h (accept4): New declaration.
7808         * lib/accept4.c: New file.
7809         * m4/accept4.m4: New file.
7810         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
7811         GNULIB_ACCEPT4, HAVE_ACCEPT4.
7812         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
7813         HAVE_ACCEPT4.
7814         * modules/accept4: New file.
7815         * doc/glibc-functions/accept4.texi: Mention the new module.
7816
7817 2009-08-24  Jim Meyering  <meyering@redhat.com>
7818
7819         progname: also set global program_invocation_name, when possible
7820         Before this change, a libtool-enabled program that calls glibc's
7821         error function would report the program name as
7822         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
7823         * modules/progname (configure.ac): Check for a declaration of
7824         program_invocation_name.
7825         * lib/progname.c:  Include <errno.h>.
7826         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
7827         Set program_invocation_name.
7828
7829 2009-08-23  Bruno Haible  <bruno@clisp.org>
7830
7831         * lib/dup3.c: Include <string.h>.
7832
7833 2009-08-23  Bruno Haible  <bruno@clisp.org>
7834
7835         * lib/dup3.c (dup3): Test only once whether the system actually exists.
7836         * lib/pipe2.c (pipe2): Likewise.
7837         Suggested by Eric Blake.
7838
7839 2009-08-23  Bruno Haible  <bruno@clisp.org>
7840
7841         Tolerate declared but missing dup3 syscall.
7842         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
7843         * lib/unistd.in.h (dup3): If the function is already present,
7844         override it.
7845         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
7846         * modules/dup3 (Makefile.am): Compile dup3.c always.
7847         Reported by Paolo Bonzini.
7848
7849 2009-08-23  Bruno Haible  <bruno@clisp.org>
7850
7851         Tolerate declared but missing pipe2 syscall.
7852         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
7853         available.
7854         * lib/unistd.in.h (pipe2): If the function is already present,
7855         override it.
7856         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
7857         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
7858         Reported by Paolo Bonzini.
7859
7860 2009-08-23  Bruno Haible  <bruno@clisp.org>
7861
7862         * lib/pipe2.c (pipe2): Move #ifs inside function.
7863
7864 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
7865
7866         quotearg: document limitations of quote_these_too
7867         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
7868         those limitations are created.
7869         * lib/quotearg.h (set_char_quoting): Document that digits and
7870         letters that are special after backslash are not permitted.
7871         (quotearg_char): Cross-reference set_char_quoting documentation.
7872
7873 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
7874
7875         quotearg: implement custom_quoting_style
7876         * lib/quotearg.c: (struct quoting_options): Add left_quote and
7877         right_quote fields.
7878         (set_custom_quoting): New public function.
7879         (quotearg_buffer_restyled): Add left_quote and right_quote
7880         arguments, handle them very much like locale quoting, and update
7881         all uses.
7882         (quotearg_n_custom): New public function.
7883         (quotearg_n_custom_mem): New public function.
7884         (quotearg_custom): New public function.
7885         (quotearg_custom_mem): New public function.
7886         * lib/quotearg.h: Prototype and document new public functions.
7887         (enum quoting_style): For escape_quoting_style and
7888         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
7889         ignored even though they're otherwise like c_quoting_style.
7890         Add custom_quoting_style member and document with comparison to
7891         clocale_quoting_style.
7892         * tests/test-quotearg.c (custom_quotes): New array.
7893         (custom_results): New array.
7894         (main): Extend to test custom quoting.
7895
7896 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
7897
7898         quotearg: fix right quote escaping when it's in quote_these_too
7899         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
7900         quote, be sure to prepend only one backslash.
7901         * tests/test-quotearg.c (use_quote_double_quotes): New function.
7902         (main): Test it.
7903
7904 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
7905
7906         quotearg-tests: test escaping of embedded locale quotes
7907         * tests/test-quotearg.c (struct result_strings): Add member for
7908         new input.
7909         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
7910         (inputs): Add new input.
7911         (results_g): Add expected results.
7912         (flag_results): Likewise.
7913         (locale_results): Likewise.
7914         (compare_strings): Check those.
7915
7916 2009-08-23  Bruno Haible  <bruno@clisp.org>
7917
7918         Tests for module 'dup3'.
7919         * modules/dup3-tests: New file.
7920         * tests/test-dup3.c: New file.
7921
7922         New module 'dup3'.
7923         * lib/unistd.in.h (dup3): New declaration.
7924         * lib/dup3.c: New file.
7925         * m4/dup3.m4: New file.
7926         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
7927         HAVE_DUP3.
7928         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
7929         * modules/dup3: New file.
7930         * doc/glibc-functions/dup3.texi: Mention the new module.
7931
7932 2009-08-23  Bruno Haible  <bruno@clisp.org>
7933
7934         Tweak the dup2 test.
7935         * tests/test-dup2.c (main): Create the test file empty. Verify that an
7936         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
7937         the test file is still empty. Fix argument order of lseek.
7938
7939 2009-08-23  Bruno Haible  <bruno@clisp.org>
7940
7941         Avoid test link errors when the modules getopt-gnu, gettext are used.
7942         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
7943         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7944
7945 2009-08-23  Bruno Haible  <bruno@clisp.org>
7946
7947         Fix getdtablesize() on mingw.
7948         * lib/getdtablesize.c (getdtablesize): Implement differently.
7949         * lib/unistd.in.h (getdtablesize): Improve comment.
7950
7951 2009-08-23  Bruno Haible  <bruno@clisp.org>
7952
7953         New module 'mkostemp'.
7954         Based on Ulrich Drepper's 2007-08-10 change in glibc.
7955         * lib/stdlib.in.h (mksotemp): New declaration.
7956         * lib/mkostemp.c: New file, from glibc with modifications.
7957         * lib/tempname.h (GT_FILE): Remove outdated comment.
7958         (gen_tempname): Add flags argument.
7959         * lib/tempname.c (__GT_BIGFILE): Remove macro.
7960         (__GT_FILE): Map to 1.
7961         (small_open, large_open): Remove macros.
7962         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
7963         * lib/mkstemp.c (mkstemp): Update.
7964         * lib/mkdtemp.c (mkdtemp): Likewise.
7965         * m4/mkostemp.m4: New file.
7966         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
7967         HAVE_MKOSTEMP.
7968         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
7969         HAVE_MKOSTEMP.
7970         * modules/mkostemp: New file, based on modules/mkstemp.
7971         * doc/glibc-functions/mkostemp.texi: Mention the new module.
7972         * NEWS: Mention the change.
7973
7974 2009-08-23  Bruno Haible  <bruno@clisp.org>
7975
7976         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
7977         Reported by Eric Blake.
7978
7979 2009-08-23  Bruno Haible  <bruno@clisp.org>
7980
7981         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
7982         Reported by Eric Blake.
7983
7984 2009-08-23  Bruno Haible  <bruno@clisp.org>
7985
7986         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
7987         * modules/pipe2 (Depends-on): Likewise.
7988
7989 2009-08-23  Eric Blake  <ebb9@byu.net>
7990
7991         fcntl-h: add O_TTY_INIT support
7992         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
7993         * tests/test-fcntl-h.c (o): Test it.
7994         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
7995
7996         fcntl-h: rename from fcntl, in preparation for fcntl(2)
7997         * modules/fcntl: Move <fcntl.h> header replacement...
7998         * modules/fcntl-h: ...to new name, so as not to collide with
7999         like-named function.
8000         * tests/test-fcntl.c: Rename...
8001         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
8002         * modules/fcntl-tests: Rename...
8003         * modules/fcntl-h-tests: ...to this.  Update test file name.
8004         * modules/chdir-long (Depends-on): Update clients.
8005         * modules/chdir-safer (Depends-on): Likewise.
8006         * modules/fcntl-safer (Depends-on): Likewise.
8007         * modules/fts (Depends-on): Likewise.
8008         * modules/mkancesdirs (Depends-on): Likewise.
8009         * modules/mkdir-p (Depends-on): Likewise.
8010         * modules/open (Depends-on): Likewise.
8011         * modules/savewd (Depends-on): Likewise.
8012         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
8013         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
8014
8015 2009-08-22  Bruno Haible  <bruno@clisp.org>
8016
8017         * modules/binary-io (License): Relicense under LGPL.
8018         * modules/pipe2 (License): Likewise.
8019
8020 2009-08-22  Bruno Haible  <bruno@clisp.org>
8021
8022         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
8023         return value.
8024         * lib/pipe-filter-gi.c (filter_init): Likewise.
8025         Reported by Eric Blake.
8026
8027 2009-08-22  Bruno Haible  <bruno@clisp.org>
8028
8029         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
8030         * modules/pipe (Depends-on): Add pipe2.
8031
8032 2009-08-22  Bruno Haible  <bruno@clisp.org>
8033
8034         Tests for module 'pipe2'.
8035         * modules/pipe2-tests: New file.
8036         * tests/test-pipe2.c: New file.
8037
8038         New module 'pipe2'.
8039         * lib/unistd.in.h (pipe2): New declaration.
8040         * lib/pipe2.c: New file.
8041         * m4/pipe2.m4: New file.
8042         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
8043         HAVE_PIPE2.
8044         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
8045         * modules/pipe2: New file.
8046         * doc/glibc-functions/pipe2.texi: Mention the new module.
8047
8048 2009-08-22  Bruno Haible  <bruno@clisp.org>
8049
8050         Reference some new glibc functions.
8051         * doc/glibc-functions/accept4.texi: New file.
8052         * doc/glibc-functions/dup3.texi: New file.
8053         * doc/glibc-functions/mkostemp.texi: New file.
8054         * doc/glibc-functions/pipe2.texi: New file.
8055         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
8056         (Glibc sys/socket.h): Refer to accept4.
8057         (Glibc unistd.h): Refer to dup3, pipe2.
8058         Reported by Eric Blake.
8059
8060 2009-08-22  Jim Meyering  <meyering@redhat.com>
8061             Bruno Haible  <bruno@clisp.org>
8062
8063         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
8064         This makes it so packages using automake-1.11's silent-rules option
8065         can print e.g., a single "GEN    configmake.h" line, rather than
8066         the 30+ statements that perform the job.  If you want to see the
8067         actual commands, you can still run "make V=1".
8068         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
8069         so that make output is abbreviated when those variables are defined
8070         appropriately.
8071         * modules/argz: Likewise.
8072         * modules/arpa_inet: Likewise.
8073         * modules/byteswap: Likewise.
8074         * modules/configmake: Likewise.
8075         * modules/dirent: Likewise.
8076         * modules/errno: Likewise.
8077         * modules/fcntl: Likewise.
8078         * modules/float: Likewise.
8079         * modules/fnmatch: Likewise.
8080         * modules/getopt-posix: Likewise.
8081         * modules/glob: Likewise.
8082         * modules/iconv_open: Likewise.
8083         * modules/inttypes: Likewise.
8084         * modules/localcharset: Likewise.
8085         * modules/locale: Likewise.
8086         * modules/math: Likewise.
8087         * modules/netdb: Likewise.
8088         * modules/netinet_in: Likewise.
8089         * modules/poll: Likewise.
8090         * modules/posix_spawnp-tests: Likewise.
8091         * modules/sched: Likewise.
8092         * modules/search: Likewise.
8093         * modules/selinux-h: Likewise.
8094         * modules/signal: Likewise.
8095         * modules/spawn: Likewise.
8096         * modules/stdarg: Likewise.
8097         * modules/stdbool: Likewise.
8098         * modules/stddef: Likewise.
8099         * modules/stdint: Likewise.
8100         * modules/stdio: Likewise.
8101         * modules/stdlib: Likewise.
8102         * modules/string: Likewise.
8103         * modules/strings: Likewise.
8104         * modules/sys_file: Likewise.
8105         * modules/sys_ioctl: Likewise.
8106         * modules/sys_select: Likewise.
8107         * modules/sys_socket: Likewise.
8108         * modules/sys_stat: Likewise.
8109         * modules/sys_time: Likewise.
8110         * modules/sys_times: Likewise.
8111         * modules/sys_utsname: Likewise.
8112         * modules/sys_wait: Likewise.
8113         * modules/sysexits: Likewise.
8114         * modules/time: Likewise.
8115         * modules/unistd: Likewise.
8116         * modules/wchar: Likewise.
8117         * modules/wctype: Likewise.
8118
8119 2009-08-22  Jim Meyering  <meyering@redhat.com>
8120
8121         announce-gen: detect write failure
8122         * build-aux/announce-gen: Add Coda at end.
8123         Remove equivalent-but-more-verbose block at top.
8124
8125 2009-08-19  Akim Demaille  <demaille@gostai.com>
8126
8127         bootstrap: --help to stdout.
8128         * bootstrap (usage): Don't send --help to stderr.
8129         Use a here doc instead of a long string.
8130
8131 2009-08-21  Eric Blake  <ebb9@byu.net>
8132
8133         test-popen-safer: split from test-popen
8134         * tests/test-popen.c (main): Move...
8135         * tests/test-popen.h: ...into new file.
8136         * tests/test-popen-safer2.c: New file.
8137         * modules/popen-tests (Files): Add test-popen.h.
8138         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
8139         Suggested by Bruno Haible.
8140
8141         test-fcntl-safer: split from test-open
8142         * tests/test-open.c (main): Move...
8143         * tests/test-open.h: ...into new file.
8144         * tests/test-fcntl-safer.c: New file.
8145         * modules/open-tests (Files): Add test-open.h.
8146         * modules/fcntl-safer-tests: New file.
8147         Suggested by Bruno Haible.
8148
8149         test-fopen-safer: split from test-fopen
8150         * tests/test-fopen.c (main): Move...
8151         * tests/test-fopen.h: ...into new file.
8152         * tests/test-fopen-safer.c: New file.
8153         * modules/fopen-tests (Files): Add test-fopen.h.
8154         * modules/fopen-safer-tests: New file.
8155         Suggested by Bruno Haible.
8156
8157 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
8158
8159         popen-safer: test O_CLOEXEC at run-time.
8160         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
8161
8162 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
8163
8164         fcntl: move more flags to the header
8165         * lib/cloexec.c: Do not define FD_CLOEXEC here.
8166         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
8167         * lib/fcntl.in.h: Do both things here.
8168
8169 2009-08-21  Jim Meyering  <meyering@redhat.com>
8170
8171         consistently remove $@-t before redirecting to it
8172         * modules/argz: Remove $@-t and $@ before redirecting to the former.
8173         * modules/alloca-opt: Likewise.
8174         * modules/byteswap: Likewise.
8175         * modules/fnmatch: Likewise.
8176         * modules/getopt-posix: Likewise.
8177         * modules/glob: Likewise.
8178         * modules/poll: Likewise.
8179         * modules/posix_spawnp-tests: Likewise.
8180         * modules/sys_socket: Likewise.
8181         * modules/sysexits: Likewise.
8182
8183 2009-08-21  Eric Blake  <ebb9@byu.net>
8184
8185         popen: simplify access to original popen
8186         * lib/popen.c (rpl_popen): No need to worry about popen being a
8187         macro.
8188         Reported by Bruno Haible.
8189
8190 2009-08-20  Eric Blake  <ebb9@byu.net>
8191
8192         build: avoid some compiler warnings
8193         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
8194         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
8195         type.
8196         (new_exclude_segment, excluded_file_pattern_p)
8197         (excluded_file_name_p): Reduce scope.
8198         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
8199         old-style declaration.
8200
8201 2009-08-20  Simon Josefsson  <simon@josefsson.org>
8202
8203         * tests/test-exclude1.sh: Handle Windows EOL.
8204         * tests/test-exclude2.sh: Likewise.
8205         * tests/test-exclude3.sh: Likewise.
8206         * tests/test-exclude4.sh: Likewise.
8207         * tests/test-exclude5.sh: Likewise.
8208         * tests/test-exclude6.sh: Likewise.
8209         * tests/test-exclude7.sh: Likewise.
8210
8211 2009-08-19  Akim Demaille  <demaille@gostai.com>
8212
8213         bootstrap: find sha1sum when named gsha1sum.
8214         * bootstrap (find_tool): New.
8215         ($SHA1SUM): New.
8216         Use it.
8217
8218 2009-08-20  Jim Meyering  <meyering@redhat.com>
8219
8220         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
8221         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
8222         expression that converts "." in a file name to "\." in the resulting
8223         regexp.  Start with a dummy statement, so that prior shell variable
8224         definitions are expanded portably.  Reported by Simon Josefsson.
8225
8226 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
8227
8228         Fix polling for writeability of a screen buffer.
8229         * lib/poll.c: Distinguish input and screen buffers for the
8230         Win32 implementation.
8231         * lib/select.c: Likewise.
8232
8233 2009-08-19  Eric Blake  <ebb9@byu.net>
8234
8235         popen-safer: prevent popen from clobbering std descriptors
8236         * modules/popen-safer: New file.
8237         * lib/popen-safer.c: Likewise.
8238         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
8239         * lib/stdio--.h (popen): Provide override.
8240         * lib/stdio-safer.h (popen_safer): Provide declaration.
8241         * tests/test-popen.c (includes): Partially test this.
8242         * modules/popen-safer-tests: New file, for more tests.
8243         * tests/test-popen-safer.c: Likewise.
8244         * MODULES.html.sh (file stream based Input/Output): Mention it.
8245
8246         tests: test some of the *-safer modules
8247         * modules/fopen-safer (Depends-on): Add fopen.
8248         * modules/fcntl-safer (Depends-on): Add fcntl.
8249         * modules/stdlib-safer (Depends-on): Add stdlib.
8250         (configure.ac): Set indicator.
8251         * modules/unistd-safer (configure.ac): Likewise.
8252         * modules/tmpfile-safer (configure.ac): Likewise.
8253         (Depends-on): Add tmpfile.
8254         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
8255         active.
8256         * tests/test-fopen.c (includes): Test safer versions when they are
8257         in use.
8258         * tests/test-open.c (includes): Likewise.
8259
8260         popen: fix cygwin 1.5 bug when stdin closed
8261         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
8262         * modules/popen: New file.
8263         * modules/popen-tests: Likewise.
8264         * tests/test-popen.c: Likewise.
8265         * m4/popen.m4: Likewise.
8266         * lib/popen.c: Likewise.
8267         * lib/stdio.in.h (popen): New declaration.
8268         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
8269         * modules/stdio (Makefile.am): Likewise.
8270         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
8271
8272 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
8273
8274         maint.mk: give full control over update-copyright exclusions
8275         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
8276         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
8277         (update-copyright): Don't force inclusion of top-level
8278         ChangeLog.  Don't force exclusion of all COPYING files, but make
8279         them the default exclusion instead.
8280
8281 2009-08-16  Bruno Haible  <bruno@clisp.org>
8282
8283         Fix test failures on Solaris 10.
8284         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
8285         tests when Solaris iconv() is used.
8286         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
8287         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
8288         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
8289         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
8290         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
8291
8292 2009-08-16  Bruno Haible  <bruno@clisp.org>
8293
8294         Fix test failures on Solaris 10.
8295         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
8296         'tr' program and pass it as first argument.
8297         * tests/test-pipe-filter-gi1.sh: Likewise.
8298         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
8299         program as first argument.
8300         * tests/test-pipe-filter-gi1.c (main): Likewise.
8301
8302 2009-08-16  Eric Blake  <ebb9@byu.net>
8303
8304         fpurge: fix previous commits
8305         * modules/fpurge (Makefile.am): Make replacement conditional,
8306         partially reverting 2007-04-29 change; missed in previous
8307         attempt.
8308         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
8309         is missing.
8310
8311 2009-08-16  Bruno Haible  <bruno@clisp.org>
8312
8313         Clarify fpurge's effect on the file position.
8314         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
8315         * tests/test-fpurge.c (main): Make a second pass for checking the file
8316         position.
8317
8318 2009-08-16  Bruno Haible  <bruno@clisp.org>
8319
8320         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
8321         declaration of fpurge is missing.
8322         * tests/test-fpurge.c (main): Check that the file has not more contents
8323         than expected. Close the file before removing it.
8324
8325 2009-08-15  Eric Blake  <ebb9@byu.net>
8326
8327         fpurge: don't wrap working cygwin implementation
8328         * lib/fpurge.c (fpurge): Fix comment typo.
8329         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
8330         1.7 to avoid replacement.
8331         * tests/test-fpurge.c (main): Enhance test.
8332
8333 2009-08-15  Eric Blake  <ebb9@byu.net>
8334         and Jim Meyering  <meyering@redhat.com>
8335
8336         test-update-copyright: skip if perl is insufficient
8337         * tests/test-update-copyright.sh: Failure to run maintainer tool
8338         should not cause testsuite failure on cygwin 1.5.
8339
8340 2009-08-14  Eric Blake  <ebb9@byu.net>
8341
8342         doc: mention more functions added in cygwin 1.7.0
8343         * doc/posix-headers/limits.texi (limits.h): Update for recent
8344         cygwin additions.
8345         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
8346         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
8347         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
8348         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
8349         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
8350
8351 2009-08-14  Eric Blake  <ebb9@byu.net>
8352
8353         maint.mk: simplify update-copyright rule
8354         * top/maint.mk (update-copyright-local): Delete, and document how
8355         to do it in cfg.mk instead.
8356         (update-copyright-exclude-regexp): Delete, and document how to do
8357         it in .x-update-copyright instead.
8358         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
8359         exclude ChangeLog.
8360
8361 2009-08-14  Bruno Haible  <bruno@clisp.org>
8362
8363         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
8364
8365 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
8366
8367         maint.mk: support update-copyright-env
8368         * top/maint.mk (update-copyright-env): Define place-holder.
8369         (update-copyright): Expand $(update-copyright-env) before
8370         invoking update-copyright.
8371
8372 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
8373
8374         update-copyright: implement forced reformatting
8375         * build-aux/update-copyright: Implement and document
8376         UPDATE_COPYRIGHT_FORCE.
8377         * tests/test-update-copyright.sh: Test it.
8378
8379 2009-08-14  Eric Blake  <ebb9@byu.net>
8380         and Bruno Haible  <bruno@clisp.org>
8381
8382         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
8383         * tests/test-locale.c: Revert previous patch related to NULL.
8384         * tests/test-stdio.c: Likewise.
8385         * tests/test-stdlib.c: Likewise.
8386         * tests/test-string.c: Likewise.
8387         * tests/test-unistd.c: Likewise.
8388         * modules/time-tests (Depends-on): Add verify.
8389         * modules/wchar-tests (Depends-on): Likewise.
8390         * tests/test-time.c: Test for NULL compliance.
8391         * tests/test-wchar.c: Likewise.
8392         * modules/locale (Depends-on): Add stddef.
8393         * modules/stdio (Depends-on): Likewise.
8394         * modules/stdlib (Depends-on): Likewise.
8395         * modules/string (Depends-on): Likewise.
8396         * modules/time (Depends-on): Likewise.
8397         * modules/unistd (Depends-on): Likewise.
8398         * modules/wchar (Depends-on): Likewise.
8399         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
8400         * lib/stdlib.in.h (includes): Likewise.
8401         * lib/string.in.h (includes): Likewise.
8402         * lib/time.in.h (includes): Likewise.
8403         * lib/unistd.in.h (includes): Likewise.
8404         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
8405         replaced.
8406         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
8407         * m4/stddef_h.m4: New file.
8408         * modules/stddef: Likewise.
8409         * lib/stddef.in.h: Likewise.
8410         * modules/stddef-tests: Likewise.
8411         * tests/test-stddef.c: Likewise.
8412         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
8413         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
8414         * doc/posix-headers/locale.texi (locale.h): Likewise.
8415         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
8416         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
8417         * doc/posix-headers/string.texi (string.h): Likewise.
8418         * doc/posix-headers/time.texi (time.h): Likewise.
8419         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
8420         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
8421
8422 2009-08-14  Eric Blake  <ebb9@byu.net>
8423
8424         doc: improve git diff of texinfo files
8425         * .gitattributes: Add rule for *.texi files, with hint on how to
8426         use it.
8427         Copied from m4, and based on a report by Bruno Haible.
8428
8429 2009-08-14  Bruno Haible  <bruno@clisp.org>
8430
8431         Disable multithread support by default on Cygwin 1.5.x for real.
8432         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
8433
8434 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
8435
8436         update-copyright: much ado about intervals
8437         * build-aux/update-copyright: Implement and document
8438         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
8439         of copyright year intervals.
8440         Also, document UPDATE_COPYRIGHT_YEAR.
8441         * tests/test-update-copyright.sh: Test it.
8442
8443         update-copyright: convert 2-digit to 4-digit years
8444         * build-aux/update-copyright: Implement and document.
8445         * tests/test-update-copyright.sh: Update.
8446
8447 2009-08-14  Jim Meyering  <meyering@redhat.com>
8448
8449         test-exclude: avoid coreutils "make check" failure
8450         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
8451         just as in test-argmatch.c.
8452
8453 2009-08-13  Eric Blake  <ebb9@byu.net>
8454
8455         test-dup2: fix bad assumption
8456         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
8457         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
8458
8459         test-version-etc: fix CRLF portability issue
8460         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
8461         recognize \r.
8462         * tests/test-argp-version-etc-1.sh: Likewise.
8463
8464         getopt: update client modules
8465         * modules/argp (Depends-on): Use getopt-gnu.
8466         * modules/git-merge-changelog (Depends-on): Likewise.
8467         * modules/long-options (Depends-on): Likewise.
8468         * modules/xstrtol (Depends-on): Likewise.
8469
8470 2009-08-13  Simon Josefsson  <simon@josefsson.org>
8471
8472         * tests/test-version-etc.sh: Don't fail on different
8473         project/version.  Don't fail on CRLF differences.  Rewrite to use
8474         multiple -e instead of multiple sed forks, suggested by Eric Blake
8475         <ebb9@byu.net>.
8476         * tests/test-argp-version-etc-1.sh: Likewise.
8477
8478 2009-08-13  Simon Josefsson  <simon@josefsson.org>
8479
8480         * tests/test-version-etc.sh: Don't fail on different
8481         project/version.
8482
8483 2009-08-12  Bruno Haible  <bruno@clisp.org>
8484
8485         Tests for modules 'getopt-posix', 'getopt-gnu'.
8486         * modules/getopt-posix-tests: New file.
8487         * tests/test-getopt.c: New file.
8488         * tests/test-getopt.h: New file.
8489         * tests/test-getopt_long.h: New file.
8490
8491         New modules 'getopt-posix', 'getopt-gnu'.
8492         * modules/getopt-gnu: New file, renamed from modules/getopt.
8493         * modules/getopt-posix: New file.
8494         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
8495         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
8496         (gl_GETOPT): Remove macro.
8497         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
8498         Disable the test against BSD systems that declare optreset. Test
8499         against mingw bug. Test against lack of support of optional arguments
8500         on many platforms.
8501         * doc/glibc-headers/getopt.texi: Update module name and list of
8502         relevant platforms.
8503         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
8504         'getopt-gnu' and more portability problems.
8505         * NEWS: Mention the changes.
8506
8507 2009-08-12  Bruno Haible  <bruno@clisp.org>
8508
8509         Ensure that optarg etc. get declared by <unistd.h>.
8510         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
8511         AC_USE_SYSTEM_EXTENSIONS.
8512         * modules/getopt (Depends-on): Add 'extensions'.
8513
8514 2009-08-12  Bruno Haible  <bruno@clisp.org>
8515
8516         Avoid test link errors.
8517         * modules/pipe-filter-ii-tests (Makefile.am): Define
8518         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
8519         * modules/pipe-filter-gi-tests (Makefile.am): Define
8520         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
8521         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8522
8523 2009-08-12  Bruno Haible  <bruno@clisp.org>
8524
8525         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
8526         gl_GETOPT_SUBSTITUTE before.
8527         (gl_GETOPT): Use it.
8528         * m4/argp.m4 (gl_ARGP): Update.
8529         Reported by Sergey Poznyakoff.
8530
8531         * m4/getopt.m4: Reorder macros.
8532         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
8533         (gl_GETOPT_SUBSTITUTE): Remove macro.
8534
8535 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
8536
8537         Minor improvement in gitlog-to-changelog
8538
8539         * build-aux/gitlog-to-changelog: New option `--format' makes
8540         output format string configurable.
8541
8542 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
8543
8544         Optimize exclude: use hash tables for non-wildcard patterns.
8545
8546         * lib/exclude.c: Include hash.h and mbuiter.h
8547         (struct exclude_pattern, exclude_segment): New data types.
8548         (struct exclude): Rewrite.
8549         (fnmatch_pattern_has_wildcards): New function.
8550         (new_exclude_segment, free_exclude_segment): New functions.
8551         (excluded_file_pattern_p, excluded_file_name_p): New functions.
8552         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
8553         * lib/exclude.h (is_fnmatch_pattern): New prototype.
8554         * modules/exclude: Depend on hash and mbuiter.
8555
8556         * modules/exclude-tests: New file.
8557         * tests/test-exclude.c: New file.
8558         * tests/test-exclude1.sh: New file.
8559         * tests/test-exclude2.sh: New file.
8560         * tests/test-exclude3.sh: New file.
8561         * tests/test-exclude4.sh: New file.
8562         * tests/test-exclude5.sh: New file.
8563         * tests/test-exclude6.sh: New file.
8564         * tests/test-exclude7.sh: New file.
8565
8566 2009-08-12  Bruno Haible  <bruno@clisp.org>
8567
8568         Ensure that getopt() gets declared by <unistd.h>.
8569         * lib/unistd.in.h: Conditionally include getopt.h.
8570         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
8571         Set GNULIB_UNISTD_H_GETOPT.
8572         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
8573         GNULIB_UNISTD_H_GETOPT.
8574         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
8575
8576 2009-08-12  Bruno Haible  <bruno@clisp.org>
8577
8578         Clarify logic.
8579         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
8580         gl_replace_getopt instead of GETOPT_H.
8581
8582 2009-08-12  Bruno Haible  <bruno@clisp.org>
8583
8584         * m4/getopt.m4: Add comments.
8585
8586 2009-08-12  Bruno Haible  <bruno@clisp.org>
8587
8588         Disable multithread support by default on Cygwin 1.5.x.
8589         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
8590         set gl_use_threads=no if not specified otherwise.
8591
8592 2009-08-11  Bruno Haible  <bruno@clisp.org>
8593
8594         Avoid compilation error on NetBSD 5.0.
8595         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
8596         * tests/test-stdio.c: Likewise.
8597         * tests/test-stdlib.c: Likewise.
8598         * tests/test-string.c: Likewise.
8599         * tests/test-unistd.c: Likewise.
8600         Reported by Greg Troxel <gdt@ir.bbn.com>
8601         at <https://savannah.gnu.org/support/?106973>.
8602
8603 2009-08-11  Bruno Haible  <bruno@clisp.org>
8604
8605         * modules/dup2-tests (Depends-on): Remove close.
8606
8607         Undo 2009-07-19 commit.
8608         * modules/acl-tests (Depends-on): Remove close.
8609         * modules/binary-io-tests (Depends-on): Likewise.
8610         * modules/closein-tests (Depends-on): Likewise.
8611         * modules/flock-tests (Depends-on): Likewise.
8612         * modules/fsync-tests (Depends-on): Likewise.
8613         * modules/lseek-tests (Depends-on): Likewise.
8614         * modules/pipe-tests (Depends-on): Likewise.
8615         * modules/posix_spawn-tests (Depends-on): Likewise.
8616         * modules/posix_spawnp-tests (Depends-on): Likewise.
8617         * modules/stat-time-tests (Depends-on): Likewise.
8618         * modules/yesno-tests (Depends-on): Likewise.
8619
8620 2009-08-10  Bruno Haible  <bruno@clisp.org>
8621
8622         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
8623
8624 2009-08-10  Bruno Haible  <bruno@clisp.org>
8625
8626         Fix a gcc warning.
8627         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
8628
8629 2009-08-10  Bruno Haible  <bruno@clisp.org>
8630
8631         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
8632         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
8633         not only the first time.
8634         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
8635         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
8636         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
8637         is 1, not only the the first time.
8638
8639 2009-08-10  Bruno Haible  <bruno@clisp.org>
8640
8641         Make it possible to use module 'gethostname' without module 'close'.
8642         * lib/unistd.in.h (close): Evoke a link error only if
8643         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
8644         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
8645         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
8646         * modules/unistd (Makefile.am): Substitute
8647         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
8648         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
8649         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
8650         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
8651         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
8652         * modules/sys_ioctl (Makefile.am): Substitute
8653         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
8654         * modules/socket (configure.ac): On native Windows, set
8655         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
8656         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
8657         Reported by Sam Steingold <sds@gnu.org>.
8658
8659 2009-08-10  Bruno Haible  <bruno@clisp.org>
8660
8661         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
8662         * modules/ioctl (configure.ac): Likewise.
8663
8664 2009-08-10  Bruno Haible  <bruno@clisp.org>
8665
8666         Avoid collision between gnulib wrapper and libintl wrapper.
8667         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
8668         already defined in intl/printf.c.
8669         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
8670         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
8671
8672 2009-08-09  Bruno Haible  <bruno@clisp.org>
8673
8674         Make <sys/select.h> really self-contained, also on Solaris 10.
8675         * lib/sys_select.in.h: Include <string.h>.
8676         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
8677         Solaris 10 problem.
8678         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
8679         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
8680         Reported by Jim Meyering.
8681
8682 2009-08-09  Bruno Haible  <bruno@clisp.org>
8683
8684         Avoid warnings from 'aclocal' that are due to a use of macro name
8685         AM_XGETTEXT_OPTION that is not defined in automake.
8686         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
8687         automake.
8688         * modules/error (configure.ac): Likewise.
8689         * modules/propername (configure.ac): Likewise.
8690         * modules/vasprintf (configure.ac): Likewise.
8691         * modules/verror (configure.ac): Likewise.
8692         * modules/xprintf (configure.ac): Likewise.
8693         * modules/xvasprintf (configure.ac): Likewise.
8694
8695 2009-08-08  Bruno Haible  <bruno@clisp.org>
8696
8697         Avoid compilation error in C++ mode.
8698         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
8699         Reported by Sam Steingold <sds@gnu.org>.
8700
8701 2009-08-08  Bruno Haible  <bruno@clisp.org>
8702
8703         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
8704         for the various Unix platforms.
8705         * doc/posix-headers/limits.texi: Update platforms list regarding
8706         HOST_NAME_MAX.
8707         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8708
8709 2009-08-07  Jim Meyering  <meyering@redhat.com>
8710
8711         selinux-at: fix typo in a comment
8712         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
8713         Spotted by Paolo Bonzini.
8714
8715         selinux-at: remove redundant m4 code, add documentation
8716         * modules/selinux-at (configure.ac): Remove redundant code.
8717         LIB_SELINUX is already set via the dependent module, selinux-h.
8718         (Include): Add quotes around selinux-at.h.
8719         * lib/selinux-at.h: Add documentation.
8720         Reported by Bruno Haible in
8721         http://marc.info/?l=gnulib-bug&m=124958988300749
8722
8723 2009-08-07  Bruno Haible  <bruno@clisp.org>
8724
8725         Avoid link error on MacOS X 10.3 and 10.4.
8726         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
8727         on non-ELF systems.
8728         * lib/argp-pv.c (argp_program_version): Likewise.
8729         Reported by Simon Josefsson.
8730
8731 2009-08-07  Simon Josefsson  <simon@josefsson.org>
8732
8733         * tests/test-version-etc.sh: Use $EXEEXT.
8734
8735 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
8736
8737         update-copyright: update documentation to point to maint.mk
8738         * build-aux/update-copyright: Here.
8739
8740 2009-08-06  Jim Meyering  <meyering@redhat.com>
8741
8742         maint.mk: support update-copyright-local
8743         * top/maint.mk (update-copyright-local): Define place-holder.
8744         (update-copyright): Depend on $(update-copyright-local).
8745
8746 2009-08-06  Jim Meyering  <meyering@redhat.com>
8747
8748         selinux-at: new module
8749         Initially written for coreutils, this module will soon be
8750         used by findutils, too.
8751         * MODULES.html.sh [Misc]: Add selinux-at.
8752         * lib/selinux-at.h: New file, from coreutils.
8753         * lib/selinux-at.c: Likewise.
8754         * modules/selinux-at: Likewise.
8755         (License): Change from LGPL to GPL, since it depends
8756         on the GPL'd openat module.
8757
8758         doc: update README
8759         * README: Remove references to cogito.
8760         Remove cvs-repo-updating instructions from 2007.
8761         Don't imply that CVS is better if you have limited disk space.
8762
8763 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
8764
8765         update-copyright: support C-style comments
8766         * build-aux/update-copyright: Implement and document.
8767         * tests/test-update-copyright.sh: Test.
8768
8769 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
8770
8771         update-copyright: support omitted "(C)"
8772         * build-aux/update-copyright: Implement and document.  Also,
8773         allow variable whitespace before "(C)".
8774         * tests/test-update-copyright.sh: Test.
8775
8776 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
8777
8778         update-copyright: don't trip on non-FSF copyright statements
8779         * build-aux/update-copyright: Fix so that the first correctly
8780         formatted FSF copyright statement is recognized no matter what
8781         appears before it.  Update documentation.
8782         * tests/test-update-copyright.sh: Test that.
8783
8784 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
8785
8786         update-copyright: clean up code a little
8787         * build-aux/update-copyright: Append "_re" to the name of any
8788         variable holding a regular expression.
8789         Replace "old" and "new" with "stmt" in variable names.
8790         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
8791         handled correctly.
8792         Format code more consistently.
8793
8794 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
8795
8796         update-copyright-tests: improve portability
8797         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
8798         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
8799
8800 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
8801
8802         update-copyright: support @copyright{} and &copy;
8803         * build-aux/update-copyright: Implement and document.
8804         * tests/test-update-copyright.sh: Test.
8805
8806 2009-08-04  Jim Meyering  <meyering@redhat.com>
8807
8808         update-copyright-tests: correctly test EOL=\r\n handling
8809         * tests/test-update-copyright.sh: Put \r at the end of some lines
8810         for the dos-eol tests.  Based on a patch by Joel E. Denny.
8811
8812         maint.mk: make update-copyright exclusion list more configurable
8813         * top/maint.mk (update-copyright): Default to excluding COPYING,
8814         but allow an override, in case someone does want to update that file.
8815
8816         maint.mk: don't update copyright date in COPYING
8817         * top/maint.mk (update-copyright): Exclude COPYING.
8818
8819         maint.mk: add a copyright-updating rule
8820         * top/maint.mk (update-copyright): New rule.
8821         Derived from coreutils/Makefile.am.
8822
8823         update-copyright: rename some variables
8824         * build-aux/update-copyright: Rename a few variables for clarity.
8825         Tweak syntax.  List Joel E. Denny as coauthor.
8826
8827 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
8828
8829         update-copyright: fix bug for 2-digit last year and add tests
8830         * build-aux/update-copyright: Fix bug.
8831         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
8832         specified.
8833         * modules/update-copyright-tests: New
8834         * tests/test-update-copyright.sh: New.
8835
8836 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
8837
8838         update-copyright: handle leading tabs in line prefix
8839         * build-aux/update-copyright: Count leading tabs as 8 spaces
8840         when computing margin.  This helps with the formatting of
8841         ChangeLogs, for example.
8842         Fix documentation a little.
8843
8844 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
8845
8846         update-copyright: support EOL=\r\n
8847         * build-aux/update-copyright: Implement that.
8848
8849 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
8850
8851         update-copyright: automatically format copyright statements
8852         * build-aux/update-copyright: Implement that.
8853         Also, be a little more predictable and safer by always failing
8854         when the full copyright format is not perfectly recognized as an
8855         unbroken whole.  Discussed at
8856         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
8857         Rewrite documentation.
8858
8859 2009-08-03  Bruno Haible  <bruno@clisp.org>
8860
8861         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
8862
8863 2009-08-02  Bruno Haible  <bruno@clisp.org>
8864
8865         Tests for module 'uname'.
8866         * modules/uname-tests: New file.
8867         * tests/test-uname.c: New file.
8868
8869         New module 'uname'.
8870         * lib/uname.c: New file.
8871         * m4/uname.m4: New file.
8872         * modules/uname: New file.
8873         * doc/posix-functions/uname.texi: Mention the new module.
8874
8875 2009-08-02  Bruno Haible  <bruno@clisp.org>
8876
8877         Tests for module 'sys_utsname'.
8878         * modules/sys_utsname-tests: New file.
8879         * tests/test-sys_utsname.c: New file.
8880
8881         New module 'sys_utsname'.
8882         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
8883         * m4/sys_utsname_h.m4: New file.
8884         * modules/sys_utsname: New file.
8885         * doc/posix-headers/sys_utsname.texi: Mention the new module.
8886
8887 2009-08-02  Bruno Haible  <bruno@clisp.org>
8888
8889         Implicitly initialize the sockets library.
8890         * lib/gethostname.c: Include sockets.h.
8891         (rpl_gethostname): Invoke gl_sockets_startup.
8892         * lib/socket.c: Include sockets.h.
8893         (rpl_socket): Invoke gl_sockets_startup.
8894         * modules/gethostname (Depends-on): Add sockets.
8895         * modules/socket (Depends-on): Likewise.
8896         * tests/test-poll.c: Don't include sockets.h.
8897         (main): Don't invoke gl_sockets_startup.
8898         * tests/test-select.c: Don't include sockets.h.
8899         (main): Don't invoke gl_sockets_startup.
8900
8901 2009-08-02  Bruno Haible  <bruno@clisp.org>
8902
8903         Allow multiple calls to gl_sockets_startup.
8904         * lib/sockets.c (initialized_sockets_version): New variable.
8905         (gl_sockets_startup): Do nothing if already called for this or a higher
8906         version.
8907         (gl_sockets_cleanup): Reset initialized_sockets_version.
8908
8909 2009-08-03  Simon Josefsson  <simon@josefsson.org>
8910
8911         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
8912         different project/version.
8913
8914 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
8915             Bruno Haible  <bruno@clisp.org>
8916
8917         Tests for module 'pipe-filter-gi'.
8918         * modules/pipe-filter-gi-tests: New file.
8919         * tests/test-pipe-filter-gi1.sh: New file.
8920         * tests/test-pipe-filter-gi1.c: New file.
8921         * tests/test-pipe-filter-gi2.sh: New file.
8922         * tests/test-pipe-filter-gi2-main.c: New file.
8923         * tests/test-pipe-filter-gi2-child.c: New file.
8924
8925         New module 'pipe-filter-gi'.
8926         * lib/pipe-filter-gi.c: New file.
8927         * modules/pipe-filter-gi: New file.
8928
8929 2009-08-02  Bruno Haible  <bruno@clisp.org>
8930             Paolo Bonzini  <bonzini@gnu.org>
8931
8932         Tests for module 'pipe-filter-ii'.
8933         * modules/pipe-filter-ii-tests: New file.
8934         * tests/test-pipe-filter-ii1.sh: New file.
8935         * tests/test-pipe-filter-ii1.c: New file.
8936         * tests/test-pipe-filter-ii2.sh: New file.
8937         * tests/test-pipe-filter-ii2-main.c: New file.
8938         * tests/test-pipe-filter-ii2-child.c: New file.
8939
8940         New module 'pipe-filter-ii'.
8941         * lib/pipe-filter.h: New file.
8942         * lib/pipe-filter-ii.c: New file.
8943         * lib/pipe-filter-aux.h: New file.
8944         * modules/pipe-filter-ii: New file.
8945
8946 2009-08-02  Simon Josefsson  <simon@josefsson.org>
8947
8948         * lib/gc-libgcrypt.c: Change copyright to FSF.
8949         * lib/gc-gnulib.c: Likewise.
8950
8951 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
8952
8953         * lib/gethostname.c: Include limits.h.
8954
8955 2009-08-02  Simon Josefsson  <simon@josefsson.org>
8956             Bruno Haible  <bruno@clisp.org>
8957
8958         Ensure HOST_NAME_MAX as part of the gethostname module.
8959         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
8960         define also HOST_NAME_MAX.
8961         * tests/test-gethostname.c: Include <limits.h>.
8962         (main): Check also HOST_NAME_MAX.
8963         * doc/posix-headers/limits.texi: Document the mingw problem.
8964
8965 2009-08-02  Bruno Haible  <bruno@clisp.org>
8966
8967         * lib/gethostname.c (gethostname): Fix handling of large len argument.
8968         Add comments.
8969
8970 2009-03-31  Simon Josefsson  <simon@josefsson.org>
8971
8972         * lib/gethostname.c: Add Windows wrapper.
8973         * m4/gethostname.m4: Look for gethostname in -lws2_32.
8974         * modules/gethostname: Depend on sys_socket & errno, for also
8975         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
8976         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
8977
8978 2009-07-31  Jim Meyering  <meyering@redhat.com>
8979
8980         getloadavg: fix symbol name in comment
8981         * lib/getloadavg.c: Correct a typo I introduced when adding
8982         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
8983         Matt Kraai spotted the problem.
8984
8985 2009-07-29  Matt Kraai  <mkraai@beckman.com>
8986
8987         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
8988         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
8989         code also if ! defined N_NAME_POINTER.
8990         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
8991         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
8992         but the n_name member is a 12-byte array.
8993
8994 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
8995
8996         update-copyright: generalize comment handling
8997         * build-aux/update-copyright: Handle copyright statements
8998         within more comment styles.
8999         Document usage.
9000         Report any file with an external copyright holder or parse failure.
9001
9002 2009-07-29  Jim Meyering  <meyering@redhat.com>
9003
9004         mktime: correct setting of REPLACE_MKTIME
9005         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
9006
9007         update-copyright: new module
9008         * modules/update-copyright: New file.
9009         * build-aux/update-copyright: New file.
9010         * MODULES.html.sh (maint+release support): Add update-copyright.
9011
9012 2009-07-27  Bruno Haible  <bruno@clisp.org>
9013
9014         Fix compilation error when <ctime> is used and mktime is replaced.
9015         * lib/time.in.h (mktime): New declaration.
9016         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
9017         REPLACE_MKTIME instead of defining mktime in config.h.
9018         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
9019         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
9020         Reported by Ross McFarland <rwmcfa1@neces.com>.
9021
9022 2009-07-27  Bruno Haible  <bruno@clisp.org>
9023
9024         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
9025         Reported by Matt Kraai <mkraai@beckman.com>.
9026
9027 2009-07-25  Jim Meyering  <meyering@redhat.com>
9028
9029         maint.mk: avoid warnings about missing files
9030         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
9031         diagnostic when .prev-version does not exist.
9032         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
9033         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
9034         nonexistent cfg.mk.
9035         Suggestions from Simon Josefsson.
9036
9037 2009-07-25  Bruno Haible  <bruno@clisp.org>
9038
9039         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
9040         defined as macros. Needed on QNX 6.4.1.
9041         Reported by Matt Kraai <mkraai@beckman.com>.
9042
9043 2009-07-23  Jim Meyering  <meyering@redhat.com>
9044
9045         maint.mk: invoke "make dist" with a working value of XZ_OPT
9046         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
9047
9048 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
9049
9050         Make fseeko.c compile on QNX.
9051         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
9052
9053 2009-07-22  Peter Simons  <simons@cryp.to>
9054
9055         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
9056         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
9057         * lib/md4.h: Likewise.
9058         * lib/md5.h: Likewise.
9059         * lib/sha1.h: Likewise.
9060         * lib/sha256.h: Likewise.
9061         * lib/sha512.h: Likewise.
9062
9063         tests-sha1: don't assign literal string to 'char *' variable
9064         * tests/test-sha1.c (main): Declare locals with "const" to match
9065         attributes of the right hand side.
9066
9067 2009-07-21  Eric Blake  <ebb9@byu.net>
9068
9069         dup2: fix more mingw problems
9070         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
9071         fd to itself.
9072         * doc/posix-functions/dup2.texi (dup2): Document the bug.
9073         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
9074         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
9075         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
9076         care of mingw bugs.
9077
9078 2009-07-21  Jim Meyering  <meyering@redhat.com>
9079
9080         vc-list-files: avoid failure when /bin/sh is dash
9081         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
9082         On some Debian based systems, /bin/sh is a symlink to dash, and running
9083         this command would omit the "/" following each 'tests' prefix:
9084           dash -x build-aux/vc-list-files -C . tests
9085         That is because bash and dash work differently:
9086           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
9087           bash ok
9088           dash odd
9089
9090 2009-07-21  Eric Blake  <ebb9@byu.net>
9091
9092         dup2-tests: test previous patch
9093         * modules/dup2-tests: New file.
9094         * tests/test-dup2.c: Likewise.
9095         * tests/test-open.c (main): Avoid unspecified behavior.
9096         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
9097         test.
9098
9099         dup2: work around mingw and cygwin 1.5 bug
9100         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
9101         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
9102         * modules/unistd (Makefile.am): Substitute it.
9103         * lib/unistd.in.h (dup2): Declare the replacement.
9104         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
9105         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
9106         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
9107         * modules/execute (Depends-on): Add dup2.
9108         * modules/fseterr (Depends-on): Likewise.
9109         * modules/pipe (Depends-on): Likewise.
9110         * modules/posix_spawn-internal (Depends-on): Likewise.
9111
9112 2009-07-21  Bruno Haible  <bruno@clisp.org>
9113
9114         * modules/.gitattributes: New file.
9115
9116 2009-07-20  Bruno Haible  <bruno@clisp.org>
9117
9118         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
9119         (main): Use it.
9120
9121 2009-07-20  Eric Blake  <ebb9@byu.net>
9122
9123         test-pipe: make a bit more robust.
9124         * tests/test-pipe.c (myerr): Allow error messages regardless of
9125         what we do to stderr.
9126         (test_pipe): Rearrange to avoid deadlock.
9127         (child_main): Try a larger read, to ensure we avoided deadlock.
9128         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
9129         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
9130         if misused.
9131
9132 2009-07-19  Jim Meyering  <meyering@redhat.com>
9133
9134         fts: avoid false-positive cycle-detection
9135         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
9136         for each new command line argument.
9137
9138 2009-07-19  Bruno Haible  <bruno@clisp.org>
9139
9140         Fix build error on mingw with the modules sys_select and unistd.
9141         * modules/acl-tests (Depends-on): Add close.
9142         * modules/binary-io-tests (Depends-on): Likewise.
9143         * modules/closein-tests (Depends-on): Likewise.
9144         * modules/flock-tests (Depends-on): Likewise.
9145         * modules/fsync-tests (Depends-on): Likewise.
9146         * modules/lseek-tests (Depends-on): Likewise.
9147         * modules/pipe-tests (Depends-on): Likewise.
9148         * modules/posix_spawn-tests (Depends-on): Likewise.
9149         * modules/posix_spawnp-tests (Depends-on): Likewise.
9150         * modules/stat-time-tests (Depends-on): Likewise.
9151         * modules/yesno-tests (Depends-on): Likewise.
9152
9153 2009-07-19  Bruno Haible  <bruno@clisp.org>
9154
9155         Unify conditionals.
9156         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
9157         macros, not at the compiler macros.
9158         * lib/pipe.c: Likewise.
9159         * lib/execute.c: Likewise.
9160         * lib/spawni.c: Likewise.
9161
9162 2009-07-19  Bruno Haible  <bruno@clisp.org>
9163
9164         Fix handling of closed stdin/stdout/stderr on mingw.
9165         * lib/w32spawn.h: Include unistd.h.
9166         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
9167         file descriptor with O_NOINHERIT flag.
9168         (fd_safer_noinherit): New function, based on fd-safer.c.
9169         (dup_safer_noinherit): New function, based on dup-safer.c.
9170         (undup_safer_noinherit): New function.
9171         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
9172         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
9173         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
9174         instead of fd_safer.
9175         * tests/test-pipe.c: Include <windows.h>.
9176         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
9177
9178         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
9179         from main.
9180         (test_pipe): Pass an extra argument for disambiguation.
9181         (main): Invoke parent_main or child_main.
9182
9183         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
9184         consistently.
9185
9186 2009-07-18  Eric Blake  <ebb9@byu.net>
9187
9188         test-pipe: fix mingw build
9189         * tests/test-pipe.c (main): Avoid fcntl on mingw.
9190
9191 2009-07-18  Bruno Haible  <bruno@clisp.org>
9192
9193         * modules/pipe-tests (Makefile.am): Fix typo.
9194
9195 2009-07-18  Eric Blake  <ebb9@byu.net>
9196
9197         error: fix mingw build
9198         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
9199         Reported by Bruno Haible.
9200
9201         error: avoid undefined use of stdout
9202         * lib/error.c (error, error_at_line): Check that fd 1 is open
9203         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
9204         is handling faults and the close_stdout module wants to report the
9205         detection of closed stdout as an error.
9206
9207 2009-07-17  Eric Blake  <ebb9@byu.net>
9208
9209         pipe: be robust in face of closed fds
9210         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
9211         should cause child to misbehave.
9212         * modules/pipe-tests: New module.
9213         * tests/test-pipe.c: New file.
9214         * tests/test-pipe.sh: New file.
9215         Reported by Akim Demaille.
9216
9217 2009-07-14  Bruno Haible  <bruno@clisp.org>
9218
9219         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
9220         Reported by anonymous kc.
9221
9222 2009-07-07  Jim Meyering  <meyering@redhat.com>
9223
9224         maint.mk: don't look for translatable strings in *.m4 or *.mk
9225         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
9226         when searching for translatable strings.
9227
9228 2009-07-05  Jim Meyering  <meyering@redhat.com>
9229
9230         remove superfluous parentheses in STREQ definition
9231         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
9232         * lib/getugroups.c (STREQ): Likewise.
9233         * lib/fnmatch.c (STREQ): Likewise.
9234         Spotted by Bruno Haible.
9235
9236 2009-07-04  Jim Meyering  <meyering@redhat.com>
9237
9238         argv-iter: new module
9239         * MODULES.html.sh: Add argv-iter.
9240         * lib/argv-iter.c, lib/argv-iter.h: New files.
9241         * modules/argv-iter: New file.
9242         * modules/argv-iter-tests: New file.
9243         * tests/test-argv-iter.c: Test it.
9244
9245 2009-07-04  Bruno Haible  <bruno@clisp.org>
9246
9247         Fix assertion.
9248         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
9249         contains more exact copies of a given entry than file2, leave the extra
9250         copies unpaired rather than aborting.
9251         Reported by Eric Blake.
9252
9253 2009-07-02  Bruno Haible  <bruno@clisp.org>
9254
9255         Speedup git-merge-changelog for git cherry-pick.
9256         * lib/git-merge-changelog.c (struct entries_mapping): New type.
9257         (entries_mapping_get): New function, extracted from compute_mapping.
9258         (entries_mapping_reverse_get): New function.
9259         (compute_mapping): Add a 'full' argument. Return the result in a
9260         'struct entries_mapping'.
9261         (main): Update. Access the mappings through entries_mapping_get.
9262         Reported by Eric Blake.
9263
9264 2009-07-02  Bruno Haible  <bruno@clisp.org>
9265
9266         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
9267         best_i.
9268
9269 2009-07-02  Bruno Haible  <bruno@clisp.org>
9270
9271         Speed up approximate search for matching ChangeLog entries.
9272         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
9273         argument. Call fstrcmp_bounded instead of fstrcmp.
9274         (compute_mapping, try_split_merged_entry, main): Update callers.
9275
9276 2009-07-02  Bruno Haible  <bruno@clisp.org>
9277
9278         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
9279
9280 2009-06-30  Bruno Haible  <bruno@clisp.org>
9281
9282         Reduce the number of uc_is_cased calls.
9283         * lib/unicase.h (casing_suffix_context_t): Add
9284         'first_char_except_ignorable' field.
9285         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
9286         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
9287         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
9288         Update initializer.
9289         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
9290         case-ignorable characters.
9291         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
9292         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
9293         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
9294         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
9295         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
9296
9297 2009-06-30  Bruno Haible  <bruno@clisp.org>
9298
9299         Tests for module 'unicase/ignorable'.
9300         * modules/unicase/ignorable-tests: New file.
9301         * tests/unicase/test-ignorable.c: New file, generated by
9302         gen-uni-tables.
9303
9304         Tests for module 'unicase/cased'.
9305         * modules/unicase/cased-tests: New file.
9306         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
9307         * tests/unicase/test-predicate-part1.h: New file, derived from
9308         tests/unictype/test-predicate-part1.h.
9309         * tests/unicase/test-predicate-part2.h: New file, same as
9310         tests/unictype/test-predicate-part2.h.
9311
9312         Fix evaluation of "Before C" condition of FINAL_SIGMA.
9313         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
9314         (output_casing_properties): New function.
9315         (main): Call it.
9316         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
9317         * lib/unicase/cased.c: Include unictype/bitmap.h.
9318         (uc_is_cased): Define through a bitmap lookup.
9319         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
9320         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
9321         (uc_is_case_ignorable): Define through a bitmap lookup.
9322         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
9323         lib/unictype/bitmap.h.
9324         (Depends-on): Add inline. Clean up.
9325         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
9326         lib/unictype/bitmap.h.
9327         (Depends-on): Add inline. Clean up.
9328         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
9329         recognition.
9330         * tests/unicase/test-u16-tolower.c (main): Likewise.
9331         * tests/unicase/test-u32-tolower.c (main): Likewise.
9332
9333 2009-06-30  Bruno Haible  <bruno@clisp.org>
9334
9335         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
9336         * lib/unicase/u16-casemap.c: Likewise.
9337         * lib/unicase/u32-casemap.c: Likewise.
9338
9339 2009-06-29  Bruno Haible  <bruno@clisp.org>
9340
9341         Define u32_casefold as a wrapper around u32_ct_casefold.
9342         * lib/unicase/u32-casefold.c: Update.
9343         * modules/unicase/u32-casefold (Depends-on): Add
9344         unicase/u32-ct-casefold, unicase/empty-prefix-context,
9345         unicase/empty-suffix-context. Clean up.
9346
9347         Define u16_casefold as a wrapper around u16_ct_casefold.
9348         * lib/unicase/u16-casefold.c: Update.
9349         * modules/unicase/u16-casefold (Depends-on): Add
9350         unicase/u16-ct-casefold, unicase/empty-prefix-context,
9351         unicase/empty-suffix-context. Clean up.
9352
9353         Define u8_casefold as a wrapper around u8_ct_casefold.
9354         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
9355         * lib/unicase/u8-casefold.c: Update.
9356         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
9357         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
9358
9359         Define u32_totitle as a wrapper around u32_ct_totitle.
9360         * lib/unicase/u32-totitle.c: Update.
9361         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
9362         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
9363
9364         Define u16_totitle as a wrapper around u16_ct_totitle.
9365         * lib/unicase/u16-totitle.c: Update.
9366         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
9367         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
9368
9369         Define u8_totitle as a wrapper around u8_ct_totitle.
9370         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
9371         functions.
9372         (FUNC): Delegate to U_CT_TOTITLE.
9373         * lib/unicase/u8-totitle.c: Update.
9374         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
9375         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
9376
9377         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
9378         invocation.
9379         * modules/unicase/u32-tolower (Depends-on): Add
9380         unicase/empty-prefix-context, unicase/empty-suffix-context.
9381
9382         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
9383         invocation.
9384         * modules/unicase/u16-tolower (Depends-on): Add
9385         unicase/empty-prefix-context, unicase/empty-suffix-context.
9386
9387         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
9388         * modules/unicase/u8-tolower (Depends-on): Add
9389         unicase/empty-prefix-context, unicase/empty-suffix-context.
9390
9391         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
9392         invocation.
9393         * modules/unicase/u32-toupper (Depends-on): Add
9394         unicase/empty-prefix-context, unicase/empty-suffix-context.
9395
9396         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
9397         invocation.
9398         * modules/unicase/u16-toupper (Depends-on): Add
9399         unicase/empty-prefix-context, unicase/empty-suffix-context.
9400
9401         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
9402         * modules/unicase/u8-toupper (Depends-on): Add
9403         unicase/empty-prefix-context, unicase/empty-suffix-context.
9404
9405         New module 'unicase/u32-ct-casefold'.
9406         * lib/unicase/u32-ct-casefold.c: New file.
9407         * modules/unicase/u32-ct-casefold: New file.
9408
9409         New module 'unicase/u16-ct-casefold'.
9410         * lib/unicase/u16-ct-casefold.c: New file.
9411         * modules/unicase/u16-ct-casefold: New file.
9412
9413         New module 'unicase/u8-ct-casefold'.
9414         * lib/unicase/u8-ct-casefold.c: New file.
9415         * lib/unicase/u-ct-casefold.h: New file, derived from
9416         lib/unicase/u-casefold.h.
9417         * modules/unicase/u8-ct-casefold: New file.
9418
9419         New module 'unicase/u32-ct-totitle'.
9420         * lib/unicase/u32-ct-totitle.c: New file.
9421         * modules/unicase/u32-ct-totitle: New file.
9422
9423         New module 'unicase/u16-ct-totitle'.
9424         * lib/unicase/u16-ct-totitle.c: New file.
9425         * modules/unicase/u16-ct-totitle: New file.
9426
9427         New module 'unicase/u8-ct-totitle'.
9428         * lib/unicase/u8-ct-totitle.c: New file.
9429         * lib/unicase/u-ct-totitle.h: New file, derived from
9430         lib/unicase/u-totitle.h.
9431         * modules/unicase/u8-ct-totitle: New file.
9432
9433         New module 'unicase/u32-ct-tolower'.
9434         * lib/unicase/u32-ct-tolower.c: New file.
9435         * modules/unicase/u32-ct-tolower: New file.
9436
9437         New module 'unicase/u16-ct-tolower'.
9438         * lib/unicase/u16-ct-tolower.c: New file.
9439         * modules/unicase/u16-ct-tolower: New file.
9440
9441         New module 'unicase/u8-ct-tolower'.
9442         * lib/unicase/u8-ct-tolower.c: New file.
9443         * modules/unicase/u8-ct-tolower: New file.
9444
9445         New module 'unicase/u32-ct-toupper'.
9446         * lib/unicase/u32-ct-toupper.c: New file.
9447         * modules/unicase/u32-ct-toupper: New file.
9448
9449         New module 'unicase/u16-ct-toupper'.
9450         * lib/unicase/u16-ct-toupper.c: New file.
9451         * modules/unicase/u16-ct-toupper: New file.
9452
9453         New module 'unicase/u8-ct-toupper'.
9454         * lib/unicase/u8-ct-toupper.c: New file.
9455         * modules/unicase/u8-ct-toupper: New file.
9456
9457         Add context arguments to u*_casemap functions.
9458         * lib/unicase/unicasemap.h: Include unicase.h.
9459         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
9460         suffix_context arguments.
9461         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
9462         functions.
9463         (FUNC): Add prefix_context and suffix_context arguments. Use
9464         uc_is_cased and uc_is_case_ignorable.
9465         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
9466         * lib/unicase/u16-casemap.c: Likewise.
9467         * lib/unicase/u32-casemap.c: Likewise.
9468         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
9469         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
9470         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
9471         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
9472         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
9473         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
9474
9475         New module 'unicase/u32-suffix-context'.
9476         * lib/unicase/u32-suffix-context.c: New file.
9477         * modules/unicase/u32-suffix-context: New file.
9478
9479         New module 'unicase/u16-suffix-context'.
9480         * lib/unicase/u16-suffix-context.c: New file.
9481         * modules/unicase/u16-suffix-context: New file.
9482
9483         New module 'unicase/u8-suffix-context'.
9484         * lib/unicase/u8-suffix-context.c: New file.
9485         * lib/unicase/u-suffix-context.h: New file.
9486         * modules/unicase/u8-suffix-context: New file.
9487
9488         New module 'unicase/empty-suffix-context'.
9489         * lib/unicase/empty-suffix-context.c: New file.
9490         * modules/unicase/empty-suffix-context: New file.
9491
9492         New module 'unicase/u32-prefix-context'.
9493         * lib/unicase/u32-prefix-context.c: New file.
9494         * modules/unicase/u32-prefix-context: New file.
9495
9496         New module 'unicase/u16-prefix-context'.
9497         * lib/unicase/u16-prefix-context.c: New file.
9498         * modules/unicase/u16-prefix-context: New file.
9499
9500         New module 'unicase/u8-prefix-context'.
9501         * lib/unicase/u8-prefix-context.c: New file.
9502         * lib/unicase/u-prefix-context.h: New file.
9503         * lib/unicase/context.h: New file.
9504         * modules/unicase/u8-prefix-context: New file.
9505
9506         New module 'unicase/empty-prefix-context'.
9507         * lib/unicase/empty-prefix-context.c: New file.
9508         * modules/unicase/empty-prefix-context: New file.
9509
9510         New module 'unicase/ignorable'.
9511         * lib/unicase/ignorable.c: New file.
9512         * modules/unicase/ignorable: New file.
9513
9514         New module 'unicase/cased'.
9515         * lib/unicase/caseprop.h: New file.
9516         * lib/unicase/cased.c: New file.
9517         * modules/unicase/cased: New file.
9518
9519         New functions for case mapping of substrings.
9520         * lib/unicase.h (casing_prefix_context_t): New type.
9521         (unicase_empty_prefix_context): New variable.
9522         (u8_casing_prefix_context, u16_casing_prefix_context,
9523         u32_casing_prefix_context, u8_casing_prefixes_context,
9524         u16_casing_prefixes_context, u32_casing_prefixes_context): New
9525         declarations.
9526         (casing_suffix_context_t): New type.
9527         (unicase_empty_suffix_context): New variable.
9528         (u8_casing_suffix_context, u16_casing_suffix_context,
9529         u32_casing_suffix_context, u8_casing_suffixes_context,
9530         u16_casing_suffixes_context, u32_casing_suffixes_context,
9531         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
9532         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
9533         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
9534         declarations.
9535
9536 2009-06-28  Jim Meyering  <meyering@redhat.com>
9537
9538         boostrap: indent only with spaces
9539         * build-aux/bootstrap: Indent only with spaces, never TABs.
9540
9541         bootstrap: split long lines
9542         * build-aux/bootstrap: Keep line length < 80.
9543
9544         bootstrap: sync from coreutils
9545         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
9546         just as autoreconf does.  Verify a list of prerequisite
9547         package-name,version-number pairs if defined in bootstrap.conf.
9548         Refer to README-prereq, if prerequisites are not satisfied.
9549
9550 2009-06-27  Eric Blake  <ebb9@byu.net>
9551
9552         tests: add test for bogus NULL definition
9553         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
9554         * tests/test-stdlib.c: Likewise.
9555         * tests/test-string.c: Likewise.
9556         * tests/test-locale.c: Likewise.
9557         * tests/test-unistd.c: Likewise.
9558         * modules/stdio-tests (Depends-on): Add verify.
9559         * modules/stdlib-tests (Depends-on): Likewise.
9560         * modules/string-tests (Depends-on): Likewise.
9561         * modules/locale-tests (Depends-on): Likewise.
9562         * modules/unistd-tests (Depends-on): Likewise.
9563
9564 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
9565
9566         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
9567         self-explaining comment.
9568         * m4/selinux-selinux-h: Update serial.
9569         (gl_LIBSELINUX): New macro, adding a warning for missing development
9570         packages to code extracted from...
9571         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
9572         Add warning for missing development packages here, too.
9573
9574 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
9575
9576         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
9577
9578 2009-06-25  Eric Blake  <ebb9@byu.net>
9579
9580         version-etc: fix regression
9581         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
9582         gcc.
9583         (version_etc): Use it, to catch bugs with trailing NULL.
9584         * lib/version-etc.c (version_etc_arn): Delete unused argument.
9585         (version_etc_va): Fix logic bug.
9586         * modules/version-etc-tests: Add test.
9587         * tests/test-version-etc.c: New file.
9588         * tests/test-version-etc.sh: Likewise.
9589
9590 2009-06-25  Sam Steingold  <sds@gnu.org>
9591
9592         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
9593         mbtowc declaration.
9594
9595 2009-06-25  Eric Blake  <ebb9@byu.net>
9596
9597         fpurge: migrate into <stdio.h>
9598         * lib/fpurge.h: Delete...
9599         * lib/stdio.in.h (fpurge): ...and declare here, instead.
9600         * lib/fpurge.c (fpurge): Change declaring header.
9601         * modules/fpurge (Files): Drop deleted file.
9602         (Depends-on): Add stdio.
9603         (configure.ac): Set witness.
9604         * modules/stdio (Makefile.am): Support fpurge macros.
9605         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
9606         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
9607         * lib/fflush.c: Update client.
9608         * tests/test-fpurge.c: Likewise.
9609         * NEWS: Mention the change.
9610
9611 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
9612
9613         * lib/argp-version-etc.c (program_authors): Add const
9614         qualifier.
9615         * lib/version-etc.c: Fix typos in the comments.
9616         * modules/argp-version-etc: Depends on version-etc.
9617
9618 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
9619
9620         argp-version-etc: new module.
9621
9622         * lib/argp-version-etc.c: New file.
9623         * lib/argp-version-etc.h: New file.
9624         * modules/argp-version-etc: New file.
9625         * modules/argp-version-etc-tests: New file.
9626         * tests/test-argp-version-etc.c: New test.
9627         * tests/test-argp-version-etc-1.sh: New test.
9628
9629 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
9630
9631         Provide additional interfaces and documentation for version-etc
9632         module.
9633
9634         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
9635         interfaces.
9636         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
9637         prototypes.
9638
9639 2009-06-24  Bruno Haible  <bruno@clisp.org>
9640
9641         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
9642         HAVE_LIB${NAME} macro.
9643         Reported by Sam Steingold <sds@gnu.org>.
9644
9645 2009-06-23  Simon Josefsson  <simon@josefsson.org>
9646
9647         * modules/hash-tests (test_hash_LDADD): Link to libintl when
9648         needed.
9649
9650 2009-06-21  Bruno Haible  <bruno@clisp.org>
9651
9652         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
9653         work.
9654         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
9655         together with LIB${NAME}, LTLIB${NAME}.
9656         Reported by Sam Steingold <sds@gnu.org>.
9657
9658 2009-06-20  Jim Meyering  <meyering@redhat.com>
9659
9660         tests: make sc_require_test_exit_idiom more generic
9661         * top/maint.mk (Exit_witness_file): New overridable variable.
9662         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
9663         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
9664
9665 2009-06-19  Jim Meyering  <meyering@redhat.com>
9666
9667         hash: reverse order of src/dst parameters in an internal interface
9668         * lib/hash.c (transfer_entries): Reverse order of parameters to
9669         put DST before SRC.  Adjust callers.
9670
9671         tests: test-hash: avoid wholesale duplication
9672         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
9673         Instead, use a loop and add a single conditional.
9674
9675         tests: test-hash: allow seed selection via a command line argument
9676         * tests/test-hash.c (get_seed): New function.
9677         (main): Use it.
9678
9679 2009-06-19  Eric Blake  <ebb9@byu.net>
9680
9681         hash: avoid memory leak on allocation failure
9682         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
9683         failure.  Factor repeated algorithm...
9684         (transfer_entries): ...into new helper routine.
9685         (hash_delete): React to hash_rehash return value.
9686
9687         hash: reduce memory pressure in hash_rehash no-op case
9688         * lib/hash.c (next_prime): Avoid overflow.
9689         (hash_initialize): Factor bucket size computation...
9690         (compute_bucket_size): ...into new helper function.
9691         (hash_rehash): Use new function and open coding to reduce memory
9692         pressure, and avoid a memory leak in USE_OBSTACK code.
9693         Reported by Jim Meyering.
9694
9695 2009-06-18  Eric Blake  <ebb9@byu.net>
9696
9697         hash: make rotation more obvious
9698         * modules/hash (Depends-on): Add bitrotate and stdint.
9699         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
9700         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
9701         (SIZE_MAX): Rely on headers for definition.
9702         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
9703         (raw_hasher): Use rotr_sz.
9704         Suggested by Jim Meyering.
9705
9706         hash: fix memory leak in last patch
9707         * lib/hash.c (hash_rehash): Avoid memory leak.
9708
9709         hash: avoid no-op rehashing
9710         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
9711
9712         hash: provide default callback functions
9713         * lib/hash.c (raw_hasher, raw_comparator): New functions.
9714         (hash_initialize): Use them as defaults.
9715         * tests/test-hash.c (main): Test this.
9716
9717         hash: minor optimization
9718         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
9719         when possible.
9720         (hash_initialize): Document this promise.
9721         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
9722         * tests/test-hash.c (hash_compare_strings): Test this.
9723
9724 2009-06-18  Bruno Haible  <bruno@clisp.org>
9725
9726         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
9727         going to be replaced anyway.
9728
9729 2009-06-18  Bruno Haible  <bruno@clisp.org>
9730
9731         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
9732         in one place.
9733         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
9734         be replaced anyway.
9735
9736 2009-06-18  Eric Blake  <ebb9@byu.net>
9737
9738         hash: check for resize before insertion
9739         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
9740         threshold before insertion, so that a pathological hash_rehash
9741         that fills every bucket can still trigger another rehash.
9742
9743 2009-06-18  Jim Meyering  <meyering@redhat.com>
9744
9745         hash-tests: add a loop around the small tests
9746         * tests/test-hash.c (main): Repeat small tests with selected
9747         small initial table sizes.
9748
9749 2009-06-17  Eric Blake  <ebb9@byu.net>
9750
9751         hash: minor cleanups
9752         * lib/hash.h (hash_entry): Make opaque, by moving...
9753         * lib/hash.c (hash_entry): ...here.
9754         (hash_insert): Clarify restrictions on what can be inserted.
9755         (hash_get_next): Clarify when it is safe to remove an element
9756         during traversal.
9757         (check_tuning): Skip verification when tuning is known safe.
9758         (hash_initialize): Clarify restrictions on tuning.
9759
9760 2009-06-17  Jim Meyering  <jim@meyering.net>
9761         and Eric Blake  <ebb9@byu.net>
9762
9763         hash-tests: new module
9764         * modules/hash-tests: New file.
9765         * tests/test-hash.c: New file.
9766
9767 2009-06-17  Eric Blake  <ebb9@byu.net>
9768
9769         strstr-simple: document new module
9770         * MODULES.html.sh: Document new module.
9771
9772         strstr, strcasestr: replace on platforms with broken memchr
9773         * modules/strstr: Split into...
9774         * modules/strstr-simple: ...new module that does not care about
9775         performance, but does care about glibc bug.
9776         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
9777         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
9778         if platform memchr is broken, per Debian bug 521737.
9779         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
9780         memchr.
9781         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
9782         * doc/posix-functions/strstr.texi (strstr): Document the fix.
9783         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
9784         * modules/mountlist (Depends-on): Add strstr-simple.
9785         * modules/gen-uni-tables (Depends-on): Likewise.
9786         * modules/argz (Depends-on): Add strstr.
9787
9788 2009-06-17  Bruno Haible  <bruno@clisp.org>
9789
9790         * modules/posix_spawn-internal (Depends-on): Add errno.
9791
9792 2009-06-17  Bruno Haible  <bruno@clisp.org>
9793
9794         Define missing ESTALE on Interix 3.5.
9795         * lib/errno.in.h (ESTALE): Assign a value if missing.
9796         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
9797         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
9798         missing.
9799         * doc/posix-headers/errno.texi: Mention the Interix bug.
9800         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
9801
9802 2009-06-15  Eric Blake  <ebb9@byu.net>
9803
9804         memchr, memchr2: add valgrind exception
9805         * lib/memchr.valgrind: New file.
9806         * lib/memchr2.valgrind: New file.
9807         * modules/memchr (Files): Distribute valgrind file.
9808         * modules/memchr2 (Files): Likewise.
9809
9810         docs: memchr is no longer obsolete
9811         * MODULES.html.sh: Move memchr from obsolete to string.h section.
9812         * lib/string.in.h (memchr): Simplify logic.
9813
9814 2009-06-14  Jim Meyering  <meyering@redhat.com>
9815
9816         link-follow: fix the "checking..." message to not mention trailing slash
9817         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
9818         never considered trailing slashes.
9819
9820 2009-06-14  Bruno Haible  <bruno@clisp.org>
9821
9822         * m4/memchr.m4: Mention also the bug on IA-64.
9823         * doc/posix-functions/memchr.texi: Likewise.
9824
9825 2009-06-12  Eric Blake  <ebb9@byu.net>
9826
9827         memchr: detect broken x86_64 and alpha implementations
9828         * modules/memchr-tests (Depends-on): Move mmap detection...
9829         * modules/memchr (Depends-on): ...here.
9830         (configure.ac): Set indicator.
9831         * lib/string.in.h (memchr): Declare replacement.
9832         * modules/string (Makefile.am): Trigger replacement.
9833         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
9834         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
9835         bugs.
9836         * doc/posix-functions/memchr.texi (memchr): Document the bug.
9837         * modules/getpagesize (License): Relax license.
9838
9839 2009-06-11  Bruno Haible  <bruno@clisp.org>
9840
9841         * lib/idpriv.h: Add more references.
9842
9843 2009-06-08  Bruno Haible  <bruno@clisp.org>
9844
9845         Tests for module 'idpriv-droptemp'.
9846         * modules/idpriv-droptemp-tests: New file.
9847         * tests/test-idpriv-droptemp.sh: New file.
9848         * tests/test-idpriv-droptemp.su.sh: New file.
9849         * tests/test-idpriv-droptemp.c: New file.
9850
9851         New module 'idpriv-droptemp'.
9852         * lib/idpriv-droptemp.c: New file.
9853         * modules/idpriv-droptemp: New file.
9854
9855 2009-06-08  Bruno Haible  <bruno@clisp.org>
9856
9857         Tests for module 'idpriv-drop'.
9858         * modules/idpriv-drop-tests: New file.
9859         * tests/test-idpriv-drop.sh: New file.
9860         * tests/test-idpriv-drop.su.sh: New file.
9861         * tests/test-idpriv-drop.c: New file.
9862
9863         New module 'idpriv-drop'.
9864         * lib/idpriv.h: New file.
9865         * lib-idpriv-drop.c: New file.
9866         * m4/idpriv.m4: New file.
9867         * modules/idpriv-drop: New file.
9868
9869 2009-06-08  Bruno Haible  <bruno@clisp.org>
9870
9871         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
9872         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
9873         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
9874         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
9875         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
9876         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
9877         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
9878
9879 2009-06-08  Eric Blake  <ebb9@byu.net>
9880
9881         test-strstr: use memory fence, when possible
9882         * tests/test-strstr.c (main): Use memory fence, in order to be
9883         more likely to trigger Debian bug 521737.
9884         * modules/strstr-tests (Files): Pull in additional files.
9885
9886         memchr: no longer obsolete, for wider field testing
9887         * modules/memchr (Status, Notice): Delete, this module is no
9888         longer obsolete.
9889         * modules/vasnprintf (Depends-on): Add memchr.
9890
9891 2009-06-07  Jim Meyering  <meyering@redhat.com>
9892
9893         hash: declare some functions with the warn_unused_result attribute
9894         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
9895
9896 2009-06-07  Bruno Haible  <bruno@clisp.org>
9897
9898         * tests/test-alignof.c: Don't test int64_t if it does not exist.
9899         Reported by Eric Blake.
9900
9901 2009-06-06  Eric Blake  <ebb9@byu.net>
9902
9903         test-alignof: fix typo with long double
9904         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
9905         compiler error.
9906
9907 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
9908
9909         Escape non-texinfo { and }s.
9910         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
9911         markup error.
9912
9913 2009-06-04  Jim Meyering  <meyering@redhat.com>
9914
9915         gitlog-to-changelog: don't infloop on an empty commit log
9916         * build-aux/gitlog-to-changelog: Warn about an empty log message.
9917         Reported by Boris Petersen <transacid@centerim.org>.
9918
9919 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
9920
9921         version-etc: extend for packagers
9922         Add three new configure options, intended for packagers:
9923           --with-packager="packager name"
9924           --with-packager-version="packager-specific version"
9925           --with-packager-bug-reports="packager bug reporting"
9926         An example with coreutils:
9927           $ ./configure \
9928             --with-packager=Gentoo \
9929             --with-packager-bug-report=http://bugs.gentoo.org/ \
9930             --with-packager-version="patchset 1.6"
9931           $ ./src/ls --version | head -n2
9932           ls (GNU coreutils) 7.1-dirty
9933           Packaged by Gentoo (patchset 1.6)
9934         Note that the bug reporting info via --help doesn't show up because
9935         coreutils uses its own custom emit_bug_reporting_address() implementation
9936         in src/system.h.  If it didn't, it'd look like:
9937           $ ./src/ls --help | tail -n4
9938           Report bugs to <bug-coreutils@gnu.org>.
9939           Report Gentoo bugs to <http://bugs.gentoo.org/>.
9940           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
9941           General help using GNU software: <http://www.gnu.org/gethelp/>.
9942         * lib/version-etc.c: Print new information, if provided.
9943         * m4/version-etc.m4: New file.
9944         * modules/version-etc (Files): Add m4/version-etc.m4.
9945         (configure.ac): Add gl_VERSION_ETC.
9946
9947 2009-05-31  Bruno Haible  <bruno@clisp.org>
9948
9949         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
9950         and 'int64_t'.
9951         * modules/alignof-tests (Dependencies): Add stdint.
9952         Reported by Eric Blake.
9953
9954 2009-05-31  Bruno Haible  <bruno@clisp.org>
9955
9956         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
9957         restriction due to compiler bugs.
9958         Reported by Eric Blake.
9959
9960 2009-05-31  Simon Josefsson  <simon@josefsson.org>
9961             Bruno Haible  <bruno@clisp.org>
9962
9963         Fix test-alignof failure.
9964         * lib/alignof.h (alignof_slot): New macro.
9965         (alignof_type): New macro, with the same semantics as the previous
9966         'alignof'.
9967         (alignof): Alias to alignof_slot.
9968         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
9969         check that the results are usable as constant expressions.
9970
9971 2009-05-31  Bruno Haible  <bruno@clisp.org>
9972
9973         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
9974         * tests/test-memchr.c (main): Check that memchr does not read past the
9975         first occurrence of the byte.
9976         * tests/test-strstr.c (main): Update comment.
9977         Suggested by Eric Blake.
9978
9979 2009-05-30  Bruno Haible  <bruno@clisp.org>
9980
9981         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
9982         detail how to use dumpbin.
9983         Reported by David Byron <dbyron@dbyron.com>.
9984
9985 2009-06-02  Simon Josefsson  <simon@josefsson.org>
9986
9987         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
9988
9989 2009-06-02  Simon Josefsson  <simon@josefsson.org>
9990
9991         * m4/manywarnings.m4: Add GCC 4.4 warnings.
9992
9993 2009-05-28  Bruno Haible  <bruno@clisp.org>
9994
9995         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
9996         build-aux/ files.
9997
9998 2009-05-28  Simon Josefsson  <simon@josefsson.org>
9999
10000         * gnulib-tool (func_import): Transform license on build-aux/ files too.
10001
10002 2009-05-27  Simon Josefsson  <simon@josefsson.org>
10003
10004         * gnulib-tool (sed_transform_main_lib_file)
10005         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
10006         regexps.
10007
10008 2009-05-26  Simon Josefsson  <simon@josefsson.org>
10009
10010         * tests/test-strstr.c: Add another self-test.
10011         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
10012         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
10013
10014 2009-05-23  Bruno Haible  <bruno@clisp.org>
10015
10016         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
10017         change.
10018
10019 2009-05-21  Bruno Haible  <bruno@clisp.org>
10020
10021         Simplify use of mode_t varargs.
10022         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
10023         uses 'mode_t' or 'int'.
10024         * lib/openat.c (openat): Likewise.
10025         * lib/open-safer.c (open_safer): Likewise.
10026         * m4/mode_t.m4: New file.
10027         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
10028         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
10029         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
10030         * modules/open (Files): Add m4/mode_t.m4.
10031         * modules/openat (Files): Likewise.
10032         * modules/fcntl-safer (Files): Likewise.
10033         Suggested by Eric Blake.
10034
10035 2009-05-21  Pádraig Brady  <P@draigbrady.com>
10036
10037         * doc/glibc-functions/fallocate.texi: New file.
10038         * doc/gnulib.texi: Include it.
10039
10040 2009-05-21  Eric Blake  <ebb9@byu.net>
10041             Bruno Haible  <bruno@clisp.org>
10042
10043         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
10044         invocations.
10045         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
10046
10047 2009-05-21  Eric Blake  <ebb9@byu.net>
10048             Bruno Haible  <bruno@clisp.org>
10049
10050         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
10051         include_next. Fix of 2008-11-20 commit.
10052         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
10053         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
10054         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
10055         NEXT_MATH_H.
10056         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
10057         instead of NEXT_MATH_H.
10058
10059 2009-05-21  Bruno Haible  <bruno@clisp.org>
10060
10061         Avoid redefinition warnings for SIZE_MAX.
10062         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
10063         Reported by Simon Josefsson.
10064
10065 2009-05-21  Bruno Haible  <bruno@clisp.org>
10066
10067         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
10068         AC_CACHE_VAL.
10069
10070 2009-05-20  Bruno Haible  <bruno@clisp.org>
10071
10072         Make zeroptr.h work on mingw.
10073         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
10074         mprotect.
10075         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
10076         * modules/memchr2-tests (configure.ac): Likewise.
10077         * modules/memcmp-tests (configure.ac): Likewise.
10078         * modules/memmem-tests (configure.ac): Likewise.
10079         * modules/memrchr-tests (configure.ac): Likewise.
10080         Reported by Simon Josefsson.
10081
10082 2009-05-20  Simon Josefsson  <simon@josefsson.org>
10083
10084         * tests/test-glob.c: Include string.h for strcmp prototype.
10085
10086 2009-05-20  Simon Josefsson  <simon@josefsson.org>
10087
10088         * modules/getdelim (Depends-on): Add explicit stdint, although it
10089         was implicitly already pulled in via realloc-posix.
10090         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
10091
10092 2009-05-20  Simon Josefsson  <simon@josefsson.org>
10093
10094         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
10095         G. Christensen" <tgc@jupiterrise.com>.
10096         * m4/sys_socket_h.m4: Check for sa_family_t.
10097         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
10098         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
10099         * tests/test-sys_socket.c: Check that sa_family_t works.
10100
10101 2009-05-18  Eric Blake  <ebb9@byu.net>
10102
10103         maint.mk: allow gnulib_dir in VPATH build
10104         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
10105
10106 2009-05-15  Jim Meyering  <meyering@redhat.com>
10107
10108         maint.mk: Give gnulib_dir a default definition.
10109         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
10110         Thus, most packages no longer need to specify this variable in cfg.mk
10111
10112 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
10113
10114         rename.m4: fix typos that would make non-mingw cross-configure fail
10115         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
10116
10117 2009-05-13  Eric Blake  <ebb9@byu.net>
10118
10119         mmap-anon: avoid out-of-order autoconf expansion
10120         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
10121         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
10122         * modules/memchr-tests (Depends-on): Add extensions.
10123         * modules/memchr2-tests (Depends-on): Add extensions.
10124         * modules/memcmp-tests (Depends-on): Add extensions.
10125         * modules/memmem-tests (Depends-on): Add extensions.
10126         * modules/memrchr-tests (Depends-on): Add extensions.
10127
10128 2009-05-13  Bruno Haible  <bruno@clisp.org>
10129
10130         Make some tests ISO C 99 compliant.
10131         * tests/zerosize-ptr.h: New file.
10132         * tests/test-memchr.c: Include zerosize-ptr.h.
10133         (main): Use a zero-size object pointer instead of NULL.
10134         * tests/test-memchr2.c: Include zerosize-ptr.h.
10135         (main): Use a zero-size object pointer instead of NULL.
10136         * tests/test-memcmp.c: Include zerosize-ptr.h.
10137         (main): Use a zero-size object pointer instead of NULL.
10138         * tests/test-memmem.c: Include zerosize-ptr.h.
10139         (main): Use a zero-size object pointer instead of NULL.
10140         * tests/test-memrchr.c: Include zerosize-ptr.h.
10141         (main): Use a zero-size object pointer instead of NULL.
10142         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
10143         m4/mmap-anon.m4.
10144         (Depends-on): Add getpagesize.
10145         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
10146         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
10147         m4/mmap-anon.m4.
10148         (Depends-on): Add getpagesize.
10149         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
10150         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
10151         m4/mmap-anon.m4.
10152         (Depends-on): Add getpagesize.
10153         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
10154         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
10155         m4/mmap-anon.m4.
10156         (Depends-on): Add getpagesize.
10157         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
10158         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
10159         m4/mmap-anon.m4.
10160         (Depends-on): Add getpagesize.
10161         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
10162
10163 2009-05-12  Bruno Haible  <bruno@clisp.org>
10164
10165         Tests for module 'alignof'.
10166         * modules/alignof-tests: New file.
10167         * tests/test-alignof.c: New file.
10168
10169 2009-05-12  Bruno Haible  <bruno@clisp.org>
10170
10171         Fix alignof macro.
10172         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
10173         vendor compilers that are always correct.
10174
10175 2009-05-12  Bruno Haible  <bruno@clisp.org>
10176
10177         Make the MAP_ANONYMOUS detection work on HP-UX 11.
10178         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
10179         not whether its fully works.
10180
10181 2009-05-12  Bruno Haible  <bruno@clisp.org>
10182
10183         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
10184
10185 2009-05-12  Jim Meyering  <meyering@redhat.com>
10186
10187         * top/maint.mk: Adjust backslash alignment.
10188
10189 2009-05-11  Simon Josefsson  <simon@josefsson.org>
10190
10191         * top/maint.mk: Make $(srcdir)/build-aux configurable.
10192
10193 2009-05-11  Eric Blake  <ebb9@byu.net>
10194
10195         argp: avoid undefined behavior
10196         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
10197         macros.
10198
10199 2009-05-08  Simon Josefsson  <simon@josefsson.org>
10200
10201         * tests/test-vc-list-files-git.sh: Do git config of user.email and
10202         user.name to prevent git commit from complaining.
10203
10204 2009-05-10  Bruno Haible  <bruno@clisp.org>
10205
10206         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
10207         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
10208         it rewrites every file name only once.
10209         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
10210
10211 2009-05-08  Bruno Haible  <bruno@clisp.org>
10212
10213         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
10214         instead of 'max'.
10215
10216 2009-05-08  Simon Josefsson  <simon@josefsson.org>
10217
10218         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
10219         sockaddr_storage test.
10220
10221 2009-05-07  Simon Josefsson  <simon@josefsson.org>
10222
10223         * modules/sys_socket (Makefile.am): Substitute
10224         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
10225         * m4/sys_socket_h.m4: Check for sockaddr_storage.
10226         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
10227         * tests/test-sys_socket.c: Check sockaddr_storage.
10228
10229 2009-05-08  Bruno Haible  <bruno@clisp.org>
10230
10231         New module 'alignof'.
10232         * lib/alignof.h: New file.
10233         * modules/alignof: New file.
10234
10235 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
10236             Bruno Haible  <bruno@clisp.org>
10237
10238         Fix test-file-has-acl on FreeBSD.
10239         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
10240         mask is implicitly added.
10241         * tests/test-file-has-acl.c: Include <signal.h>.
10242         (main): Terminate the test after 5 seconds.
10243         * modules/acl-tests (configure.ac): Check for alarm function.
10244
10245 2009-05-04  Bruno Haible  <bruno@clisp.org>
10246
10247         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
10248         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
10249         * modules/errno (configure.ac): Drop AC_REQUIRE.
10250         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
10251         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
10252
10253 2009-05-04  Simon Josefsson  <simon@josefsson.org>
10254
10255         * modules/glob-tests: New module.
10256         * tests/test-glob.c: Add.
10257
10258 2009-05-04  Simon Josefsson  <simon@josefsson.org>
10259
10260         * modules/fnmatch-tests: New module.
10261         * tests/test-fnmatch.c: Add.
10262
10263 2009-05-04  Eric Blake  <ebb9@byu.net>
10264
10265         maint: make the new no-submodule-changes rule VPATH-safe
10266         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
10267
10268 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
10269             Bruno Haible  <bruno@clisp.org>
10270
10271         acl: Fix infinite loop on FreeBSD.
10272         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
10273         of return value from acl_get_entry.
10274         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
10275         Likewise.
10276
10277 2009-05-03  Bruno Haible  <bruno@clisp.org>
10278
10279         * lib/acl-internal.h (acl_entries): Clarify return value.
10280         * lib/acl_entries.c (acl_entries): Likewise.
10281
10282 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
10283
10284         Bug fix in acl module.
10285         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
10286
10287 2009-05-03  Bruno Haible  <bruno@clisp.org>
10288
10289         Create gperf-generated file in the source dir, not in the build dir.
10290         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
10291         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
10292         * modules/unicase/locale-language (unicase/locale-languages.h):
10293         Likewise.
10294         * modules/unicase/special-casing (unicase/special-casing-table.h):
10295         Likewise.
10296         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
10297         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
10298         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
10299         Reported by Ralf Wildenhues.
10300
10301 2009-05-03  Bruno Haible  <bruno@clisp.org>
10302
10303         * modules/fnmatch (Description, configure.ac): Taken from
10304         fnmatch-posix.
10305         * modules/fnmatch-posix: Turn into a symbolic reference to the
10306         'fnmatch' module, and deprecate.
10307         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
10308
10309 2009-05-03  Bruno Haible  <bruno@clisp.org>
10310
10311         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
10312         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
10313         Reported by Ralf Wildenhues.
10314
10315 2009-05-04  Simon Josefsson  <simon@josefsson.org>
10316
10317         * m4/fnmatch.m4: Fix fnmatch re-define.
10318
10319 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
10320
10321         priv-set: new module and tests; adapt write-any-file
10322         * lib/priv-set.c: New file.
10323         * lib/priv-set.h: New file.
10324         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
10325         * lib/write-any-file.c: Simplify by using priv-set module.
10326         * m4/priv-set.m4: New file.
10327         * modules/priv-set: New file.
10328         * modules/unlinkdir: Add dependency on priv-set module.
10329         * modules/write-any-file: Likewise.
10330
10331         Tests for module 'priv-set'.
10332         * modules/priv-set-tests: New file.
10333         * tests/test-priv-set.c: New file.
10334
10335 2009-05-03  Jim Meyering  <meyering@redhat.com>
10336             Bruno Haible  <bruno@clisp.org>
10337
10338         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
10339         use the converted UTF-8 variant of the name instead.
10340
10341 2009-05-03  Jim Meyering  <meyering@redhat.com>
10342
10343         tests: tighten some getdate tests
10344         * tests/test-getdate.c (main): Tighten tests: require equality,
10345         not just greater than.  Set TZ envvar to UTC0.
10346
10347 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
10348
10349         getdate: correctly interpret "next monday" when run on a Monday
10350         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
10351         that e.g., "next tues" (when run on a tuesday) results in a date
10352         that is one week in the future, and not today's date.
10353         I.e., add a week when the wday is the same as the current one.
10354         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
10355         and earlier by Martin Bernreuther and Jan Minář.
10356         * tests/test-getdate.c (main): Check that "next DAY" is always in
10357         the future and that "last DAY" is always in the past.
10358
10359 2009-05-02  Jim Meyering  <meyering@redhat.com>
10360
10361         build: ensure that a release build fails when a submodule is unclean
10362         * top/maint.mk (no-submodule-changes): New rule.
10363         (alpha beta major): Depend on it.
10364
10365 2009-05-02  Bruno Haible  <bruno@clisp.org>
10366
10367         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
10368         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
10369         shell variable gl_fnmatch_required to detect which variant is
10370         requested.
10371         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
10372         gl_FUNC_FNMATCH_POSIX.
10373         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
10374         exclude fnmatch-posix.
10375
10376 2009-05-02  Bruno Haible  <bruno@clisp.org>
10377
10378         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
10379         * modules/mbsrtowcs (License): Change to LGPLv2+.
10380         * modules/strnlen1 (License): Likewise.
10381         Reported by Simon Josefsson.
10382
10383 2009-05-02  Bruno Haible  <bruno@clisp.org>
10384
10385         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
10386         "cross".
10387         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
10388         gnulib-tool was called with option --source-base=lib.
10389
10390 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10391
10392         Use automake *-local hooks without commands, for extensibility.
10393         * modules/localcharset (Makefile.am): Rename install-exec-local
10394         rule to install-exec-localcharset, and make it a prerequisite of
10395         install-exec-local.  Likewise, rename the uninstall-local rule to
10396         uninstall-localcharset, and make it a prerequisite of the former.
10397
10398 2009-05-01  Bruno Haible  <bruno@clisp.org>
10399
10400         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
10401         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
10402         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
10403         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
10404         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
10405         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
10406         m4/locale-zh.m4, m4/codeset.m4.
10407
10408         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
10409         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
10410         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
10411         m4/locale-zh.m4.
10412
10413         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
10414         REPLACE_WCRTOMB if mbstate_t must be replaced.
10415         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
10416         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
10417
10418 2009-05-01  Bruno Haible  <bruno@clisp.org>
10419
10420         Avoid compiler warnings when redefining macros defined by <libintl.h>.
10421         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
10422         dngettext, dcngettext, textdomain, bindtextdomain,
10423         bind_textdomain_codeset): Undefine before redefining.
10424
10425 2009-04-30  Bruno Haible  <bruno@clisp.org>
10426
10427         Fix bug introduced on 2009-04-25.
10428         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
10429         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
10430         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
10431         is defined.
10432         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
10433         is defined.
10434         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
10435         is defined.
10436         Reported by Elbert_Pol <elbert.pol@gmail.com>.
10437
10438 2009-04-28  Bruno Haible  <bruno@clisp.org>
10439
10440         Comment tweaks.
10441         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
10442         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
10443         * lib/unicase.h (u*_casexfrm): Likewise.
10444         Reported by Paolo Bonzini.
10445
10446 2009-04-28  Bruno Haible  <bruno@clisp.org>
10447
10448         Fix a compilation error.
10449         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
10450         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
10451         Reported by Jim Meyering.
10452
10453 2009-04-27  Bruno Haible  <bruno@clisp.org>
10454
10455         New module 'libunistring'.
10456         * modules/libunistring: New file.
10457         * m4/libunistring.m4: New file.
10458         * MODULES.html.sh (Unicode string functions): Add it.
10459
10460 2009-04-27  Eric Blake  <ebb9@byu.net>
10461
10462         maint.mk: allow package-specific header to provide <config.h>
10463         * top/maint.mk (sc_require_config_h): New variable.
10464         (sc_require_config_h, sc_require_config_h_first): Use it.
10465
10466 2009-04-27  Simon Josefsson  <simon@josefsson.org>
10467
10468         * top/maint.mk (sc_avoid_if_before_free): Except
10469         useless-if-before-free script.
10470
10471 2009-04-27  Eric Blake  <ebb9@byu.net>
10472
10473         maintainer-makefile: depend on all required helper scripts
10474         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
10475         useless-if-before-free.
10476         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
10477         version, rather than assuming gnulib checkout is available.
10478         Reported by Simen Josefsson.
10479
10480 2009-04-26  Bruno Haible  <bruno@clisp.org>
10481
10482         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
10483         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
10484         "../" or "..".
10485
10486 2009-04-26  Bruno Haible  <bruno@clisp.org>
10487
10488         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
10489         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
10490         AC_LIB_HAVE_LINKFLAGS.
10491
10492 2009-04-26  Bruno Haible  <bruno@clisp.org>
10493
10494         Simplify calling convention of u*_conv_from_encoding.
10495         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
10496         u32_conv_from_encoding): Expect a resultbuf argument and return the
10497         result directly as a pointer.
10498         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
10499         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
10500         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
10501         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
10502         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
10503         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
10504         Update.
10505         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
10506         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
10507         * lib/vasnprintf.c (VASNPRINTF): Update.
10508         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
10509         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
10510         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
10511         * NEWS: Mention the change.
10512
10513 2009-04-26  Bruno Haible  <bruno@clisp.org>
10514
10515         Simplify calling convention of u*_conv_to_encoding.
10516         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
10517         u32_conv_to_encoding): Expect a resultbuf argument and return the
10518         result directly as a pointer.
10519         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
10520         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
10521         freeing scaled_offsets if mem_iconveha failed.
10522         * lib/unicase/u-casexfrm.h (FUNC): Update.
10523         * lib/uninorm/u-normxfrm.h (FUNC): Update.
10524         * lib/vasnprintf.c (VASNPRINTF): Update.
10525         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
10526         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
10527         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
10528         * NEWS: Mention the change.
10529
10530 2009-04-26  Bruno Haible  <bruno@clisp.org>
10531
10532         Avoid test failures on AIX and OSF/1.
10533         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
10534         malloc(0).
10535         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
10536         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
10537         Likewise.
10538         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
10539         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
10540         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
10541         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
10542         * doc/posix-functions/malloc.texi: Document the portability problem
10543         related to malloc(0).
10544
10545 2009-04-26  Bruno Haible  <bruno@clisp.org>
10546
10547         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
10548         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
10549         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
10550
10551 2009-04-25  Bruno Haible  <bruno@clisp.org>
10552
10553         Avoid link error when creating a namespace clean library.
10554         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
10555         as macro with arguments if already defined as an alias.
10556         * lib/signbitf.c (gl_signbitf): Don't undefine.
10557         * lib/signbitd.c (gl_signbitd): Don't undefine.
10558         * lib/signbitl.c (gl_signbitl): Don't undefine.
10559
10560 2009-04-25  Jim Meyering  <meyering@redhat.com>
10561
10562         vc-list-files: fix another quoting bug
10563         * build-aux/vc-list-files: Avoid sed backslash expansion
10564         of pathological directory names.
10565
10566 2009-04-25  Eric Blake  <ebb9@byu.net>
10567
10568         vc-list-files: fix shell quoting error
10569         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
10570         timestamp.
10571
10572 2009-04-25  Jim Meyering  <meyering@redhat.com>
10573
10574         vc-list-files: restore lost functionality with subdir argument
10575         * build-aux/vc-list-files: When given a non-"." sub-directory
10576         argument, substitute the $dir/ prefix back onto each resulting name.
10577         Otherwise, coreutils' root_tests check would fail.
10578
10579 2009-04-24  Eric Blake  <ebb9@byu.net>
10580
10581         vc-list-files: ignore git symlinks
10582         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
10583         than ls-files, to ignore git symlinks.
10584
10585         maint.mk: import improvements from m4
10586         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
10587         (move_if_change): Delete unused macro.
10588         (news-date-check, vc-diff-check): Support VPATH builds.
10589         (announcement): Likewise.  Split --bootstrap-tools list...
10590         (boostrap-tools): ...into separate list, which can be overridden
10591         in cfg.mk.
10592         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
10593         requiring dependency on useless-if-before-free module.
10594         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
10595         Support VPATH builds.
10596
10597 2009-04-24  Jim Meyering  <meyering@redhat.com>
10598
10599         maint.mk: remove coreutils-specific rules and variables
10600         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
10601         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
10602         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
10603
10604         maint.mk: remove obsolete rule
10605         * top/maint.mk (rel-check): Remove rule.
10606         (WGET, WGETFLAGS): Remove now-unused variables.
10607
10608 2009-04-24  Simon Josefsson  <simon@josefsson.org>
10609
10610         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
10611         consistency.
10612
10613         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
10614         '$(PATH_SEPARATOR)' instead of ':'.
10615
10616 2009-04-24  Simon Josefsson  <simon@josefsson.org>
10617
10618         * lib/getopt1.c (main): Use 'const' for static array.
10619
10620 2009-04-24  Simon Josefsson  <simon@josefsson.org>
10621
10622         * top/maint.mk: Sync with coreutils.
10623         * NEWS: Explain incompatibilities.
10624
10625 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
10626             Bruno Haible  <bruno@clisp.org>
10627
10628         Fix cross-compilation results.
10629         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
10630         statement, as third argument of AC_TRY_RUN.
10631         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
10632         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
10633         Likewise.
10634         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
10635         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
10636         Likewise.
10637         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
10638         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
10639         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
10640
10641 2009-04-20  Bruno Haible  <bruno@clisp.org>
10642
10643         Avoid test failure on mingw.
10644         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
10645
10646 2009-04-20  Bruno Haible  <bruno@clisp.org>
10647
10648         Avoid compilation error on mingw.
10649         * modules/localename-tests (Depends-on): Add locale.
10650
10651 2009-04-19  Bruno Haible  <bruno@clisp.org>
10652
10653         Support for building a shared library on Windows platforms.
10654         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
10655         (main): Test the presence of UNINORM_NFC here.
10656         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
10657         (main): Test the presence of UNINORM_NFD here.
10658         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
10659         (main): Test the presence of UNINORM_NFKC here.
10660         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
10661         (main): Test the presence of UNINORM_NFKD here.
10662
10663 2009-04-19  Bruno Haible  <bruno@clisp.org>
10664
10665         Avoid a compiler warning.
10666         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
10667         Change type of variable 'sequence'.
10668
10669 2009-04-19  Bruno Haible  <bruno@clisp.org>
10670
10671         * modules/configmake (Makefile.am): When the contents of configmake.h
10672         does not change, arrange to preserve its modification time.
10673
10674 2009-04-17  Simon Josefsson  <simon@josefsson.org>
10675
10676         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
10677         gettext domain.
10678
10679 2009-04-16  Jim Meyering  <meyering@redhat.com>
10680
10681         useless-if-before-free: improve conversion code
10682         * build-aux/useless-if-before-free: Adjust code-in-comment to match
10683         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
10684
10685 2009-04-14  Bruno Haible  <bruno@clisp.org>
10686
10687         * modules/fcntl (Depends-on): Add extensions.
10688         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
10689
10690 2009-04-12  Ben Pfaff  <blp@gnu.org>
10691
10692         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
10693         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
10694
10695 2009-03-20  Ben Pfaff  <blp@gnu.org>
10696
10697         Make rename replace existing destinations on Windows.
10698         * m4/rename.m4: Add test for Mingw.
10699         * lib/rename.c: Add rename replacement that uses MoveFileEx with
10700         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
10701         * doc/posix-functions/rename.texi: Document.
10702
10703 2009-04-10  Bruno Haible  <bruno@clisp.org>
10704
10705         New include file "iconveh.h".
10706         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
10707         * lib/striconveh.h: Include it.
10708         (enum iconv_ilseq_handler): Remove definition.
10709         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
10710         striconveh.h.
10711         * lib/striconveha.c: Include striconveh.h.
10712         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
10713         * modules/striconveh (Files): Add lib/iconveh.h.
10714         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
10715         lib/striconveh.h.
10716
10717 2009-04-10  Bruno Haible  <bruno@clisp.org>
10718
10719         * lib/uniconv.h: Update comment.
10720
10721 2009-04-10  Bruno Haible  <bruno@clisp.org>
10722
10723         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
10724         always.
10725         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
10726         * lib/unistr/u16-mbtouc-aux.c: Likewise.
10727         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
10728         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
10729         "unistring-notinline.h", so that the function gets defined always.
10730         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
10731         * lib/unistr/u8-uctomb.c: Likewise.
10732         * lib/unistr/u16-mbtouc.c: Likewise.
10733         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
10734         * lib/unistr/u16-uctomb.c: Likewise.
10735         * lib/unistr/u32-mbtouc.c: Likewise.
10736         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
10737         * lib/unistr/u32-uctomb.c: Likewise.
10738
10739 2009-04-10  Bruno Haible  <bruno@clisp.org>
10740
10741         Mark 'utime' obsolete.
10742         * modules/utime (Status, Notice): New sections.
10743         Suggested by Jim Meyering.
10744
10745         Fix cross-compile guess for utime test.
10746         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
10747         autoconf.
10748         * doc/posix-functions/utime.texi: Give more precisions.
10749         Reported by Jan <ipif@ymail.com>.
10750
10751 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
10752
10753         filevercmp: correct today's change
10754         * lib/filevercmp.c: Also handle coreutils' test inputs.
10755         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
10756
10757         Fix regression in 'filevercmp' module. Thanks Sven Joachim
10758         for reporting it.
10759         * lib/filevercmp.c: Special handle for "", "." and "..".
10760         * tests/test-filevercmp.c: Enlarge the set suite.
10761
10762 2009-04-07  Jim Meyering  <meyering@redhat.com>
10763
10764         useless-if-before-free: show how to remove braced useless free, too
10765         * build-aux/useless-if-before-free: still only in a comment, though.
10766
10767 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
10768
10769         maint.mk: import changes to syntax-check macros from coreutils
10770         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
10771         Use them in the relevant macros.
10772
10773 2009-04-06  Bruno Haible  <bruno@clisp.org>
10774
10775         Fix unportable use of bit-fields.
10776         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
10777         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
10778         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
10779
10780 2009-04-06  Bruno Haible  <bruno@clisp.org>
10781
10782         Avoid test failures on AIX and OSF/1.
10783         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
10784         that malloc(0) = NULL.
10785         * tests/unicase/test-u8-tolower.c (check): Likewise.
10786         * tests/unicase/test-u8-totitle.c (check): Likewise.
10787         * tests/unicase/test-u8-toupper.c (check): Likewise.
10788         * tests/unicase/test-u16-casefold.c (check): Likewise.
10789         * tests/unicase/test-u16-tolower.c (check): Likewise.
10790         * tests/unicase/test-u16-totitle.c (check): Likewise.
10791         * tests/unicase/test-u16-toupper.c (check): Likewise.
10792         * tests/unicase/test-u32-casefold.c (check): Likewise.
10793         * tests/unicase/test-u32-tolower.c (check): Likewise.
10794         * tests/unicase/test-u32-totitle.c (check): Likewise.
10795         * tests/unicase/test-u32-toupper.c (check): Likewise.
10796         * tests/uninorm/test-u8-nfc.c (check): Likewise.
10797         * tests/uninorm/test-u8-nfd.c (check): Likewise.
10798         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
10799         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
10800         * tests/uninorm/test-u16-nfc.c (check): Likewise.
10801         * tests/uninorm/test-u16-nfd.c (check): Likewise.
10802         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
10803         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
10804         * tests/uninorm/test-u32-nfc.c (check): Likewise.
10805         * tests/uninorm/test-u32-nfd.c (check): Likewise.
10806         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
10807         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
10808
10809 2009-04-05  Bruno Haible  <bruno@clisp.org>
10810
10811         Work around an autoconf limitation.
10812         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
10813         comment line if it would be longer than 3 KB.
10814
10815 2009-04-05  Bruno Haible  <bruno@clisp.org>
10816
10817         Avoid test failure with libiconv-1.13.
10818         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
10819         of the expected test results.
10820
10821 2009-04-05  Bruno Haible  <bruno@clisp.org>
10822
10823         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
10824         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
10825         that it should be installed.
10826
10827 2009-04-05  Bruno Haible  <bruno@clisp.org>
10828
10829         * gnulib-tool: New option --copy-file.
10830         (func_usage): Document it.
10831         (func_dest_tmpfilename): Moved out of func_import.
10832         (func_add_file, func_update_file): New functions, extracted from
10833         func_import.
10834         (func_import): Update.
10835
10836 2009-04-05  Karl Berry  <karl@gnu.org>
10837
10838         * README: prominently mention gnulib-tool.
10839         Rearrange sections so getting the code is near the top.
10840
10841 2009-04-05  Bruno Haible  <bruno@clisp.org>
10842
10843         * lib/unicase.h: Mention u*_cmp2.
10844         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
10845         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
10846         * lib/unicase/ulc-casecmp.c: Likewise.
10847         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
10848         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
10849         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
10850         unistr/u8-cmp.
10851         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
10852         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
10853         unistr/u16-cmp.
10854         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
10855         unistr/u32-cmp.
10856
10857         * lib/uninorm.h: Mention u*_cmp2.
10858         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
10859         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
10860         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
10861         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
10862         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
10863         unistr/u8-cmp.
10864         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
10865         unistr/u16-cmp.
10866         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
10867         unistr/u32-cmp.
10868
10869         New module 'unistr/u32-cmp2'.
10870         * lib/unistr/u32-cmp2.c: New file.
10871         * modules/unistr/u32-cmp2: New file.
10872
10873         New module 'unistr/u16-cmp2'.
10874         * lib/unistr/u16-cmp2.c: New file.
10875         * modules/unistr/u16-cmp2: New file.
10876
10877         New module 'unistr/u8-cmp2'.
10878         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
10879         * lib/unistr/u8-cmp2.c: New file.
10880         * lib/unistr/u-cmp2.h: New file.
10881         * modules/unistr/u8-cmp2: New file.
10882
10883 2009-04-05  Bruno Haible  <bruno@clisp.org>
10884
10885         * lib/unictype.h (uc_property_is_valid): New macro.
10886         * tests/unictype/test-pr_byname.c (main): Use it.
10887
10888         * lib/unistr.h: Doc fixes.
10889         * lib/uniconv.h: Doc fixes.
10890         * lib/unictype.h: Doc fixes.
10891
10892 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
10893
10894         Port coreutils 7.2 to Solaris 8.
10895
10896         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
10897         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
10898         for Solaris 8.  This is a bit of a hack, as it means it's the
10899         caller's responsibility to add -lnsl if needed, but most likely it
10900         won't be needed since only getaddrinfo uses this and getaddrinfo
10901         isn't needed on Solaris 8.
10902
10903         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
10904         problem to Solaris 8 encountered with coreutils 7.2, which
10905         resulted in a message "fnmatch.c:292: warning: passing argument 4
10906         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
10907         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
10908
10909 2009-04-03  Simon Josefsson  <simon@josefsson.org>
10910
10911         * m4/ld-version-script.m4: Add FIXME comment.
10912
10913 2009-04-02  Simon Josefsson  <simon@josefsson.org>
10914
10915         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
10916         SOVERSION variable.
10917
10918 2009-04-02  Bruno Haible  <bruno@clisp.org>
10919
10920         * Makefile (info, html, dvi, pdf): Combine the rules.
10921         Suggested by Jim Meyering.
10922
10923 2009-04-01  Bruno Haible  <bruno@clisp.org>
10924
10925         * Makefile (info, html, dvi, pdf): New targets.
10926         Reported by Reuben Thomas <rrt@sc3d.org>.
10927
10928 2009-04-01  Bruno Haible  <bruno@clisp.org>
10929
10930         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
10931         can be put into PATH.
10932         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
10933
10934 2009-04-01  Bruno Haible  <bruno@clisp.org>
10935
10936         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
10937
10938 2009-04-01  Bruno Haible  <bruno@clisp.org>
10939
10940         Rename module 'visibility'.
10941         * modules/lib-symbol-visibility: Renamed from modules/visibility.
10942         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
10943         * doc/gnulib.texi: Update.
10944         * MODULES.html.sh (Misc): Update.
10945         * NEWS: Mention the change.
10946
10947 2009-04-01  Simon Josefsson  <simon@josefsson.org>
10948
10949         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
10950         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
10951         Eric Blake <ebb9@byu.net> for review.
10952         * MODULES.html.sh: Add lib-msvc-compat.
10953         * doc/gnulib.texi: Link to new section.
10954         * m4/ld-output-def.m4: New file.
10955         * doc/ld-output-def.texi: New file.
10956
10957 2009-04-01  Simon Josefsson  <simon@josefsson.org>
10958
10959         Rename ld-version-script to lib-symbol-versions.  Suggested by
10960         Bruno Haible <bruno@clisp.org>.
10961         * modules/ld-version-script: Renamed to lib-symbol-versions.
10962         * doc/ld-version-script.texi: Fix module name.
10963         * MODULES.html.sh: Add lib-symbol-versions.
10964
10965 2009-03-31  Simon Josefsson  <simon@josefsson.org>
10966
10967         * modules/u64-tests: New file.
10968         * tests/test-u64.c: New file.
10969
10970 2009-03-04  Simon Josefsson  <simon@josefsson.org>
10971
10972         * MODULES.html.sh: Mention u64.
10973         * modules/u64: New module.
10974         * modules/crypto/sha512: Depend on u64 module instead of providing
10975         u64.h.
10976
10977 2009-03-27  Eric Blake  <ebb9@byu.net>
10978
10979         test-strerror: make debugging EAI_SYSTEM easier
10980         * modules/getaddrinfo-tests (Depends-on): Add strerror.
10981         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
10982         failure was EAI_SYSTEM.
10983
10984 2009-03-25  Bruno Haible  <bruno@clisp.org>
10985
10986         Fix a problem with --enable-relocatable on Solaris 7.
10987         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
10988         since 2008-02-24.
10989
10990 2009-03-25  Eric Blake  <ebb9@byu.net>
10991
10992         test-sockets: avoid gcc warning
10993         * tests/test-sockets.c (main): Silence compiler warning.
10994
10995 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
10996
10997         New modules nproc, pthread, contributed by Glen Lenker.
10998
10999         * MODULES.html.sh: Add pthread, nproc.
11000         * lib/nproc.c: New file.
11001         * lib/nproc.h: New file.
11002         * lib/pthread.in.h: New file.
11003         * m4/pthread.m4: New file.
11004         * modules/nproc: New file.
11005         * modules/pthread: New file.
11006
11007 2009-03-24  Simon Josefsson  <simon@josefsson.org>
11008
11009         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
11010         New variable.
11011
11012 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
11013
11014         filevercmp: handle simple~ and numbered.~3~ backup suffixes
11015         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
11016         * tests/test-filevercmp.c: Add tests for backup suffixes.
11017
11018 2009-03-24  Simon Josefsson  <simon@josefsson.org>
11019
11020         * modules/stdlib (Depends-on): Add stdint, needed when defining
11021         struct random_data on, for example, HP-UX 10.20.  Reported by
11022         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
11023
11024 2009-03-24  Simon Josefsson  <simon@josefsson.org>
11025
11026         * lib/readline.c (readline): Call fflush on stdout after printing
11027         prompt.
11028
11029 2009-03-20  Bruno Haible  <bruno@clisp.org>
11030
11031         Remove dependency from 'close' module to -lws2_32 on native Windows.
11032         * lib/close-hook.h: New file.
11033         * lib/close-hook.c: New file.
11034         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
11035         w32sock.h.
11036         (_gl_close_fd_maybe_socket): Remove function.
11037         (rpl_close): Invoke execute_all_close_hooks instead of
11038         _gl_close_fd_maybe_socket.
11039         * lib/sockets.c: Include close-hook.h, w32sock.h.
11040         (close_fd_maybe_socket): New function, essentially from lib/close.c.
11041         (close_sockets_hook): New variable.
11042         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
11043         (gl_sockets_cleanup): Unregister it.
11044         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
11045         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
11046         * modules/close-hook: New file.
11047         * modules/close (Files): Remove lib/w32sock.h.
11048         (Depends-on): Add close-hook.
11049         (Link): Remove section.
11050         * modules/sockets (Files): Add lib/w32sock.h.
11051         (Depends-on): Add close-hook.
11052         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
11053         invocation.
11054         * NEWS: Mention that LIB_CLOSE is gone.
11055
11056 2009-03-23  Eric Blake  <ebb9@byu.net>
11057
11058         signal-tests: test previous patch
11059         * tests/test-signal.c: New file.
11060         * modules/signal-tests: Likewise.
11061
11062         signal.h: always support 'volatile sig_atomic_t'
11063         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
11064         (gl_SIGNAL_H_DEFAULTS): Add a default.
11065         * modules/signal (Makefile.am): Substitute if needed.
11066         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
11067         users can blindly add volatile.
11068         * doc/posix-headers/signal.texi (signal.h): Document it.
11069         Reported by Matthew Woehlke.
11070
11071 2009-03-23  Jim Meyering  <meyering@redhat.com>
11072
11073         pathmax: PATH_MAX: use pathconf only when available
11074         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
11075         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
11076         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
11077         This avoids a link failure in a PSP cross-compilation environment
11078         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
11079
11080         * lib/vasnprintf.c (divide): Fix typo in comment.
11081
11082 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11083
11084         * gnulib-tool (func_filter_filelist): Fix comment.
11085
11086 2009-03-20  Bruno Haible  <bruno@clisp.org>
11087
11088         Make sockets.h self-contained.
11089         * lib/sockets.c: Include sockets.h first.
11090         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
11091
11092 2009-03-19  Eric Blake  <ebb9@byu.net>
11093
11094         doc: mention more functions added in cygwin 1.7.0
11095         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
11096         addition.
11097         * doc/posix-functions/log2f.texi: Likewise.
11098
11099 2009-03-19  Jim Meyering  <meyering@redhat.com>
11100
11101         fsusage: avoid syntax error due to statement-before-declaration
11102         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
11103         after all declarations.  Reported by Matthew Woehlke in
11104         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
11105
11106 2009-03-18  Eric Blake  <ebb9@byu.net>
11107
11108         build-aux/compile: sync from automake
11109         * build-aux/compile: New file, from automake.
11110         * config/srclist.txt: Mention build-aux/compile.
11111
11112 2009-03-17  Bruno Haible  <bruno@clisp.org>
11113
11114         * lib/git-merge-changelog.c: Fix typo in comment.
11115         Reported by Reuben Thomas <rrt@sc3d.org>.
11116
11117 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
11118
11119         * m4/regex.m4: update and improve help for
11120         --without-included-regex.
11121
11122 2009-03-17  Simon Josefsson  <simon@josefsson.org>
11123
11124         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
11125         failure on missing include files.
11126
11127 2009-03-17  Eric Blake  <ebb9@byu.net>
11128
11129         doc: mention more functions added in cygwin 1.7.0
11130         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
11131         addition.
11132         * doc/posix-functions/fwscanf.texi: Likewise.
11133         * doc/posix-functions/swprintf.texi: Likewise.
11134         * doc/posix-functions/swscanf.texi: Likewise.
11135         * doc/posix-functions/vfwprintf.texi: Likewise.
11136         * doc/posix-functions/vfwscanf.texi: Likewise.
11137         * doc/posix-functions/vswprintf.texi: Likewise.
11138         * doc/posix-functions/vswscanf.texi: Likewise.
11139         * doc/posix-functions/vwprintf.texi: Likewise.
11140         * doc/posix-functions/vwscanf.texi: Likewise.
11141         * doc/posix-functions/wcscasecmp.texi: Likewise.
11142         * doc/posix-functions/wcsdup.texi: Likewise.
11143         * doc/posix-functions/wcsftime.texi: Likewise.
11144         * doc/posix-functions/wcsncasecmp.texi: Likewise.
11145         * doc/posix-functions/wprintf.texi: Likewise.
11146         * doc/posix-functions/wscanf.texi: Likewise.
11147         * doc/glibc-functions/gethostbyname2.texi: Likewise.
11148
11149 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11150
11151         maint.mk: really add $(AM_MAKEFLAGS)
11152         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
11153         was inadvertently omitted in the last commit.
11154         Spotted by Bruno Haible.
11155
11156         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
11157         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
11158         $(AM_MAKEFLAGS)' rather than plain `make'.
11159
11160         gnulib-tool: execute $MAKE not make
11161         * gnulib-tool: Default $MAKE to 'make'.
11162         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
11163         than make.  Initialize $MAKE in the do-autobuild script.
11164
11165         gnulib-tool: use $MAKE not make in generated files
11166         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
11167         make, in generated files.  Initialize $MAKE in the do-autobuild
11168         script.
11169
11170         * top/GNUmakefile (_have-git-version-gen): Fix typo.
11171
11172         GNUmakefile: disable parallelism only for multiple, recursive targets
11173         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
11174         additions in the Makefile.
11175         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
11176         by Automake.
11177         (.NOTPARALLEL): Only disable parallel builds if multiple targets
11178         are listed on the command line and at least one of them is
11179         listed in $(ALL_RECURSIVE_TARGETS).
11180
11181 2009-03-14  Bruno Haible  <bruno@clisp.org>
11182
11183         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
11184         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
11185         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
11186         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
11187         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
11188         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
11189         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
11190         unistr/u8-uctomb.
11191         * modules/unistr/u8-strchr (Depends-on): Likewise.
11192         * modules/unistr/u8-strrchr (Depends-on): Likewise.
11193         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
11194         unistr/u16-uctomb.
11195         * modules/unistr/u16-strchr (Depends-on): Likewise.
11196         * modules/unistr/u16-strrchr (Depends-on): Likewise.
11197
11198 2009-03-12  Bruno Haible  <bruno@clisp.org>
11199
11200         Work around select() bug on Interix 3.5.
11201         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
11202         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
11203         * m4/select.m4: New file.
11204         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
11205         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
11206         * modules/select (Files): Add m4/select.m4.
11207         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
11208         * modules/nanosleep (Depends-on): Add select.
11209         * modules/poll (Depends-on): Likewise.
11210         * doc/posix-functions/select.texi: Mention the Interix bug.
11211         Reported by Markus Duft <mduft@gentoo.org>.
11212
11213         * lib/select.c: Renamed from lib/winsock-select.c.
11214         * modules/select (Files): Add lib/select.c, remove
11215         lib/winsock-select.c.
11216         (configure.ac): Update.
11217
11218 2009-03-12  Jim Meyering  <meyering@redhat.com>
11219
11220         avoid gcc warnings about unused macro definitions
11221         * lib/readtokens.c (STREQ): Remove unused definition.
11222         * lib/xmalloc.c (SIZE_MAX): Likewise.
11223         * lib/openat-die.c (N_): Likewise.
11224         * lib/mountlist.c (SIZE_MAX): Remove definition.
11225         Instead, include <stdint.h>.
11226         * lib/readutmp.c: Likewise.
11227         * modules/readutmp (Depends-on): Add stdint.
11228         * modules/mountlist (Depends-on): Add stdint.
11229         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
11230
11231 2009-03-10  Bruno Haible  <bruno@clisp.org>
11232
11233         Tests for module 'mbmemcasecoll'.
11234         * modules/mbmemcasecoll-tests: New file.
11235         * tests/test-mbmemcasecoll1.sh: New file.
11236         * tests/test-mbmemcasecoll2.sh: New file.
11237         * tests/test-mbmemcasecoll3.sh: New file.
11238         * tests/test-mbmemcasecoll.c: New file.
11239
11240         New module 'mbmemcasecoll'.
11241         * lib/mbmemcasecoll.h: New file.
11242         * lib/mbmemcasecoll.c: New file.
11243         * modules/mbmemcasecoll: New file.
11244
11245         * tests/test-mbmemcasecmp.h: New file, extracted from
11246         tests/test-mbmemcasecmp.c.
11247         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
11248         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
11249         (main): Update.
11250         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
11251
11252 2009-03-09  Bruno Haible  <bruno@clisp.org>
11253
11254         Tests for module 'mbmemcasecmp'.
11255         * modules/mbmemcasecmp-tests: New file.
11256         * tests/test-mbmemcasecmp1.sh: New file.
11257         * tests/test-mbmemcasecmp2.sh: New file.
11258         * tests/test-mbmemcasecmp3.sh: New file.
11259         * tests/test-mbmemcasecmp.c: New file.
11260
11261         New module 'mbmemcasecmp'.
11262         * lib/mbmemcasecmp.h: New file.
11263         * lib/mbmemcasecmp.c: New file.
11264         * modules/mbmemcasecmp: New file.
11265
11266 2009-03-09  Bruno Haible  <bruno@clisp.org>
11267
11268         Tests for module 'unicase/ulc-casecoll'.
11269         * modules/unicase/ulc-casecoll-tests: New file.
11270         * tests/unicase/test-ulc-casecoll1.sh: New file.
11271         * tests/unicase/test-ulc-casecoll2.sh: New file.
11272         * tests/unicase/test-ulc-casecoll.c: New file.
11273
11274         New module 'unicase/ulc-casecoll'.
11275         * lib/unicase.h (ulc_casecoll): New declaration.
11276         * lib/unicase/ulc-casecoll.c: New file.
11277         * modules/unicase/ulc-casecoll: New file.
11278
11279         New module 'unicase/ulc-casexfrm'.
11280         * lib/unicase.h (ulc_casexfrm): New declaration.
11281         * lib/unicase/ulc-casexfrm.c: New file.
11282         * modules/unicase/ulc-casexfrm: New file.
11283
11284 2009-03-09  Bruno Haible  <bruno@clisp.org>
11285
11286         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
11287         invocations.
11288
11289         * m4/mbscasecmp.m4: Remove file.
11290         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
11291         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
11292
11293         * m4/mbscasestr.m4: Remove file.
11294         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
11295         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
11296
11297         * m4/mbschr.m4: Remove file.
11298         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
11299         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
11300
11301         * m4/mbscspn.m4: Remove file.
11302         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
11303         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
11304
11305         * m4/mbslen.m4: Remove file.
11306         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
11307         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
11308
11309         * m4/mbsncasecmp.m4: Remove file.
11310         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
11311         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
11312
11313         * m4/mbsnlen.m4: Remove file.
11314         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
11315         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
11316
11317         * m4/mbspbrk.m4: Remove file.
11318         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
11319         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
11320
11321         * m4/mbspcasecmp.m4: Remove file.
11322         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
11323         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
11324
11325         * m4/mbsrchr.m4: Remove file.
11326         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
11327         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
11328
11329         * m4/mbssep.m4: Remove file.
11330         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
11331         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
11332
11333         * m4/mbsspn.m4: Remove file.
11334         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
11335         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
11336
11337         * m4/mbsstr.m4: Remove file.
11338         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
11339         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
11340
11341         * m4/mbstok_r.m4: Remove file.
11342         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
11343         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
11344
11345         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
11346
11347         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
11348         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
11349
11350         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
11351
11352 2009-03-08  Bruno Haible  <bruno@clisp.org>
11353
11354         Tests for module 'unicase/ulc-casecmp'.
11355         * modules/unicase/ulc-casecmp-tests: New file.
11356         * tests/unicase/test-ulc-casecmp1.sh: New file.
11357         * tests/unicase/test-ulc-casecmp2.sh: New file.
11358         * tests/unicase/test-ulc-casecmp.c: New file.
11359
11360         New module 'unicase/ulc-casecmp'.
11361         * lib/unicase.h (ulc_casecmp): New declaration.
11362         * lib/unicase/ulc-casecmp.c: New file.
11363         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
11364         'const SRC_UNIT *'.
11365         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
11366         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
11367         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
11368         * modules/unicase/ulc-casecmp: New file.
11369
11370         Tests for module 'unicase/u32-is-cased'.
11371         * modules/unicase/u32-is-cased-tests: New file.
11372         * tests/unicase/test-u32-is-cased.c: New file.
11373
11374         Tests for module 'unicase/u16-is-cased'.
11375         * modules/unicase/u16-is-cased-tests: New file.
11376         * tests/unicase/test-u16-is-cased.c: New file.
11377
11378         Tests for module 'unicase/u8-is-cased'.
11379         * modules/unicase/u8-is-cased-tests: New file.
11380         * tests/unicase/test-u8-is-cased.c: New file.
11381         * tests/unicase/test-is-cased.h: New file.
11382
11383         New module 'unicase/u32-is-cased'.
11384         * lib/unicase/u32-is-cased.c: New file.
11385         * modules/unicase/u32-is-cased: New file.
11386
11387         New module 'unicase/u16-is-cased'.
11388         * lib/unicase/u16-is-cased.c: New file.
11389         * modules/unicase/u16-is-cased: New file.
11390
11391         New module 'unicase/u8-is-cased'.
11392         * lib/unicase/u8-is-cased.c: New file.
11393         * lib/unicase/u-is-cased.h: New file.
11394         * modules/unicase/u8-is-cased: New file.
11395
11396         Tests for module 'unicase/u32-is-casefolded'.
11397         * modules/unicase/u32-is-casefolded-tests: New file.
11398         * tests/unicase/test-u32-is-casefolded.c: New file.
11399
11400         Tests for module 'unicase/u16-is-casefolded'.
11401         * modules/unicase/u16-is-casefolded-tests: New file.
11402         * tests/unicase/test-u16-is-casefolded.c: New file.
11403
11404         Tests for module 'unicase/u8-is-casefolded'.
11405         * modules/unicase/u8-is-casefolded-tests: New file.
11406         * tests/unicase/test-u8-is-casefolded.c: New file.
11407         * tests/unicase/test-is-casefolded.h: New file.
11408
11409         New module 'unicase/u32-is-casefolded'.
11410         * lib/unicase/u32-is-casefolded.c: New file.
11411         * modules/unicase/u32-is-casefolded: New file.
11412
11413         New module 'unicase/u16-is-casefolded'.
11414         * lib/unicase/u16-is-casefolded.c: New file.
11415         * modules/unicase/u16-is-casefolded: New file.
11416
11417         New module 'unicase/u8-is-casefolded'.
11418         * lib/unicase/u8-is-casefolded.c: New file.
11419         * modules/unicase/u8-is-casefolded: New file.
11420
11421         Tests for module 'unicase/u32-is-titlecase'.
11422         * modules/unicase/u32-is-titlecase-tests: New file.
11423         * tests/unicase/test-u32-is-titlecase.c: New file.
11424
11425         Tests for module 'unicase/u16-is-titlecase'.
11426         * modules/unicase/u16-is-titlecase-tests: New file.
11427         * tests/unicase/test-u16-is-titlecase.c: New file.
11428
11429         Tests for module 'unicase/u8-is-titlecase'.
11430         * modules/unicase/u8-is-titlecase-tests: New file.
11431         * tests/unicase/test-u8-is-titlecase.c: New file.
11432         * tests/unicase/test-is-titlecase.h: New file.
11433
11434         New module 'unicase/u32-is-titlecase'.
11435         * lib/unicase/u32-is-titlecase.c: New file.
11436         * modules/unicase/u32-is-titlecase: New file.
11437
11438         New module 'unicase/u16-is-titlecase'.
11439         * lib/unicase/u16-is-titlecase.c: New file.
11440         * modules/unicase/u16-is-titlecase: New file.
11441
11442         New module 'unicase/u8-is-titlecase'.
11443         * lib/unicase/u8-is-titlecase.c: New file.
11444         * modules/unicase/u8-is-titlecase: New file.
11445
11446         Tests for module 'unicase/u32-is-lowercase'.
11447         * modules/unicase/u32-is-lowercase-tests: New file.
11448         * tests/unicase/test-u32-is-lowercase.c: New file.
11449
11450         Tests for module 'unicase/u16-is-lowercase'.
11451         * modules/unicase/u16-is-lowercase-tests: New file.
11452         * tests/unicase/test-u16-is-lowercase.c: New file.
11453
11454         Tests for module 'unicase/u8-is-lowercase'.
11455         * modules/unicase/u8-is-lowercase-tests: New file.
11456         * tests/unicase/test-u8-is-lowercase.c: New file.
11457         * tests/unicase/test-is-lowercase.h: New file.
11458
11459         New module 'unicase/u32-is-lowercase'.
11460         * lib/unicase/u32-is-lowercase.c: New file.
11461         * modules/unicase/u32-is-lowercase: New file.
11462
11463         New module 'unicase/u16-is-lowercase'.
11464         * lib/unicase/u16-is-lowercase.c: New file.
11465         * modules/unicase/u16-is-lowercase: New file.
11466
11467         New module 'unicase/u8-is-lowercase'.
11468         * lib/unicase/u8-is-lowercase.c: New file.
11469         * modules/unicase/u8-is-lowercase: New file.
11470
11471         Tests for module 'unicase/u32-is-uppercase'.
11472         * modules/unicase/u32-is-uppercase-tests: New file.
11473         * tests/unicase/test-u32-is-uppercase.c: New file.
11474
11475         Tests for module 'unicase/u16-is-uppercase'.
11476         * modules/unicase/u16-is-uppercase-tests: New file.
11477         * tests/unicase/test-u16-is-uppercase.c: New file.
11478
11479         Tests for module 'unicase/u8-is-uppercase'.
11480         * modules/unicase/u8-is-uppercase-tests: New file.
11481         * tests/unicase/test-u8-is-uppercase.c: New file.
11482         * tests/unicase/test-is-uppercase.h: New file.
11483
11484         New module 'unicase/u32-is-uppercase'.
11485         * lib/unicase/u32-is-uppercase.c: New file.
11486         * modules/unicase/u32-is-uppercase: New file.
11487
11488         New module 'unicase/u16-is-uppercase'.
11489         * lib/unicase/u16-is-uppercase.c: New file.
11490         * modules/unicase/u16-is-uppercase: New file.
11491
11492         New module 'unicase/u8-is-uppercase'.
11493         * lib/unicase/u8-is-uppercase.c: New file.
11494         * modules/unicase/u8-is-uppercase: New file.
11495
11496         New module 'unicase/u32-is-invariant'.
11497         * lib/unicase/u32-is-invariant.c: New file.
11498         * modules/unicase/u32-is-invariant: New file.
11499
11500         New module 'unicase/u16-is-invariant'.
11501         * lib/unicase/u16-is-invariant.c: New file.
11502         * modules/unicase/u16-is-invariant: New file.
11503
11504         New module 'unicase/u8-is-invariant'.
11505         * lib/unicase/u8-is-invariant.c: New file.
11506         * lib/unicase/invariant.h: New file.
11507         * lib/unicase/u-is-invariant.h: New file.
11508         * modules/unicase/u8-is-invariant: New file.
11509
11510         Tests for module 'unicase/u32-casecoll'.
11511         * modules/unicase/u32-casecoll-tests: New file.
11512         * tests/unicase/test-u32-casecoll.c: New file.
11513
11514         Tests for module 'unicase/u16-casecoll'.
11515         * modules/unicase/u16-casecoll-tests: New file.
11516         * tests/unicase/test-u16-casecoll.c: New file.
11517
11518         Tests for module 'unicase/u8-casecoll'.
11519         * modules/unicase/u8-casecoll-tests: New file.
11520         * tests/unicase/test-u8-casecoll.c: New file.
11521
11522         New module 'unicase/u32-casecoll'.
11523         * lib/unicase/u32-casecoll.c: New file.
11524         * modules/unicase/u32-casecoll: New file.
11525
11526         New module 'unicase/u16-casecoll'.
11527         * lib/unicase/u16-casecoll.c: New file.
11528         * modules/unicase/u16-casecoll: New file.
11529
11530         New module 'unicase/u8-casecoll'.
11531         * lib/unicase/u8-casecoll.c: New file.
11532         * lib/unicase/u-casecoll.h: New file.
11533         * modules/unicase/u8-casecoll: New file.
11534
11535         New module 'unicase/u32-casexfrm'.
11536         * lib/unicase/u32-casexfrm.c: New file.
11537         * modules/unicase/u32-casexfrm: New file.
11538
11539         New module 'unicase/u16-casexfrm'.
11540         * lib/unicase/u16-casexfrm.c: New file.
11541         * modules/unicase/u16-casexfrm: New file.
11542
11543         New module 'unicase/u8-casexfrm'.
11544         * lib/unicase/u8-casexfrm.c: New file.
11545         * lib/unicase/u-casexfrm.h: New file.
11546         * modules/unicase/u8-casexfrm: New file.
11547
11548         Tests for module 'unicase/u32-casecmp'.
11549         * modules/unicase/u32-casecmp-tests: New file.
11550         * tests/unicase/test-u32-casecmp.c: New file.
11551
11552         Tests for module 'unicase/u16-casecmp'.
11553         * modules/unicase/u16-casecmp-tests: New file.
11554         * tests/unicase/test-u16-casecmp.c: New file.
11555
11556         Tests for module 'unicase/u8-casecmp'.
11557         * modules/unicase/u8-casecmp-tests: New file.
11558         * tests/unicase/test-u8-casecmp.c: New file.
11559         * tests/unicase/test-casecmp.h: New file.
11560
11561         New module 'unicase/u32-casecmp'.
11562         * lib/unicase/u32-casecmp.c: New file.
11563         * modules/unicase/u32-casecmp: New file.
11564
11565         New module 'unicase/u16-casecmp'.
11566         * lib/unicase/u16-casecmp.c: New file.
11567         * modules/unicase/u16-casecmp: New file.
11568
11569         New module 'unicase/u8-casecmp'.
11570         * lib/unicase/u8-casecmp.c: New file.
11571         * lib/unicase/u-casecmp.h: New file.
11572         * modules/unicase/u8-casecmp: New file.
11573
11574         Tests for module 'unicase/u32-casefold'.
11575         * modules/unicase/u32-casefold-tests: New file.
11576         * tests/unicase/test-u32-casefold.c: New file.
11577
11578         Tests for module 'unicase/u16-casefold'.
11579         * modules/unicase/u16-casefold-tests: New file.
11580         * tests/unicase/test-u16-casefold.c: New file.
11581
11582         Tests for module 'unicase/u8-casefold'.
11583         * modules/unicase/u8-casefold-tests: New file.
11584         * tests/unicase/test-u8-casefold.c: New file.
11585
11586         New module 'unicase/u32-casefold'.
11587         * lib/unicase/u32-casefold.c: New file.
11588         * modules/unicase/u32-casefold: New file.
11589
11590         New module 'unicase/u16-casefold'.
11591         * lib/unicase/u16-casefold.c: New file.
11592         * modules/unicase/u16-casefold: New file.
11593
11594         New module 'unicase/u8-casefold'.
11595         * lib/unicase/u8-casefold.c: New file.
11596         * lib/unicase/u-casefold.h: New file.
11597         * modules/unicase/u8-casefold: New file.
11598
11599         New module 'unicase/tocasefold'.
11600         * lib/unicase/casefold.h: New file.
11601         * lib/unicase/tocasefold.c: New file.
11602         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
11603         * modules/unicase/tocasefold: New file.
11604
11605         Tests for module 'unicase/u32-totitle'.
11606         * modules/unicase/u32-totitle-tests: New file.
11607         * tests/unicase/test-u32-totitle.c: New file.
11608
11609         Tests for module 'unicase/u16-totitle'.
11610         * modules/unicase/u16-totitle-tests: New file.
11611         * tests/unicase/test-u16-totitle.c: New file.
11612
11613         Tests for module 'unicase/u8-totitle'.
11614         * modules/unicase/u8-totitle-tests: New file.
11615         * tests/unicase/test-u8-totitle.c: New file.
11616
11617         New module 'unicase/u32-totitle'.
11618         * lib/unicase/u32-totitle.c: New file.
11619         * modules/unicase/u32-totitle: New file.
11620
11621         New module 'unicase/u16-totitle'.
11622         * lib/unicase/u16-totitle.c: New file.
11623         * modules/unicase/u16-totitle: New file.
11624
11625         New module 'unicase/u8-totitle'.
11626         * lib/unicase/u8-totitle.c: New file.
11627         * lib/unicase/u-totitle.h: New file.
11628         * modules/unicase/u8-totitle: New file.
11629
11630         Tests for module 'unicase/u32-tolower'.
11631         * modules/unicase/u32-tolower-tests: New file.
11632         * tests/unicase/test-u32-tolower.c: New file.
11633
11634         Tests for module 'unicase/u16-tolower'.
11635         * modules/unicase/u16-tolower-tests: New file.
11636         * tests/unicase/test-u16-tolower.c: New file.
11637
11638         Tests for module 'unicase/u8-tolower'.
11639         * modules/unicase/u8-tolower-tests: New file.
11640         * tests/unicase/test-u8-tolower.c: New file.
11641
11642         New module 'unicase/u32-tolower'.
11643         * lib/unicase/u32-tolower.c: New file.
11644         * modules/unicase/u32-tolower: New file.
11645
11646         New module 'unicase/u16-tolower'.
11647         * lib/unicase/u16-tolower.c: New file.
11648         * modules/unicase/u16-tolower: New file.
11649
11650         New module 'unicase/u8-tolower'.
11651         * lib/unicase/u8-tolower.c: New file.
11652         * modules/unicase/u8-tolower: New file.
11653
11654         Tests for module 'unicase/u32-toupper'.
11655         * modules/unicase/u32-toupper-tests: New file.
11656         * tests/unicase/test-u32-toupper.c: New file.
11657
11658         Tests for module 'unicase/u16-toupper'.
11659         * modules/unicase/u16-toupper-tests: New file.
11660         * tests/unicase/test-u16-toupper.c: New file.
11661
11662         Tests for module 'unicase/u8-toupper'.
11663         * modules/unicase/u8-toupper-tests: New file.
11664         * tests/unicase/test-u8-toupper.c: New file.
11665
11666         New module 'unicase/u32-toupper'.
11667         * lib/unicase/u32-toupper.c: New file.
11668         * modules/unicase/u32-toupper: New file.
11669
11670         New module 'unicase/u16-toupper'.
11671         * lib/unicase/u16-toupper.c: New file.
11672         * modules/unicase/u16-toupper: New file.
11673
11674         New module 'unicase/u8-toupper'.
11675         * lib/unicase/u8-toupper.c: New file.
11676         * modules/unicase/u8-toupper: New file.
11677
11678         New module 'unicase/u32-casemap'.
11679         * lib/unicase/u32-casemap.c: New file.
11680         * modules/unicase/u32-casemap: New file.
11681
11682         New module 'unicase/u16-casemap'.
11683         * lib/unicase/u16-casemap.c: New file.
11684         * modules/unicase/u16-casemap: New file.
11685
11686         New module 'unicase/u8-casemap'.
11687         * lib/unicase/unicasemap.h: New file.
11688         * lib/unicase/u8-casemap.c: New file.
11689         * lib/unicase/u-casemap.h: New file.
11690         * modules/unicase/u8-casemap: New file.
11691
11692         New module 'unicase/special-casing'.
11693         * lib/unicase/special-casing.h: New file.
11694         * lib/unicase/special-casing.c: New file.
11695         * lib/unicase/special-casing-table.gperf: New file, generated by
11696         gen-uni-tables.c.
11697         * modules/unicase/special-casing: New file.
11698
11699         Tests for module 'unicase/locale-language'.
11700         * modules/unicase/locale-language-tests: New file.
11701         * tests/unicase/test-locale-language.sh: New file.
11702         * tests/unicase/test-locale-language.c: New file.
11703
11704         New module 'unicase/locale-language'.
11705         * lib/unicase/locale-language.c: New file.
11706         * lib/unicase/locale-languages.gperf: New file.
11707         * modules/unicase/locale-language: New file.
11708
11709         Generate more tables for case conversion and case folding.
11710         * lib/gen-uni-tables.c (SCC_*): New enum items.
11711         (struct special_casing_rule): New type.
11712         (casing_rules, num_casing_rules, allocated_casing_rules): New
11713         variables.
11714         (add_casing_rule, fill_casing_rules): New functions.
11715         (struct casefold_rule): New type.
11716         (casefolding_rules, num_casefolding_rules,
11717         allocated_casefolding_rules): New variables.
11718         (fill_casefolding_rules): New function.
11719         (unicode_casefold): New variable.
11720         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
11721         sort_casing_rules, output_casing_rules): New functions.
11722         (main): Accept to more arguments: SpecialCasing.txt and
11723         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
11724         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
11725         Output mapping for casefolding.
11726
11727         * lib/unicase.h: Include stdbool.h, uninorm.h.
11728         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
11729         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
11730         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
11731         arguments.
11732         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
11733         resultp arguments.
11734         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
11735         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
11736         resultp arguments.
11737         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
11738         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
11739         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
11740         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
11741         declarations.
11742         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
11743
11744 2009-03-08  Bruno Haible  <bruno@clisp.org>
11745
11746         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
11747         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
11748         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
11749         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
11750
11751 2009-03-07  Bruno Haible  <bruno@clisp.org>
11752
11753         Adjust u*_normcmp, u*_normcoll API.
11754         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
11755         u16_normcoll, u32_normcoll): Change failure conventions.
11756         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
11757         errno and return -1.
11758         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
11759
11760 2009-03-07  Bruno Haible  <bruno@clisp.org>
11761
11762         Tests for module 'uninorm/u32-normcoll'.
11763         * modules/uninorm/u32-normcoll-tests: New file.
11764         * tests/uninorm/test-u32-normcoll.c: New file.
11765
11766         Tests for module 'uninorm/u16-normcoll'.
11767         * modules/uninorm/u16-normcoll-tests: New file.
11768         * tests/uninorm/test-u16-normcoll.c: New file.
11769
11770         Tests for module 'uninorm/u8-normcoll'.
11771         * modules/uninorm/u8-normcoll-tests: New file.
11772         * tests/uninorm/test-u8-normcoll.c: New file.
11773
11774 2009-03-07  Bruno Haible  <bruno@clisp.org>
11775
11776         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
11777         tests/uninorm/test-u32-normcmp.c.
11778         * tests/uninorm/test-u32-normcmp.c: Include it.
11779         (test_nonascii): New function, extracted from main. Add some more
11780         tests.
11781         (main): Invoke test_ascii and test_nonascii.
11782         * modules/uninorm/u32-normcmp-tests (Files): Add
11783         tests/uninorm/test-u32-normcmp.h.
11784         (Depends-on): Remove uninorm/u32-normcmp.
11785
11786         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
11787         tests/uninorm/test-u16-normcmp.c.
11788         * tests/uninorm/test-u16-normcmp.c: Include it.
11789         (test_nonascii): New function, extracted from main. Add some more
11790         tests.
11791         (main): Invoke test_ascii and test_nonascii.
11792         * modules/uninorm/u16-normcmp-tests (Files): Add
11793         tests/uninorm/test-u16-normcmp.h.
11794         (Depends-on): Remove uninorm/u16-normcmp.
11795
11796         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
11797         tests/uninorm/test-u8-normcmp.c.
11798         * tests/uninorm/test-u8-normcmp.c: Include it.
11799         (test_nonascii): New function, extracted from main. Add some more
11800         tests.
11801         (main): Invoke test_ascii and test_nonascii.
11802         * modules/uninorm/u8-normcmp-tests (Files): Add
11803         tests/uninorm/test-u8-normcmp.h.
11804         (Depends-on): Remove uninorm/u8-normcmp.
11805
11806 2009-03-07  Bruno Haible  <bruno@clisp.org>
11807
11808         New module 'uninorm/u32-normcoll'.
11809         * lib/uninorm/u32-normcoll.c: New file.
11810         * modules/uninorm/u32-normcoll: New file.
11811
11812         New module 'uninorm/u16-normcoll'.
11813         * lib/uninorm/u16-normcoll.c: New file.
11814         * modules/uninorm/u16-normcoll: New file.
11815
11816         New module 'uninorm/u8-normcoll'.
11817         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
11818         declarations.
11819         * lib/uninorm/u8-normcoll.c: New file.
11820         * lib/uninorm/u-normcoll.h: New file.
11821         * modules/uninorm/u8-normcoll: New file.
11822
11823         New module 'uninorm/u32-normxfrm'.
11824         * lib/uninorm/u32-normxfrm.c: New file.
11825         * modules/uninorm/u32-normxfrm: New file.
11826
11827         New module 'uninorm/u16-normxfrm'.
11828         * lib/uninorm/u16-normxfrm.c: New file.
11829         * modules/uninorm/u16-normxfrm: New file.
11830
11831         New module 'uninorm/u8-normxfrm'.
11832         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
11833         declarations.
11834         * lib/uninorm/u8-normxfrm.c: New file.
11835         * lib/uninorm/u-normxfrm.h: New file.
11836         * modules/uninorm/u8-normxfrm: New file.
11837
11838 2009-03-07  Bruno Haible  <bruno@clisp.org>
11839
11840         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
11841         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
11842         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
11843
11844 2009-03-07  Bruno Haible  <bruno@clisp.org>
11845
11846         New module 'memxfrm'.
11847         * lib/memxfrm.h: New file.
11848         * lib/memxfrm.c: New file.
11849         * modules/memxfrm: New file.
11850
11851 2009-03-07  Bruno Haible  <bruno@clisp.org>
11852
11853         New module 'memcmp2'.
11854         * lib/memcmp2.h: New file.
11855         * lib/memcmp2.c: New file.
11856         * modules/memcmp2: New file.
11857
11858 2009-03-07  Bruno Haible  <bruno@clisp.org>
11859
11860         Tests for module 'uninorm/decomposing-form'.
11861         * modules/uninorm/decomposing-form-tests: New file.
11862         * tests/uninorm/test-decomposing-form.c: New file.
11863
11864         New module 'uninorm/decomposing-form'.
11865         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
11866         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
11867         Add 'decomposing_variant' field.
11868         * lib/uninorm/decomposing-form.c: New file.
11869         * lib/uninorm/nfc.c (uninorm_nfc): Update.
11870         * lib/uninorm/nfd.c (uninorm_nfd): Update.
11871         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
11872         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
11873         * modules/uninorm/decomposing-form: New file.
11874         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
11875         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
11876
11877 2009-03-07  Bruno Haible  <bruno@clisp.org>
11878
11879         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
11880         strings.
11881
11882 2009-03-06  Bruno Haible  <bruno@clisp.org>
11883
11884         Tests for module 'uninorm/u32-normcmp'.
11885         * tests/uninorm/test-u32-normcmp.c: New file.
11886         * modules/uninorm/u32-normcmp-tests: New file.
11887
11888         Tests for module 'uninorm/u16-normcmp'.
11889         * tests/uninorm/test-u16-normcmp.c: New file.
11890         * modules/uninorm/u16-normcmp-tests: New file.
11891
11892         Tests for module 'uninorm/u8-normcmp'.
11893         * tests/uninorm/test-u8-normcmp.c: New file.
11894         * modules/uninorm/u8-normcmp-tests: New file.
11895
11896         New module 'uninorm/u32-normcmp'.
11897         * lib/uninorm/u32-normcmp.c: New file.
11898         * modules/uninorm/u32-normcmp: New file.
11899
11900         New module 'uninorm/u16-normcmp'.
11901         * lib/uninorm/u16-normcmp.c: New file.
11902         * modules/uninorm/u16-normcmp: New file.
11903
11904         New module 'uninorm/u8-normcmp'.
11905         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
11906         declarations.
11907         * lib/uninorm/u8-normcmp.c: New file.
11908         * lib/uninorm/u-normcmp.h: New file.
11909         * modules/uninorm/u8-normcmp: New file.
11910
11911 2009-03-06  Bruno Haible  <bruno@clisp.org>
11912
11913         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
11914         Reported by Eric Blake.
11915
11916 2009-03-06  Eric Blake  <ebb9@byu.net>
11917             Bruno Haible  <bruno@clisp.org>
11918
11919         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
11920         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
11921         condition.
11922         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
11923         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
11924         condition.
11925         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
11926
11927 2009-03-06  Eric Blake  <ebb9@byu.net>
11928
11929         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
11930         to avoid compiler warnings.
11931         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
11932
11933 2009-03-05  Bruno Haible  <bruno@clisp.org>
11934
11935         * tests/test-ftell.c (main): Disable test beyond end of file on
11936         FreeMiNT.
11937         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
11938
11939 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
11940
11941         * lib/filevercmp.c: Move hidden files up in ordering.
11942         * tests/test-filevercmp.c: Add tests for hidden files.
11943
11944 2009-03-04  Bruno Haible  <bruno@clisp.org>
11945
11946         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
11947         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
11948         AM_CFLAGS.
11949         Reported by Simon Josefsson.
11950
11951 2009-03-03  Bruno Haible  <bruno@clisp.org>
11952
11953         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
11954         Reported by Simon Josefsson.
11955
11956         * doc/ld-version-script.texi: Update node reference.
11957
11958 2009-03-03  Bruno Haible  <bruno@clisp.org>
11959
11960         * modules/visibility (License): Change to 'unlimited'.
11961         Suggested by Simon Josefsson.
11962
11963 2009-03-03  Jim Meyering  <meyering@redhat.com>
11964
11965         unlinkdir: cannot_unlink_dir may modify process state
11966         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
11967         it's neither thread-safe nor appropriate for use in a library.
11968
11969 2009-03-03  Eric Blake  <ebb9@byu.net>
11970
11971         test-closein: silence test under Darwin
11972         * tests/test-closein.sh: Ignore stderr from cat, since we don't
11973         care if it dies from EPIPE or EBADF.
11974
11975 2009-03-03  Bruno Haible  <bruno@clisp.org>
11976
11977         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
11978         earlier.
11979         * doc/visibility.texi: Fix @node and @section.
11980
11981 2009-03-03  Simon Josefsson  <simon@josefsson.org>
11982
11983         * doc/gnulib.texi: Link to sections for ld version script and
11984         visibility.
11985         * doc/visibility.texi: Add @node and @section.
11986         * modules/ld-version-script: New module.
11987         * m4/ld-version-script.m4: New file.
11988         * doc/ld-version-script.texi: New file.
11989
11990 2009-03-02  David Lutterkort  <lutter@redhat.com>
11991
11992         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
11993         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11994
11995 2009-03-02  Bruno Haible  <bruno@clisp.org>
11996
11997         * doc/visibility.texi: Mention libtool's -export-symbols option.
11998
11999 2009-03-02  Jim Meyering  <meyering@redhat.com>
12000
12001         announce-gen: new option: --no-print-checksums
12002         * build-aux/announce-gen (usage): Describe it.
12003         (print_checksums): Print a newline here, not in the [*] footnote.
12004         (main): Honor it.
12005
12006 2009-03-01  Bruno Haible  <bruno@clisp.org>
12007
12008         Use socklen_t in the native Windows replacements prototypes.
12009         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
12010         instead of 'int'.
12011         * lib/getsockopt.c (rpl_getsockopt): Likewise.
12012         * lib/setsockopt.c (rpl_setsockopt): Likewise.
12013         * modules/getsockopt (Depends-on): Add socklen.
12014         * modules/setsockopt (Depends-on): Add socklen.
12015
12016 2009-03-01  Bruno Haible  <bruno@clisp.org>
12017
12018         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
12019         least 4.2.
12020
12021 2009-03-01  Eric Blake  <ebb9@byu.net>
12022             Bruno Haible  <bruno@clisp.org>
12023
12024         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
12025         error messages.
12026         * lib/wait-process.c (wait_subprocess): Omit error message about
12027         deadly signal sent to the child of termsigp != NULL.
12028
12029 2009-03-01  Eric Blake  <ebb9@byu.net>
12030
12031         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
12032
12033 2009-03-01  Bruno Haible  <bruno@clisp.org>
12034
12035         Avoid a gcc warning.
12036         * tests/test-sched.c (b): Make global.
12037         Reported by Eric Blake.
12038
12039 2009-01-19  Martin Lambers  <marlam@marlam.de>
12040
12041         Provide POSIX semantics for socket timeout options on W32.
12042         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
12043         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
12044         * modules/setsockopt: Depend on sys_time module for struct timeval.
12045         * modules/getsockopt: Depend on sys_time module for struct timeval.
12046
12047 2009-03-01  Simon Josefsson  <simon@josefsson.org>
12048
12049         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
12050         __USE_GNU, for consistency with netdb.in.h.
12051         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
12052
12053 2009-03-01  Bruno Haible  <bruno@clisp.org>
12054
12055         More support for FreeMiNT.
12056         * lib/fseeko.c (rpl_fseeko): Complete last commit.
12057         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
12058
12059 2009-03-01  Bruno Haible  <bruno@clisp.org>
12060
12061         More support for FreeMiNT.
12062         * lib/fpurge.c (fpurge): Correct last commit.
12063         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
12064
12065 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12066
12067         Fix unportable awk script in vc-list-files.
12068         * build-aux/vc-list-files: In the replacement awk script, use
12069         substr with a second argument of 1, not zero.
12070         Report by Simon Josefsson.
12071
12072 2009-02-28  Bruno Haible  <bruno@clisp.org>
12073
12074         More support for FreeMiNT.
12075         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
12076         to FreeMiNT today.
12077         * lib/fwriting.c (fwriting): Likewise.
12078         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
12079
12080 2009-02-28  Bruno Haible  <bruno@clisp.org>
12081
12082         * tests/test-freadseek.c (main): Disable test beyond end of file on
12083         FreeMiNT.
12084         * tests/test-ftello.c (main): Likewise.
12085         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
12086
12087 2009-02-28  Bruno Haible  <bruno@clisp.org>
12088
12089         Add tentative support for FreeMiNT.
12090         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
12091         * lib/fpurge.c (fpurge): Likewise.
12092         * lib/freadable.c (freadable): Likewise.
12093         * lib/freading.c (freading): Likewise.
12094         * lib/freadptr.c (freadptr): Likewise.
12095         * lib/freadseek.c (freadptrinc): Likewise.
12096         * lib/fseeko.c (rpl_fseeko): Likewise.
12097         * lib/fseterr.c (fseterr): Likewise.
12098         * lib/fwritable.c (fwritable): Likewise.
12099         * lib/fwriting.c (fwriting): Likewise.
12100         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
12101         Hourihane.
12102         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
12103
12104 2009-02-28  Bruno Haible  <bruno@clisp.org>
12105
12106         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
12107         SIGCHLD.
12108         Reported by Jim Meyering.
12109
12110 2009-02-28  Bruno Haible  <bruno@clisp.org>
12111
12112         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
12113         Mention the results of these tests on various platforms.
12114         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
12115         order.
12116         * doc/posix-functions/printf.texi: Likewise.
12117         * doc/posix-functions/snprintf.texi: Likewise.
12118         * doc/posix-functions/sprintf.texi: Likewise.
12119         * doc/posix-functions/vfprintf.texi: Likewise.
12120         * doc/posix-functions/vprintf.texi: Likewise.
12121         * doc/posix-functions/vsnprintf.texi: Likewise.
12122         * doc/posix-functions/vsprintf.texi: Likewise.
12123         * doc/glibc-functions/obstack_printf.texi: Likewise.
12124         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
12125
12126 2009-02-28  Bruno Haible  <bruno@clisp.org>
12127
12128         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
12129         Reported by Loïc Minier <lool@dooz.org>.
12130
12131 2009-02-27  Bruno Haible  <bruno@clisp.org>
12132
12133         * gnulib-tool (func_import): Make the sed expression used to create the
12134         sed script for updating the .gitignore file POSIX compliant.
12135         Reported by Eric Blake.
12136
12137 2009-02-27  Bruno Haible  <bruno@clisp.org>
12138
12139         * gnulib-tool (sed): Don't alias as "sed --posix".
12140         Reported by Eric Blake.
12141
12142 2009-02-27  Bruno Haible  <bruno@clisp.org>
12143
12144         Avoid test link errors.
12145         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
12146         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
12147         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
12148         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
12149         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12150
12151 2009-02-27  Bruno Haible  <bruno@clisp.org>
12152
12153         Avoid spurious "(cached)" in configure output.
12154         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
12155         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
12156         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
12157         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
12158         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
12159         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
12160         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
12161         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
12162         Reported by Eric Blake.
12163
12164 2009-02-27  Eric Blake  <ebb9@byu.net>
12165
12166         printf: fix regression in previous patch
12167         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
12168
12169 2009-02-27  Bruno Haible  <bruno@clisp.org>
12170
12171         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
12172         value.
12173         * lib/stdint.in.h: Likewise.
12174         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
12175
12176 2009-02-27  Eric Blake  <ebb9@byu.net>
12177
12178         doc: mention more functions added in cygwin 1.7.0
12179         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
12180         addition.
12181         * doc/posix-functions/open_wmemstream.texi: Likewise.
12182         * doc/posix-functions/wcsnlen.texi: Likewise.
12183         * doc/posix-functions/wcsnrtombs.texi: Likewise.
12184         * doc/posix-functions/wcstod.texi: Likewise.
12185         * doc/posix-functions/wcstof.texi: Likewise.
12186         * doc/posix-functions/wcstoimax.texi: Likewise.
12187         * doc/posix-functions/wcstok.texi: Likewise.
12188         * doc/posix-functions/wcstoumax.texi: Likewise.
12189
12190         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
12191         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
12192         * doc/posix-functions/fprintf.texi: Update.
12193         * doc/posix-functions/printf.texi: Update.
12194         * doc/posix-functions/snprintf.texi: Update.
12195         * doc/posix-functions/sprintf.texi: Update.
12196         * doc/posix-functions/vfprintf.texi: Update.
12197         * doc/posix-functions/vprintf.texi: Update.
12198         * doc/posix-functions/vsnprintf.texi: Update.
12199         * doc/posix-functions/vsprintf.texi: Update.
12200         * doc/glibc-functions/obstack_printf.texi: Update.
12201         * doc/glibc-functions/obstack_vprintf.texi: Update.
12202
12203 2009-02-26  Eric Blake  <ebb9@byu.net>
12204
12205         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
12206         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
12207         compilation bug by using runtime conversion.
12208         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
12209         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
12210         * modules/ceill-tests (Files): Use nan.h.
12211         * modules/floorl-tests (Files): Likewise.
12212         * modules/frexpl-tests (Files): Likewise.
12213         * modules/isnanl-tests (Files): Likewise.
12214         * modules/ldexpl-tests (Files): Likewise.
12215         * modules/roundl-tests (Files): Likewise.
12216         * modules/truncl-tests (Files): Likewise.
12217         * tests/test-ceill.c (main): Use a working NaN.
12218         * tests/test-floorl.c (main): Likewise.
12219         * tests/test-frexpl.c (main): Likewise.
12220         * tests/test-isnan.c (test_long_double): Likewise.
12221         * tests/test-isnanl.h (main): Likewise.
12222         * tests/test-ldexpl.h (main): Likewise.
12223         * tests/test-roundl.h (main): Likewise.
12224         * tests/test-truncl.h (main): Likewise.
12225         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
12226
12227 2009-02-26  Eric Blake  <ebb9@byu.net>
12228             Bruno Haible  <bruno@clisp.org>
12229
12230         Work around a *printf bug with %ls on Solaris.
12231         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
12232         precision is specified, sprintf stops converting the wide string
12233         argument when the number of bytes that have been produced by this
12234         conversion equals or exceeds the precision.
12235         * doc/posix-functions/fprintf.texi: Update.
12236         * doc/posix-functions/printf.texi: Update.
12237         * doc/posix-functions/snprintf.texi: Update.
12238         * doc/posix-functions/sprintf.texi: Update.
12239         * doc/posix-functions/vfprintf.texi: Update.
12240         * doc/posix-functions/vprintf.texi: Update.
12241         * doc/posix-functions/vsnprintf.texi: Update.
12242         * doc/posix-functions/vsprintf.texi: Update.
12243         * doc/glibc-functions/obstack_printf.texi: Update.
12244         * doc/glibc-functions/obstack_vprintf.texi: Update.
12245
12246 2009-02-26  Eric Blake  <ebb9@byu.net>
12247
12248         stdlib: favor compiler check of random.h
12249         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
12250         to avoid an ObjC random.h installed by Swarm.
12251
12252 2009-02-26  Bruno Haible  <bruno@clisp.org>
12253
12254         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
12255         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
12256         Reported by Gary V. Vaughan <gary@gnu.org>.
12257
12258 2009-02-26  Bruno Haible  <bruno@clisp.org>
12259
12260         Fix *printf behaviour regarding the %ls directive.
12261         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
12262         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
12263         NEED_PRINTF_DIRECTIVE_LS.
12264         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
12265         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
12266         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
12267         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
12268         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
12269         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
12270         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
12271         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
12272         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
12273         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
12274         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
12275         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
12276         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
12277         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
12278         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
12279         * doc/posix-functions/fprintf.texi: Update.
12280         * doc/posix-functions/printf.texi: Update.
12281         * doc/posix-functions/snprintf.texi: Update.
12282         * doc/posix-functions/sprintf.texi: Update.
12283         * doc/posix-functions/vfprintf.texi: Update.
12284         * doc/posix-functions/vprintf.texi: Update.
12285         * doc/posix-functions/vsnprintf.texi: Update.
12286         * doc/posix-functions/vsprintf.texi: Update.
12287         * doc/glibc-functions/obstack_printf.texi: Update.
12288         * doc/glibc-functions/obstack_vprintf.texi: Update.
12289         Reported by Eric Blake.
12290
12291 2009-02-25  Bruno Haible  <bruno@clisp.org>
12292
12293         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
12294         with known value.
12295         Reported by Gary V. Vaughan <gary@gnu.org>.
12296
12297 2009-02-25  Bruno Haible  <bruno@clisp.org>
12298
12299         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
12300         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
12301         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
12302         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
12303         Reported by Gary V. Vaughan <gary@gnu.org>.
12304
12305 2009-02-25  Bruno Haible  <bruno@clisp.org>
12306
12307         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
12308         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
12309         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
12310         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
12311         Reported by Gary V. Vaughan <gary@gnu.org>.
12312
12313 2009-02-25  Eric Blake  <ebb9@byu.net>
12314
12315         tests: skip fseek/ftell tests if ungetc is broken
12316         * m4/ungetc.m4: New file.
12317         * modules/fseek-tests: Split test, so ungetc dependency is
12318         separate from rest of test.
12319         * modules/fseeko-tests: Likewise.
12320         * modules/ftell-tests: Likewise.
12321         * modules/ftello-tests: Likewise.
12322         * tests/test-fseek.c (main): Isolate ungetc dependency.
12323         * tests/test-fseeko.c (main): Likewise.
12324         * tests/test-ftell.c (main): Likewise.
12325         * tests/test-ftello.c (main): Likewise.
12326         * tests/test-fseek2.sh: New file.
12327         * tests/test-fseeko2.sh: Likewise.
12328         * tests/test-ftell2.sh: Likewise.
12329         * tests/test-ftello2.sh: Likewise.
12330
12331 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
12332
12333         test-getaddrinfo: fix usage of skip return code 77
12334         * tests/test-gettaddrinfo.c: Return skip code 77 only
12335         for first occurance of skip (4x77 is not 77)
12336
12337 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
12338
12339         strtod: avoid C99 decl-after-statement
12340         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
12341
12342 2009-02-24  Eric Blake  <ebb9@byu.net>
12343
12344         strtod: detect HP-UX 11.31 bug
12345         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
12346         Reported by Gary V. Vaughan.
12347
12348 2009-02-23  Bruno Haible  <bruno@clisp.org>
12349
12350         Fix invalid read past end of memory block.
12351         * lib/vasnprintf.c (DCHAR_SET): Define.
12352         (local_wcslen): Define only when needed.
12353         (local_strnlen, local_wcsnlen): New functions.
12354         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
12355         directives that involve a conversion ourselves.
12356         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
12357         wcsnlen, mbrtowc, wcrtomb.
12358         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
12359         * tests/test-vasprintf-posix.c (test_function): Likewise.
12360         * tests/test-snprintf-posix.h (test_function): Likewise.
12361         * tests/test-sprintf-posix.h (test_function): Likewise.
12362         Reported by Ben Pfaff <blp@cs.stanford.edu>.
12363
12364 2009-02-22  Bruno Haible  <bruno@clisp.org>
12365
12366         Implement new clarified decomposition of Hangul syllables.
12367         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
12368         of type LTV, return only a pairwise decomposition.
12369         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
12370         Likewise.
12371         * tests/uninorm/test-decomposition.c (main): Updated expected result.
12372         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
12373         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
12374
12375 2009-02-22  Bruno Haible  <bruno@clisp.org>
12376
12377         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
12378         zero-length results and shrink excess allocated memory.
12379         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
12380         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
12381         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
12382         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
12383         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
12384         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
12385         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
12386         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
12387         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
12388         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
12389         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
12390         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
12391
12392 2009-02-21  Bruno Haible  <bruno@clisp.org>
12393
12394         * doc/gnulib.texi: Include safe-alloc.texi earlier.
12395         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
12396         spaces after a period. Put a space between a macro name and its
12397         argument list. Trivial rewordings.
12398         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
12399         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
12400         (main): Return 0 explicitly.
12401
12402 2009-02-21  Bruno Haible  <bruno@clisp.org>
12403
12404         Tests for module 'uninorm/filter'.
12405         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
12406         * modules/uninorm/filter-tests: New file.
12407
12408         New module 'uninorm/filter'.
12409         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
12410         uninorm_filter_flush, uninorm_filter_free): New declarations.
12411         * lib/uninorm/uninorm-filter.c: New file.
12412         * modules/uninorm/filter: New file.
12413
12414 2009-02-21  Bruno Haible  <bruno@clisp.org>
12415
12416         Tests for module 'uninorm/nfkc'.
12417         * tests/uninorm/test-nfkc.c: New file.
12418         * tests/uninorm/test-u8-nfkc.c: New file.
12419         * tests/uninorm/test-u16-nfkc.c: New file.
12420         * tests/uninorm/test-u32-nfkc.c: New file.
12421         * tests/uninorm/test-u32-nfkc-big.sh: New file.
12422         * tests/uninorm/test-u32-nfkc-big.c: New file.
12423         * modules/uninorm/nfkc-tests: New file.
12424
12425         New module 'uninorm/nfkc'.
12426         * lib/uninorm/nfkc.c: New file.
12427         * modules/uninorm/nfkc: New file.
12428
12429         Tests for module 'uninorm/nfkd'.
12430         * tests/uninorm/test-nfkd.c: New file.
12431         * tests/uninorm/test-u8-nfkd.c: New file.
12432         * tests/uninorm/test-u16-nfkd.c: New file.
12433         * tests/uninorm/test-u32-nfkd.c: New file.
12434         * tests/uninorm/test-u32-nfkd-big.sh: New file.
12435         * tests/uninorm/test-u32-nfkd-big.c: New file.
12436         * modules/uninorm/nfkd-tests: New file.
12437
12438         New module 'uninorm/nfkd'.
12439         * lib/uninorm/nfkd.c: New file.
12440         * modules/uninorm/nfkd: New file.
12441
12442         Tests for module 'uninorm/nfc'.
12443         * tests/uninorm/test-nfc.c: New file.
12444         * tests/uninorm/test-u8-nfc.c: New file.
12445         * tests/uninorm/test-u16-nfc.c: New file.
12446         * tests/uninorm/test-u32-nfc.c: New file.
12447         * tests/uninorm/test-u32-nfc-big.sh: New file.
12448         * tests/uninorm/test-u32-nfc-big.c: New file.
12449         * modules/uninorm/nfc-tests: New file.
12450
12451         New module 'uninorm/nfc'.
12452         * lib/uninorm/nfc.c: New file.
12453         * modules/uninorm/nfc: New file.
12454
12455         Tests for module 'uninorm/nfd'.
12456         * tests/uninorm/test-nfd.c: New file.
12457         * tests/uninorm/test-u8-nfd.c: New file.
12458         * tests/uninorm/test-u16-nfd.c: New file.
12459         * tests/uninorm/test-u32-nfd.c: New file.
12460         * tests/uninorm/test-u32-nfd-big.sh: New file.
12461         * tests/uninorm/test-u32-nfd-big.c: New file.
12462         * tests/uninorm/test-u32-normalize-big.h: New file.
12463         * tests/uninorm/test-u32-normalize-big.c: New file.
12464         * tests/uninorm/NormalizationTest.txt: New file, created from
12465         Unicode 5.1.0 NormalizationTest.txt.
12466         * modules/uninorm/nfd-tests: New file.
12467
12468         New module 'uninorm/nfd'.
12469         * lib/uninorm/nfd.c: New file.
12470         * modules/uninorm/nfd: New file.
12471
12472         New module 'uninorm/u32-normalize'.
12473         * lib/uninorm/u32-normalize.c: New file.
12474         * modules/uninorm/u32-normalize: New file.
12475
12476         New module 'uninorm/u16-normalize'.
12477         * lib/uninorm/u16-normalize.c: New file.
12478         * modules/uninorm/u16-normalize: New file.
12479
12480         New module 'uninorm/u8-normalize'.
12481         * lib/uninorm/u8-normalize.c: New file.
12482         * lib/uninorm/normalize-internal.h: New file.
12483         * lib/uninorm/u-normalize-internal.h: New file.
12484         * modules/uninorm/u8-normalize: New file.
12485
12486         New module 'uninorm/decompose-internal'.
12487         * lib/uninorm/decompose-internal.c: New file.
12488         * modules/uninorm/decompose-internal: New file.
12489
12490         Tests for module 'uninorm/composition'.
12491         * tests/uninorm/test-composition.c: New file.
12492         * modules/uninorm/composition-tests: New file.
12493
12494         New module 'uninorm/composition'.
12495         * lib/uninorm/composition.c: New file.
12496         * lib/uninorm/composition-table.gperf: New file, generated by
12497         gen-uni-tables.
12498         * modules/uninorm/composition: New file.
12499
12500         Tests for module 'uninorm/compat-decomposition'.
12501         * tests/uninorm/test-compat-decomposition.c: New file.
12502         * modules/uninorm/compat-decomposition-tests: New file.
12503
12504         New module 'uninorm/compat-decomposition'.
12505         * lib/uninorm/decompose-internal.h: New file.
12506         * lib/uninorm/compat-decomposition.c: New file.
12507         * modules/uninorm/compat-decomposition: New file.
12508
12509         Tests for module 'uninorm/canonical-decomposition'.
12510         * tests/uninorm/test-canonical-decomposition.c: New file.
12511         * modules/uninorm/canonical-decomposition-tests: New file.
12512
12513         New module 'uninorm/canonical-decomposition'.
12514         * lib/uninorm/canonical-decomposition.c: New file.
12515         * modules/uninorm/canonical-decomposition: New file.
12516
12517         Tests for module 'uninorm/decomposition'.
12518         * tests/uninorm/test-decomposition.c: New file.
12519         * modules/uninorm/decomposition-tests: New file.
12520
12521         New module 'uninorm/decomposition'.
12522         * lib/uninorm/decomposition.c: New file.
12523         * modules/uninorm/decomposition: New file.
12524
12525         New module 'uninorm/decomposition-table'.
12526         * lib/uninorm/decomposition-table.h: New file.
12527         * lib/uninorm/decomposition-table.c: New file.
12528         * lib/uninorm/decomposition-table1.h: New file, generated by
12529         gen-uni-tables.
12530         * lib/uninorm/decomposition-table2.h: New file, generated by
12531         gen-uni-tables.
12532         * modules/uninorm/decomposition-table: New file.
12533
12534         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
12535         (UC_DECOMP_*): New enumeration items.
12536         (get_decomposition): New function.
12537         (struct decomp_table): New type.
12538         (output_decomposition, output_decomposition_tables): New functions.
12539         (unicode_composition_exclusions): New variable.
12540         (fill_composition_exclusions, debug_output_composition_tables): New
12541         functions.
12542         (main): Accept one more argument. Invoke fill_composition_exclusions.
12543         Output decomposition and composition tables.
12544
12545         New module 'uninorm/base'.
12546         * lib/uninorm.h: New file.
12547         * lib/unictype.h: Update comment.
12548         * modules/uninorm/base: New file.
12549
12550 2009-02-21  David Lutterkort  <lutter@redhat.com>
12551
12552         Tests for module 'safe-alloc'.
12553         * tests/test-safe-alloc.c: New file.
12554         * modules/safe-alloc-tests: New file.
12555
12556         New module 'safe-alloc'.
12557         * lib/safe-alloc.h: New file.
12558         * lib/safe-alloc.c: New file.
12559         * m4/safe-alloc.m4: New file.
12560         * modules/safe-alloc: New file.
12561         * doc/safe-alloc.texi: New file.
12562         * doc/gnulib.texi: Include it.
12563         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
12564         safe-alloc.
12565
12566 2009-02-18  Bruno Haible  <bruno@clisp.org>
12567
12568         Fix link error on non-glibc systems.
12569         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
12570         variable.
12571         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12572
12573 2009-02-18  Jim Meyering  <meyering@redhat.com>
12574
12575         fts: avoid used-uninitialized error due to recent change
12576         * lib/fts.c (fts_read): Guard uses of the new member,
12577         parent->fts_n_dirs_remaining, since it's not relevant for
12578         the parent of a directory specified on the command-line.
12579
12580 2009-02-17  James Youngman  <jay@gnu.org>
12581             Bruno Haible  <bruno@clisp.org>
12582
12583         * m4/include_next.m4: Reformulate comment.
12584
12585 2009-02-16  Jim Meyering  <meyering@redhat.com>
12586
12587         fts: add #if guards so that the fts_lgpl module still builds
12588         * lib/fts.c: Guard just-added hash-table-using parts with
12589         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
12590         Reported by Simon Josefsson.
12591
12592 2009-02-15  Bruno Haible  <bruno@clisp.org>
12593
12594         * modules/array-mergesort-tests: New file.
12595         * tests/test-array-mergesort.c: New file.
12596
12597         New module 'array-mergesort'.
12598         * modules/array-mergesort: New file.
12599         * lib/array-mergesort.h: New file.
12600
12601 2009-02-15  Bruno Haible  <bruno@clisp.org>
12602
12603         Fix 2009-02-07 commit.
12604         * lib/gen-uni-tables.c (output_predicate, output_category,
12605         output_combclass, output_bidi_category, output_decimal_digit,
12606         output_digit, output_numeric, output_mirror, output_scripts,
12607         output_ident_category, output_simple_mapping): Fix format directives.
12608         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
12609
12610 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
12611
12612         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
12613         fixes are available from IBM.
12614
12615 2009-02-13  Jim Meyering  <meyering@redhat.com>
12616
12617         fts: arrange not to stat non-directories in more cases
12618         This makes GNU find (when it doesn't need to stat each file)
12619         *much* more efficient at traversing reiserfs file systems.
12620         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
12621         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
12622         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
12623         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
12624         (leaf_optimization_applies): New function.
12625         (LCO_hash, LCO_compare): New helper functions.
12626         (link_count_optimize_ok): New function.
12627         (fts_stat): Initialize new member (if dir).
12628         (fts_read): Decrement parent's fts_n_dirs_remaining count if
12629         we've just stat'ed a directory.  Skip the stat call when possible.
12630         ---
12631         Note this AFS-related exchange:
12632         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
12633         and note find's pioctl call in find/fstype.c.
12634         But that is necessary only if you want to enable the
12635         optimization for AFS, and for now, I don't.
12636
12637         fts: move a function definition "up" (no semantic change)
12638         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
12639         "up" to precede upcoming use of a related function.
12640
12641 2009-02-11  Jim Meyering  <meyering@redhat.com>
12642
12643         fts: correct internal computation of nlinks (optimization-related)
12644         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
12645         whether the current entry is a directory, so don't test it.
12646
12647 2009-02-10  Bruno Haible  <bruno@clisp.org>
12648
12649         Tests for module 'uniwbrk/ulc-wordbreaks'.
12650         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
12651         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
12652         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
12653
12654         Tests for module 'uniwbrk/u32-wordbreaks'.
12655         * modules/uniwbrk/u32-wordbreaks-tests: New file.
12656         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
12657
12658         Tests for module 'uniwbrk/u16-wordbreaks'.
12659         * modules/uniwbrk/u16-wordbreaks-tests: New file.
12660         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
12661
12662         Tests for module 'uniwbrk/u8-wordbreaks'.
12663         * modules/uniwbrk/u8-wordbreaks-tests: New file.
12664         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
12665
12666 2009-02-10  Bruno Haible  <bruno@clisp.org>
12667
12668         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
12669         property.
12670         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
12671         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
12672         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
12673
12674 2009-02-10  Simon Josefsson  <simon@josefsson.org>
12675
12676         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
12677         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
12678
12679 2009-02-10  Bruno Haible  <bruno@clisp.org>
12680
12681         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
12682         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
12683         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
12684         * lib/unilbrk/u8-possible-linebreaks.c: Update.
12685         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
12686         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
12687
12688 2009-02-09  Simon Josefsson  <simon@josefsson.org>
12689
12690         * lib/sockets.h (gl_fd_to_handle): New function.
12691
12692         * tests/test-sockets.c: Call gl_fd_to_handle.
12693
12694 2009-02-09  Bruno Haible  <bruno@clisp.org>
12695
12696         * doc/havelib.texi: Document the conventions on bi-arch systems.
12697
12698 2009-02-08  Bruno Haible  <bruno@clisp.org>
12699
12700         Document the AC_LIB_LINKFLAGS macro.
12701         * doc/havelib.texi: New file, mostly written on 2005-05-24.
12702         * doc/gnulib.texi: Include it.
12703
12704 2009-02-08  Bruno Haible  <bruno@clisp.org>
12705
12706         Fix wrong order of sections, compared to TOC.
12707         * doc/gnulib.texi: Include relocatable-maint.texi after the
12708         "Regular expressions" node, not before.
12709
12710 2009-02-08  Bruno Haible  <bruno@clisp.org>
12711
12712         Tests for module 'unicase/totitle'.
12713         * modules/unicase/totitle-tests: New file.
12714
12715         Tests for module 'unicase/tolower'.
12716         * modules/unicase/tolower-tests: New file.
12717
12718         Tests for module 'unicase/toupper'.
12719         * modules/unicase/toupper-tests: New file.
12720         * tests/unicase/test-mapping-part1.h: New file.
12721         * tests/unicase/test-mapping-part2.h: New file.
12722
12723         New module 'unicase/totitle'.
12724         * modules/unicase/totitle: New file.
12725         * lib/unicase/totitle.c: New file.
12726
12727         New module 'unicase/tolower'.
12728         * modules/unicase/tolower: New file.
12729         * lib/unicase/tolower.c: New file.
12730
12731         New module 'unicase/toupper'.
12732         * modules/unicase/toupper: New file.
12733         * lib/unicase/toupper.c: New file.
12734         * lib/unicase/simple-mapping.h: New file.
12735
12736         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
12737         (mapping_table): New structure.
12738         (output_simple_mapping): New function.
12739         (main): Invoke output_simple_mapping_test and output_simple_mapping.
12740         * modules/gen-uni-tables (Description): Update.
12741         * lib/unicase/toupper.h: New file, automatically generated by
12742         gen-uni-tables.
12743         * lib/unicase/tolower.h: New file, automatically generated by
12744         gen-uni-tables.
12745         * lib/unicase/totitle.h: New file, automatically generated by
12746         gen-uni-tables.
12747         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
12748         gen-uni-tables.
12749         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
12750         gen-uni-tables.
12751         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
12752         gen-uni-tables.
12753
12754         New module 'unicase/base'.
12755         * modules/unicase/base: New file.
12756         * lib/unicase.h: New file.
12757
12758 2009-02-08  Bruno Haible  <bruno@clisp.org>
12759
12760         New module 'uniwbrk/ulc-wordbreaks'.
12761         * modules/uniwbrk/ulc-wordbreaks: New file.
12762         * lib/uniwbrk/ulc-wordbreaks.c: New file.
12763
12764         New module 'uniwbrk/u32-wordbreaks'.
12765         * modules/uniwbrk/u32-wordbreaks: New file.
12766         * lib/uniwbrk/u32-wordbreaks.c: New file.
12767
12768         New module 'uniwbrk/u16-wordbreaks'.
12769         * modules/uniwbrk/u16-wordbreaks: New file.
12770         * lib/uniwbrk/u16-wordbreaks.c: New file.
12771
12772         New module 'uniwbrk/u8-wordbreaks'.
12773         * modules/uniwbrk/u8-wordbreaks: New file.
12774         * lib/uniwbrk/u8-wordbreaks.c: New file.
12775         * lib/uniwbrk/u-wordbreaks.h: New file.
12776
12777         New module 'uniwbrk/table'.
12778         * modules/uniwbrk/table: New file.
12779         * lib/uniwbrk/wbrktable.h: New file.
12780         * lib/uniwbrk/wbrktable.c: New file.
12781
12782         New module 'uniwbrk/wordbreak-property'.
12783         * modules/uniwbrk/wordbreak-property: New file.
12784         * lib/uniwbrk/wordbreak-property.c: New file.
12785
12786         * lib/gen-uni-tables.c (WBP_*): New enum items.
12787         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
12788         (unicode_org_wbp): New variable.
12789         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
12790         New functions.
12791         (wbp_table): New structure.
12792         (output_wbp, output_wbrk_tables): New functions.
12793         (main): Accept additional argument. Invoke fill_org_wbp,
12794         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
12795         output_wbrk_tables.
12796         * modules/gen-uni-tables (Description): Update.
12797         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
12798         gen-uni-tables.
12799
12800         New module 'uniwbrk/base'.
12801         * modules/uniwbrk/base: New file.
12802         * lib/uniwbrk.h: New file.
12803
12804 2009-02-08  Bruno Haible  <bruno@clisp.org>
12805
12806         Update to Unicode 5.1.0.
12807         * lib/gen-uni-tables.c (is_property_alphabetic): Include
12808         U+2185..U+2188.
12809         (is_property_default_ignorable_code_point): Don't include characters
12810         of category Cc or Cs and not-a-characters.
12811         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
12812         U+0D79, U+109E, U+109F, U+A60C.
12813         * lib/unictype/bidi_of.h: Regenerated.
12814         * lib/unictype/blocks.h: Regenerated.
12815         * lib/unictype/categ_C.h: Regenerated.
12816         * lib/unictype/categ_Cf.h: Regenerated.
12817         * lib/unictype/categ_Cn.h: Regenerated.
12818         * lib/unictype/categ_L.h: Regenerated.
12819         * lib/unictype/categ_Ll.h: Regenerated.
12820         * lib/unictype/categ_Lm.h: Regenerated.
12821         * lib/unictype/categ_Lo.h: Regenerated.
12822         * lib/unictype/categ_Lu.h: Regenerated.
12823         * lib/unictype/categ_M.h: Regenerated.
12824         * lib/unictype/categ_Mc.h: Regenerated.
12825         * lib/unictype/categ_Me.h: Regenerated.
12826         * lib/unictype/categ_Mn.h: Regenerated.
12827         * lib/unictype/categ_N.h: Regenerated.
12828         * lib/unictype/categ_Nd.h: Regenerated.
12829         * lib/unictype/categ_Nl.h: Regenerated.
12830         * lib/unictype/categ_No.h: Regenerated.
12831         * lib/unictype/categ_P.h: Regenerated.
12832         * lib/unictype/categ_Pd.h: Regenerated.
12833         * lib/unictype/categ_Pe.h: Regenerated.
12834         * lib/unictype/categ_Pf.h: Regenerated.
12835         * lib/unictype/categ_Pi.h: Regenerated.
12836         * lib/unictype/categ_Po.h: Regenerated.
12837         * lib/unictype/categ_Ps.h: Regenerated.
12838         * lib/unictype/categ_S.h: Regenerated.
12839         * lib/unictype/categ_Sk.h: Regenerated.
12840         * lib/unictype/categ_Sm.h: Regenerated.
12841         * lib/unictype/categ_So.h: Regenerated.
12842         * lib/unictype/categ_of.h: Regenerated.
12843         * lib/unictype/combining.h: Regenerated.
12844         * lib/unictype/ctype_alnum.h: Regenerated.
12845         * lib/unictype/ctype_alpha.h: Regenerated.
12846         * lib/unictype/ctype_graph.h: Regenerated.
12847         * lib/unictype/ctype_lower.h: Regenerated.
12848         * lib/unictype/ctype_print.h: Regenerated.
12849         * lib/unictype/ctype_punct.h: Regenerated.
12850         * lib/unictype/ctype_upper.h: Regenerated.
12851         * lib/unictype/decdigit.h: Regenerated.
12852         * lib/unictype/digit.h: Regenerated.
12853         * lib/unictype/mirror.h: Regenerated.
12854         * lib/unictype/numeric.h: Regenerated.
12855         * lib/unictype/pr_alphabetic.h: Regenerated.
12856         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
12857         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
12858         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
12859         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
12860         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
12861         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
12862         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
12863         * lib/unictype/pr_combining.h: Regenerated.
12864         * lib/unictype/pr_dash.h: Regenerated.
12865         * lib/unictype/pr_decimal_digit.h: Regenerated.
12866         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
12867         * lib/unictype/pr_deprecated.h: Regenerated.
12868         * lib/unictype/pr_diacritic.h: Regenerated.
12869         * lib/unictype/pr_extender.h: Regenerated.
12870         * lib/unictype/pr_format_control.h: Regenerated.
12871         * lib/unictype/pr_grapheme_base.h: Regenerated.
12872         * lib/unictype/pr_grapheme_extend.h: Regenerated.
12873         * lib/unictype/pr_grapheme_link.h: Regenerated.
12874         * lib/unictype/pr_id_continue.h: Regenerated.
12875         * lib/unictype/pr_id_start.h: Regenerated.
12876         * lib/unictype/pr_ideographic.h: Regenerated.
12877         * lib/unictype/pr_ignorable_control.h: Regenerated.
12878         * lib/unictype/pr_lowercase.h: Regenerated.
12879         * lib/unictype/pr_math.h: Regenerated.
12880         * lib/unictype/pr_numeric.h: Regenerated.
12881         * lib/unictype/pr_other_alphabetic.h: Regenerated.
12882         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
12883         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
12884         * lib/unictype/pr_other_id_continue.h: Regenerated.
12885         * lib/unictype/pr_other_lowercase.h: Regenerated.
12886         * lib/unictype/pr_other_math.h: Regenerated.
12887         * lib/unictype/pr_punctuation.h: Regenerated.
12888         * lib/unictype/pr_sentence_terminal.h: Regenerated.
12889         * lib/unictype/pr_soft_dotted.h: Regenerated.
12890         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
12891         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
12892         * lib/unictype/pr_unified_ideograph.h: Regenerated.
12893         * lib/unictype/pr_uppercase.h: Regenerated.
12894         * lib/unictype/pr_xid_continue.h: Regenerated.
12895         * lib/unictype/pr_xid_start.h: Regenerated.
12896         * lib/unictype/pr_zero_width.h: Regenerated.
12897         * lib/unictype/scripts.h: Regenerated.
12898         * lib/unictype/scripts_byname.gperf: Regenerated.
12899         * lib/unictype/sy_java_ident.h: Regenerated.
12900         * lib/unilbrk/lbrkprop1.h: Regenerated.
12901         * lib/unilbrk/lbrkprop2.h: Regenerated.
12902         * tests/unictype/test-categ_C.c: Regenerated.
12903         * tests/unictype/test-categ_Cf.c: Regenerated.
12904         * tests/unictype/test-categ_Cn.c: Regenerated.
12905         * tests/unictype/test-categ_L.c: Regenerated.
12906         * tests/unictype/test-categ_Ll.c: Regenerated.
12907         * tests/unictype/test-categ_Lm.c: Regenerated.
12908         * tests/unictype/test-categ_Lo.c: Regenerated.
12909         * tests/unictype/test-categ_Lu.c: Regenerated.
12910         * tests/unictype/test-categ_M.c: Regenerated.
12911         * tests/unictype/test-categ_Mc.c: Regenerated.
12912         * tests/unictype/test-categ_Me.c: Regenerated.
12913         * tests/unictype/test-categ_Mn.c: Regenerated.
12914         * tests/unictype/test-categ_N.c: Regenerated.
12915         * tests/unictype/test-categ_Nd.c: Regenerated.
12916         * tests/unictype/test-categ_Nl.c: Regenerated.
12917         * tests/unictype/test-categ_No.c: Regenerated.
12918         * tests/unictype/test-categ_P.c: Regenerated.
12919         * tests/unictype/test-categ_Pd.c: Regenerated.
12920         * tests/unictype/test-categ_Pe.c: Regenerated.
12921         * tests/unictype/test-categ_Pf.c: Regenerated.
12922         * tests/unictype/test-categ_Pi.c: Regenerated.
12923         * tests/unictype/test-categ_Po.c: Regenerated.
12924         * tests/unictype/test-categ_Ps.c: Regenerated.
12925         * tests/unictype/test-categ_S.c: Regenerated.
12926         * tests/unictype/test-categ_Sk.c: Regenerated.
12927         * tests/unictype/test-categ_Sm.c: Regenerated.
12928         * tests/unictype/test-categ_So.c: Regenerated.
12929         * tests/unictype/test-ctype_alnum.c: Regenerated.
12930         * tests/unictype/test-ctype_alpha.c: Regenerated.
12931         * tests/unictype/test-ctype_graph.c: Regenerated.
12932         * tests/unictype/test-ctype_lower.c: Regenerated.
12933         * tests/unictype/test-ctype_print.c: Regenerated.
12934         * tests/unictype/test-ctype_punct.c: Regenerated.
12935         * tests/unictype/test-ctype_upper.c: Regenerated.
12936         * tests/unictype/test-decdigit.h: Regenerated.
12937         * tests/unictype/test-digit.h: Regenerated.
12938         * tests/unictype/test-numeric.h: Regenerated.
12939         * tests/unictype/test-pr_alphabetic.c: Regenerated.
12940         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
12941         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
12942         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
12943         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
12944         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
12945         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
12946         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
12947         * tests/unictype/test-pr_combining.c: Regenerated.
12948         * tests/unictype/test-pr_dash.c: Regenerated.
12949         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
12950         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
12951         * tests/unictype/test-pr_deprecated.c: Regenerated.
12952         * tests/unictype/test-pr_diacritic.c: Regenerated.
12953         * tests/unictype/test-pr_extender.c: Regenerated.
12954         * tests/unictype/test-pr_format_control.c: Regenerated.
12955         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
12956         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
12957         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
12958         * tests/unictype/test-pr_id_continue.c: Regenerated.
12959         * tests/unictype/test-pr_id_start.c: Regenerated.
12960         * tests/unictype/test-pr_ideographic.c: Regenerated.
12961         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
12962         * tests/unictype/test-pr_lowercase.c: Regenerated.
12963         * tests/unictype/test-pr_math.c: Regenerated.
12964         * tests/unictype/test-pr_numeric.c: Regenerated.
12965         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
12966         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
12967         Regenerated.
12968         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
12969         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
12970         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
12971         * tests/unictype/test-pr_other_math.c: Regenerated.
12972         * tests/unictype/test-pr_punctuation.c: Regenerated.
12973         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
12974         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
12975         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
12976         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
12977         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
12978         * tests/unictype/test-pr_uppercase.c: Regenerated.
12979         * tests/unictype/test-pr_xid_continue.c: Regenerated.
12980         * tests/unictype/test-pr_xid_start.c: Regenerated.
12981         * tests/unictype/test-pr_zero_width.c: Regenerated.
12982
12983         Update to Unicode 5.1.0.
12984         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
12985         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
12986         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
12987         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
12988         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
12989         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
12990         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
12991         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
12992         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
12993         (nonspacing_table_ind): Update.
12994         * tests/uniwidth/test-uc_width2.sh: Update expected result.
12995
12996         Update to Unicode 5.1.0.
12997         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
12998         code transform.
12999         * lib/uniname/uniname.c (unicode_character_name,
13000         unicode_name_character): Add the range 0x1Fxxx to the code transform.
13001         * lib/uniname/uninames.h: Regenerated.
13002         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
13003
13004 2009-02-07  Bruno Haible  <bruno@clisp.org>
13005
13006         Merge gen-ctype and gen-lbrk into a single program.
13007         * lib/gen-uni-tables.c: New file, incorporating
13008         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
13009         Add directory prefixes to the names of the generated files.
13010         * lib/unictype/gen-ctype.c: Remove file.
13011         * lib/unilbrk/gen-lbrk.c: Remove file.
13012         * modules/gen-uni-tables: New file.
13013         * modules/unictype/gen-ctype: Remove file.
13014         * modules/unilbrk/gen-lbrk: Remove file.
13015
13016 2009-02-07  Bruno Haible  <bruno@clisp.org>
13017
13018         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
13019
13020         New module 'unistr/u32-strcoll'.
13021         * modules/unistr/u32-strcoll: New file.
13022         * lib/unistr/u32-strcoll.c: New file.
13023
13024         New module 'unistr/u16-strcoll'.
13025         * modules/unistr/u16-strcoll: New file.
13026         * lib/unistr/u16-strcoll.c: New file.
13027
13028         New module 'unistr/u8-strcoll'.
13029         * modules/unistr/u8-strcoll: New file.
13030         * lib/unistr/u8-strcoll.c: New file.
13031         * lib/unistr/u-strcoll.h: New file.
13032
13033 2009-02-07  Bruno Haible  <bruno@clisp.org>
13034
13035         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
13036         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
13037         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
13038         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
13039         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
13040         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
13041
13042 2009-02-07  Bruno Haible  <bruno@clisp.org>
13043
13044         Make 64-bit clean.
13045         * lib/unictype/gen-ctype.c (output_predicate, output_category,
13046         output_combclass, output_bidi_category, output_decimal_digit,
13047         output_digit, output_numeric, output_mirror, output_scripts,
13048         output_ident_category): Use proper width specifier in format strings.
13049
13050 2009-02-07  Bruno Haible  <bruno@clisp.org>
13051
13052         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
13053         failure behaviour.
13054
13055 2009-02-07  Jim Meyering  <meyering@redhat.com>
13056
13057         regex: avoid compilation failure with upcoming gcc-4.4
13058         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
13059         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
13060         "... error: integer overflow in preprocessor expression".
13061
13062 2009-02-05  Ben Pfaff  <blp@gnu.org>
13063
13064         Fix link errors on Windows when close module is used.
13065         * modules/close: Add $(LIB_CLOSE) to Link section.
13066         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
13067         $(LIB_CLOSE) on Windows.
13068
13069 2009-02-05  Jim Meyering  <meyering@redhat.com>
13070
13071         still avoid unused-parameter warnings, but do it cleanly
13072         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
13073         (get_fs_usage): Cast to void instead.
13074         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
13075         (dev_from_mount_options, read_file_system_list): Cast to void.
13076         Prompted by Bruno Haible.
13077
13078 2009-02-04  Jim Meyering  <meyering@redhat.com>
13079
13080         fsusage.c: correct copyright year
13081         * lib/fsusage.c: Reflect year in which the change is pushed into
13082
13083         avoid misc. warnings
13084         * lib/fsusage.c (UNUSED_PARAM): Define.
13085         (get_fs_usage): Mark parameter "disk" as unused.
13086         * lib/getugroups.c (getgrent): Use "void" in prototype.
13087         * lib/mountlist.c: Mark unused parameters.
13088         (read_file_system_list): Declare a local with "const".
13089         * lib/nanosleep.c (getnow): Declare static.
13090         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
13091
13092         dirfd: set errno upon failure
13093         * lib/dirfd.c: Include <errno.h>.
13094         Set errno to ENOTSUP when returning -1.
13095         * modules/dirfd (Depends-on): Add errno.
13096         Suggested by John Kodis <kodis@comcast.net>.
13097
13098 2009-02-01  Bruno Haible  <bruno@clisp.org>
13099
13100         Don't assume sizeof (long) >= sizeof (void *).
13101         * lib/memcmp.c: Include stdint.h.
13102         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
13103         srcp2 to 'const byte *'.
13104         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
13105         types to uintptr_t.
13106         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
13107         * modules/memcmp (Depends-on): Add stdint.
13108         Reported by Ozkan Sezer <sezeroz@gmail.com>.
13109
13110 2009-01-30  Eric Blake  <ebb9@byu.net>
13111
13112         fix more require-before-expand issues
13113         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
13114         expand, AC_PROG_AWK.
13115         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
13116
13117 2009-01-28  Eric Blake  <ebb9@byu.net>
13118
13119         version-etc: use consistent URL formatting
13120         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
13121         Improve formatting.  Use fputs for string without %.
13122
13123 2009-01-28  Jim Meyering  <meyering@redhat.com>
13124
13125         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
13126         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
13127         "underquoted definition of NAME" from autoconf-2.59.
13128
13129 2009-01-28  Bruno Haible  <bruno@clisp.org>
13130
13131         * doc/gnulib.texi: Add "Obsolete modules" to index.
13132
13133 2009-01-28  Jim Meyering  <meyering@redhat.com>
13134
13135         useless-if-before-free: recognize more variants
13136         * build-aux/useless-if-before-free: Also recognize e.g.,
13137         if (NULL != p) free (p);
13138
13139 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
13140
13141         test-getaddrinfo: skip (don't fail) this test when there's no network
13142         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
13143         on the presumption that it means you lack network access.
13144
13145 2009-01-26  Jim Meyering  <meyering@redhat.com>
13146
13147         fflush: avoid warnings on modern systems
13148         * lib/fflush.c (rpl_fflush): Move declarations of locals,
13149         pos and result, into scopes where they're used.
13150
13151 2009-01-26  Eric Blake  <ebb9@byu.net>
13152
13153         Silence warning reintroduced by recent extensions patch.
13154         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
13155         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
13156         autoconf.
13157
13158         Backport improved autoconf semantics of AC_DEFUN_ONCE.
13159         * m4/00gnulib.m4: New file.
13160         * gnulib-tool (func_get_filelist): Always use it.
13161         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
13162         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
13163
13164 2009-01-25  Bruno Haible  <bruno@clisp.org>
13165
13166         Make test-quotearg work on MacOS X and AIX.
13167         * tests/test-quotearg.sh: New file.
13168         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
13169         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
13170         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
13171         include <libintl.h>.
13172         (fake_locale): Remove variable.
13173         (gettext, dgettext, dcgettext): Remove functions.
13174         (main): Instead of setting a fake locale, set a real locale. Call
13175         textdomain and bindtextdomain.
13176         * modules/quotearg-tests (Files): Add the new files.
13177         (Depends-on): Add gettext, setenv, unsetenv.
13178         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
13179         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
13180         Augment TESTS_ENVIRONMENT.
13181
13182 2009-01-25  Bruno Haible  <bruno@clisp.org>
13183
13184         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
13185         fr_FR.ISO8859-1 locale on MacOS X.
13186         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
13187         ja_JP.eucJP locale on MacOS X.
13188         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
13189         zh_CN.GB18030 locale on MacOS X.
13190
13191 2009-01-25  Bruno Haible  <bruno@clisp.org>
13192
13193         Avoid link errors on MacOS X 10.3.
13194         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
13195         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
13196
13197 2009-01-25  Bruno Haible  <bruno@clisp.org>
13198
13199         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
13200         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
13201         * modules/pipe (Files): Remove m4/posix_spawn.m4.
13202         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
13203         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
13204         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
13205         posix_spawnattr_init, posix_spawnattr_setsigmask,
13206         posix_spawnattr_setflags, posix_spawnattr_destroy.
13207
13208         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
13209         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
13210         * modules/execute (Files): Remove m4/posix_spawn.m4.
13211         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
13212         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
13213         posix_spawnattr_init, posix_spawnattr_setsigmask,
13214         posix_spawnattr_setflags, posix_spawnattr_destroy.
13215
13216 2009-01-25  Bruno Haible  <bruno@clisp.org>
13217
13218         * lib/glthread/threadlib.c: Include <stdlib.h>.
13219
13220 2009-01-25  Bruno Haible  <bruno@clisp.org>
13221
13222         * lib/glthread/threadlib.c (dummy): New declaration.
13223
13224 2009-01-25  Bruno Haible  <bruno@clisp.org>
13225
13226         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
13227         multibyte characters also for the GB18030 encoding. Don't crash when
13228         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
13229
13230 2009-01-25  Bruno Haible  <bruno@clisp.org>
13231
13232         Avoid redefining 'struct random_data' on OSF/1 5.1.
13233         * lib/stdlib.in.h: Include <random.h> if it exists.
13234         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
13235         HAVE_RANDOM_H. Include <random.h> when testing whether
13236         'struct random_data' exists.
13237         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
13238
13239 2009-01-25  Bruno Haible  <bruno@clisp.org>
13240
13241         Don't install charset.alias on MacOS X >= 10.3.
13242         * lib/localcharset.c (DARWIN7): New macro.
13243         (get_charset_aliases): Hardcode the result for Darwin7.
13244         * modules/localcharset (install-exec-local): Don't install
13245         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
13246
13247 2009-01-25  Bruno Haible  <bruno@clisp.org>
13248
13249         Don't install charset.alias on mingw and Cygwin.
13250         * modules/localcharset (install-exec-local): Don't install
13251         charset.alias on mingw and Cygwin, if the file does not yet exist.
13252         The result for these platforms is hardcoded in localcharset.c.
13253
13254 2009-01-25  Bruno Haible  <bruno@clisp.org>
13255
13256         Make it possible again to use AC_GNU_SOURCE together with gnulib.
13257         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
13258         before requiring AC_USE_SYSTEM_EXTENSIONS.
13259
13260 2009-01-25  Jim Meyering  <meyering@redhat.com>
13261
13262         c-strtod: avoid warnings
13263         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
13264         "assignment discards qualifiers from pointer target type" warnings.
13265
13266 2009-01-24  Bruno Haible  <bruno@clisp.org>
13267
13268         Add support for non-UTF-8 locales on MacOS X.
13269         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
13270         canonical encodings. For Darwin 7 and newer, don't map traditional
13271         encodings to UTF-8.
13272         Reported by Vincent Lefevre <vincent@vinc17.org>
13273         at <http://savannah.gnu.org/bugs/?25235>.
13274
13275 2009-01-24  Bruno Haible  <bruno@clisp.org>
13276
13277         * doc/gnulib.texi (Obsolete modules): New section.
13278         Reported by Mike Frysinger <vapier@gentoo.org>.
13279
13280 2009-01-24  Bruno Haible  <bruno@clisp.org>
13281
13282         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
13283         (%.dvi): New rule.
13284
13285 2009-01-24  Bruno Haible  <bruno@clisp.org>
13286
13287         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
13288         Reported by Eric Blake.
13289
13290 2009-01-24  Bruno Haible  <bruno@clisp.org>
13291
13292         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
13293         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
13294         Reported by Gary V. Vaughan <gary@gnu.org>.
13295
13296 2009-01-24  Bruno Haible  <bruno@clisp.org>
13297
13298         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
13299
13300 2009-01-23  Bruno Haible  <bruno@clisp.org>
13301
13302         Make c-strtod, c-strtold usable in libraries.
13303         * lib/c-strtod.c: Include string.h instead of xalloc.h.
13304         (C_STRTOD): Call strdup instead of xstrdup.
13305         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
13306         * modules/c-strtold (Depends-on): Likewise.
13307         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
13308         * NEWS: Mention the change.
13309         Reported by Michael Gold <mgold@ncf.ca>.
13310
13311 2009-01-23  Jim Meyering  <meyering@redhat.com>
13312
13313         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
13314         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
13315         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
13316
13317 2009-01-23  Simon Josefsson  <simon@josefsson.org>
13318
13319         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
13320         GNU CoreUtils.
13321         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
13322         * modules/version-etc (Description): Update.
13323
13324 2009-01-22  Bruno Haible  <bruno@clisp.org>
13325
13326         Cache the C locale object.
13327         * lib/c-strtod.c (c_locale_cache): New variable.
13328         (c_locale): New function.
13329         (C_STRTOD): Use it, and don't call freelocale.
13330         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
13331         Suggested by Paolo Bonzini.
13332
13333 2009-01-21  Bruno Haible  <bruno@clisp.org>
13334
13335         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
13336         conditions other than overflow.
13337
13338 2009-01-21  Bruno Haible  <bruno@clisp.org>
13339
13340         * lib/c-strtod.c: Include errno.h.
13341         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
13342         value from STRTOD_L and STRTOD.
13343
13344 2009-01-21  Bruno Haible  <bruno@clisp.org>
13345         and Jim Meyering  <meyering@redhat.com>
13346
13347         nanosleep: skip configure test (fail it) for apple universal builds
13348         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
13349         universal builds, assume that nanosleep does not work.
13350         * modules/nanosleep (Depends-on): Add multiarch.
13351
13352         mktime: skip configure test (fail it) for apple universal builds
13353         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
13354         universal builds, assume that mktime does not work.
13355         * modules/mktime (Depends-on): Add multiarch.
13356
13357 2009-01-21  Eric Blake  <ebb9@byu.net>
13358
13359         multiarch: avoid expand-before-require warning
13360         * modules/multiarch (configure.ac): Require, rather than expand,
13361         gl_MULTIARCH.
13362         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
13363         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
13364         enforce that all clients require it.  Partial reversion of
13365         2008-12-29 patch.
13366
13367         error: avoid expand-before-require warning
13368         * modules/errno (configure.ac): Require, rather than expand,
13369         gl_HEADER_ERRNO_H.
13370         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
13371         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
13372         enforce that all clients require it.
13373
13374         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
13375         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
13376         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
13377         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
13378
13379 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
13380
13381         Revert:
13382         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
13383
13384         regex: do not depend on obsolete modules.
13385         * modules/regex: Remove memcmp and memmove.
13386
13387 2009-01-20  Bruno Haible  <bruno@clisp.org>
13388
13389         Make the 'link' module link on Windows NT 4.
13390         * lib/link.c (_WIN32_WINNT): Don't define.
13391         (CreateHardLinkFuncType): New type.
13392         (CreateHardLinkFunc, initialized): New variables.
13393         (initialize): New function.
13394         (link): Invoke CreateHardLink indirectly through the function pointer.
13395
13396 2009-01-20  Bruno Haible  <bruno@clisp.org>
13397
13398         Fix compilation failure on mingw.
13399         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
13400
13401 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
13402
13403         * doc/c-strtod.texi: Mention a couple of restrictions.
13404
13405 2009-01-20  Jim Meyering  <meyering@redhat.com>
13406
13407         gettimeofday: move more declarations out of functions
13408         * lib/gettimeofday.c: Move extern declarations of tzset and
13409         gmtime out of containing functions.  Prompted by Bruno Haible.
13410
13411 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
13412
13413         regex: do not depend on obsolete modules.
13414         * modules/regex: Remove memcmp and memmove.
13415
13416 2009-01-19  Bruno Haible  <bruno@clisp.org>
13417
13418         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
13419         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
13420         gl_BIGENDIAN, not AC_C_BIGENDIAN.
13421         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
13422         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
13423
13424 2009-01-19  Bruno Haible  <bruno@clisp.org>
13425
13426         * tests/test-link.c: Include <errno.h>.
13427         (main): Exit with code 77 when a hard link cannot be created due to
13428         the file system.
13429         * tests/test-link.sh: Skip test when a hard link cannot be created due
13430         to the file system.
13431         Suggested by Eric Blake.
13432
13433 2009-01-19  Martin Lambers  <marlam@marlam.de>
13434
13435         * modules/link-tests: New file.
13436         * tests/test-link.sh: New file.
13437         * tests/test-link.c: New file.
13438
13439 2009-01-19  Eric Blake  <ebb9@byu.net>
13440
13441         doc: mention another function added in cygwin 1.7.0
13442         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
13443         Another new function in cygwin 1.7.
13444
13445 2009-01-19  Bruno Haible  <bruno@clisp.org>
13446
13447         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
13448         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
13449         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
13450         gl_BIGENDIAN, not AC_C_BIGENDIAN.
13451         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
13452         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
13453         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
13454         * m4/md4.m4 (gl_MD4): Likewise.
13455         * m4/md5.m4 (gl_MD5): Likewise.
13456         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
13457         * m4/sha1.m4 (gl_SHA1): Likewise.
13458         * m4/sha256.m4 (gl_SHA256): Likewise.
13459         * m4/sha512.m4 (gl_SHA512): Likewise.
13460
13461 2009-01-19  Bruno Haible  <bruno@clisp.org>
13462
13463         * modules/uniname/uniname-tests (Depends-on): Add progname.
13464         * tests/uniname/test-uninames.c: Include progname.h.
13465         (main): Call set_program_name.
13466
13467         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
13468         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
13469         (main): Call set_program_name.
13470
13471         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
13472         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
13473         (main): Call set_program_name.
13474
13475         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
13476         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
13477         (main): Call set_program_name.
13478
13479         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
13480         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
13481         (main): Call set_program_name.
13482
13483         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
13484         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
13485         (main): Call set_program_name.
13486
13487         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
13488         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
13489         (main): Call set_program_name.
13490
13491         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
13492         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
13493         (main): Call set_program_name.
13494
13495         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
13496         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
13497         (main): Call set_program_name.
13498
13499 2009-01-19  Eric Blake  <ebb9@byu.net>
13500
13501         test-unistd: test previous patch
13502         * tests/test-unistd.c: Test *_FILENO macros.
13503
13504         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
13505         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
13506         Guarantee a definition.
13507         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
13508         * modules/unistd-safer (Depends-on): Add dependency on unistd.
13509         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
13510         * lib/dup-safer.c (STDERR_FILENO): Likewise.
13511         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
13512         Likewise.
13513         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
13514         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
13515         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
13516         Likewise.
13517         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
13518         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
13519         (STDERR_FILENO): Likewise.
13520         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
13521         (STDERR_FILENO): Likewise.
13522         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
13523         (STDERR_FILENO): Likewise.
13524         Reported by Elbert Pol.
13525
13526 2009-01-19  Eric Blake  <ebb9@byu.net>
13527
13528         doc: mention more functions added in cygwin 1.7.0
13529         * doc/posix-functions/abort.texi (abort): Update wording related
13530         to cygwin.
13531         * doc/posix-functions/daylight.texi (daylight): Likewise.
13532         * doc/posix-functions/optarg.texi (optarg): Likewise.
13533         * doc/posix-functions/optarg.texi (opterr): Likewise.
13534         * doc/posix-functions/optarg.texi (optind): Likewise.
13535         * doc/posix-functions/optarg.texi (optopt): Likewise.
13536         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
13537         worked in 1.5.x, and was withdrawn in 1.7.
13538         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
13539         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
13540         cygwin versions.
13541         * doc/posix-functions/perror.texi (perror): Likewise.
13542         * doc/posix-functions/printf.texi (printf): Likewise.
13543         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
13544         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
13545         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
13546         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
13547         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
13548         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
13549         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
13550         Likewise.
13551         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
13552         Likewise.
13553         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
13554         this function.
13555         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
13556         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
13557         Likewise.
13558         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
13559         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
13560         * doc/posix-functions/confstr.texi (confstr): Likewise.
13561         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
13562         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
13563         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
13564         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
13565         * doc/posix-functions/fputws.texi (fputws): Likewise.
13566         * doc/posix-functions/fwide.texi (fwide): Likewise.
13567         * doc/posix-functions/getwc.texi (getwc): Likewise.
13568         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
13569         * doc/posix-functions/putwc.texi (putwc): Likewise.
13570         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
13571         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
13572         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
13573         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
13574         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
13575         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
13576         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
13577         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
13578         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
13579         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
13580         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
13581
13582 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
13583
13584         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
13585         * lib/ioctl.c: Include <sys/ioctl.h>.
13586
13587 2009-01-19  Simon Josefsson  <simon@josefsson.org>
13588
13589         * modules/getdate-tests (Depends-on): Add progname.
13590         * tests/test-getdate.c: Use progname module, to avoid link errors
13591         on non-glibc systems.
13592
13593 2009-01-18  Simon Josefsson  <simon@josefsson.org>
13594
13595         * modules/filenamecat-tests (Depends-on): Add progname.
13596         * modules/fstrcmp-tests (Depends-on): Likewise.
13597
13598         * tests/test-filenamecat.c: Use progname module, to avoid link
13599         errors on non-glibc systems.
13600         * tests/test-fstrcmp.c: Likewise.
13601
13602 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
13603
13604         gettimeofday: avoid warning: nested extern declaration of 'localtime'
13605         * lib/gettimeofday.c: Move extern declaration out of function.
13606
13607 2009-01-18  Bruno Haible  <bruno@clisp.org>
13608
13609         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
13610         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
13611         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
13612
13613 2009-01-18  Bruno Haible  <bruno@clisp.org>
13614
13615         * lib/strftime.c (MEMPCPY): Remove unused macro.
13616         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
13617
13618 2009-01-18  Martin Lambers  <marlam@marlam.de>
13619
13620         New module 'link'.
13621         * lib/unistd.in.h (link): New declaration.
13622         * lib/link.c: New file.
13623         * m4/link.m4: New file.
13624         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
13625         HAVE_LINK.
13626         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
13627         * modules/link: New file.
13628         * doc/posix-functions/link.texi: Mention the new module.
13629
13630 2009-01-18  Bruno Haible  <bruno@clisp.org>
13631
13632         * tests/test-avltree_list.c (main): Call set_program_name.
13633         * tests/test-avltree_oset.c (main): Likewise.
13634         * tests/test-obstack-printf.c: Include progname.h.
13635         (main): Call set_program_name.
13636         * tests/test-quotearg.c: Include progname.h.
13637         (main): Call set_program_name.
13638         * tests/test-xmemdup0.c: Include progname.h.
13639         (main): Call set_program_name.
13640
13641 2009-01-18  Bruno Haible  <bruno@clisp.org>
13642
13643         New module 'alphasort'.
13644         * lib/dirent.in.h (alphasort): New declaration.
13645         * lib/alphasort.c: New file, from glibc with modifications.
13646         * m4/alphasort.m4: New file.
13647         * modules/alphasort: New file.
13648         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
13649         HAVE_ALPHASORT.
13650         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
13651         HAVE_ALPHASORT.
13652         * doc/posix-functions/alphasort.texi: Mention the new module and the
13653         portability problems.
13654
13655 2009-01-18  Bruno Haible  <bruno@clisp.org>
13656
13657         New module 'scandir'.
13658         * lib/dirent.in.h (scandir): New declaration.
13659         * lib/scandir.c: New file, from glibc with modifications.
13660         * m4/scandir.m4: New file.
13661         * modules/scandir: New file.
13662         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
13663         HAVE_SCANDIR.
13664         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
13665         HAVE_SCANDIR.
13666         * doc/posix-functions/scandir.texi: Mention the new module and the
13667         portability problems.
13668
13669 2009-01-17  Bruno Haible  <bruno@clisp.org>
13670
13671         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
13672         Update documentation.
13673         (func_remove_suffix): Escape all dots in the suffix. Update
13674         documentation.
13675         (func_filter_filelist): Update documentation.
13676         Reported by Ralf Wildenhues.
13677
13678 2009-01-17  Bruno Haible  <bruno@clisp.org>
13679
13680         * modules/dprintf-posix-tests: New file.
13681         * tests/test-dprintf-posix.sh: New file.
13682         * tests/test-dprintf-posix.c: New file.
13683
13684         New modules 'dprintf', 'dprintf-posix'.
13685         * lib/stdio.in.h (dprintf): New declaration.
13686         * lib/dprintf.c: New file.
13687         * m4/dprintf.m4: New file.
13688         * m4/dprintf-posix.m4: New file.
13689         * modules/dprintf: New file.
13690         * modules/dprintf-posix: New file.
13691         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
13692         HAVE_DPRINTF, REPLACE_DPRINTF.
13693         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
13694         HAVE_DPRINTF, REPLACE_DPRINTF.
13695         * doc/posix-functions/dprintf.texi: Mention the new modules.
13696
13697 2009-01-17  Bruno Haible  <bruno@clisp.org>
13698
13699         * modules/vdprintf-posix-tests: New file.
13700         * tests/test-vdprintf-posix.sh: New file.
13701         * tests/test-vdprintf-posix.c: New file.
13702
13703         New modules 'vdprintf', 'vdprintf-posix'.
13704         * lib/stdio.in.h (vdprintf): New declaration.
13705         * lib/vdprintf.c: New file.
13706         * m4/vdprintf.m4: New file.
13707         * m4/vdprintf-posix.m4: New file.
13708         * modules/vdprintf: New file.
13709         * modules/vdprintf-posix: New file.
13710         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
13711         HAVE_VDPRINTF, REPLACE_VDPRINTF.
13712         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
13713         HAVE_VDPRINTF, REPLACE_VDPRINTF.
13714         * doc/posix-functions/vdprintf.texi: Mention the new modules.
13715
13716 2009-01-17  Bruno Haible  <bruno@clisp.org>
13717
13718         Fix replacement of fopen on mingw.
13719         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
13720         mingw.
13721
13722 2009-01-17  Bruno Haible  <bruno@clisp.org>
13723
13724         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
13725         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
13726
13727 2009-01-17  Bruno Haible  <bruno@clisp.org>
13728
13729         Avoid test-fflush2.sh failure on mingw.
13730         * tests/test-fflush2.c: Include binary-io.h.
13731         (main): Put standard input into binary mode.
13732         * modules/fflush-tests (Depends-on): Add binary-io.
13733
13734 2009-01-17  Bruno Haible  <bruno@clisp.org>
13735
13736         * lib/wchar.in.h: In another particular situation, include only the
13737         system's <wchar.h> file.
13738         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
13739         Reported by Albert Chin-A-Young <china@thewrittenword.com>
13740         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
13741
13742 2009-01-17  Bruno Haible  <bruno@clisp.org>
13743
13744         Support for stripping executables in --enable-relocatable.
13745         * build-aux/install-reloc: Expect one more argument, or an environment
13746         variable RELOC_STRIP_PROG. If set, strip the destination program and
13747         its wrapper.
13748         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
13749         RELOC_STRIP_PROG.
13750         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
13751         to set RELOCATABLE_STRIP.
13752         * NEWS: Mention the new Makefile requirement.
13753
13754 2009-01-17  Bruno Haible  <bruno@clisp.org>
13755
13756         * build-aux/install-reloc: Remove debugging information left over by
13757         C compiler on MacOS X.
13758
13759 2009-01-17  Bruno Haible  <bruno@clisp.org>
13760
13761         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
13762         * lib/progreloc.c (find_executable): Fix type of pointer passed to
13763         _NSGetExecutablePath.
13764
13765 2009-01-16  Jim Meyering  <meyering@redhat.com>
13766
13767         strerror: avoid warnings about discarding "const"
13768         * lib/strerror.c (rpl_strerror): Instead of returning a const
13769         string from each and every "case", use a variable, and add a single
13770         cast after the switch.
13771
13772 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
13773
13774         * lib/arpa_inet.in.h: Add extern "C" block for C++.
13775
13776 2009-01-16  Bruno Haible  <bruno@clisp.org>
13777
13778         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
13779         array initializer syntax that also works in C++ mode.
13780         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
13781
13782 2009-01-16  Jim Meyering  <meyering@redhat.com>
13783
13784         poll: suppress a warning
13785         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
13786         to ignore "...unsigned expression < 0 is always false" warnings.
13787
13788 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
13789
13790         poll: remove declarations of unused variables
13791         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
13792         sockbuf and optlen.
13793
13794 2009-01-15  Bruno Haible  <bruno@clisp.org>
13795
13796         Make fflush-after-ungetc POSIX compliant on BSD systems.
13797         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
13798         (clear_ungetc_buffer): Implement also for other systems.
13799         (rpl_fflush): On glibc systems, invoke
13800         clear_ungetc_buffer_preserving_position. Otherwise, invoke
13801         clear_ungetc_buffer after fetching the stream's position, not before.
13802
13803 2009-01-15  Bruno Haible  <bruno@clisp.org>
13804
13805         Make fflush-after-ungetc POSIX compliant on glibc systems.
13806         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
13807         after ungetc.
13808         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
13809         (rpl_fflush): On glibc systems, simply call the system's fflush
13810         function after clearing the ungetc buffer.
13811         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
13812         Instead, lseek only to the end of file, then use the system's fseeko
13813         for the rest. On glibc systems, reset the EOF indicator bit.
13814
13815 2009-01-15  Jim Meyering  <meyering@redhat.com>
13816
13817         openmp.m4: revert quote-adding change, for portability to older autoconf
13818         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
13819         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
13820         Simon Josefsson noticed the problem when using autoconf-2.61.
13821
13822 2009-01-15  Bruno Haible  <bruno@clisp.org>
13823
13824         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
13825         * tests/test-fflush2.c (ASSERT): Always fail.
13826         (main): Add two tests for fflush() after ungetc(), taking into account
13827         the Austin Group's clarification.
13828         Suggested by Eric Blake.
13829
13830 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
13831
13832         mktime.m4: remove K&R-style function prototypes
13833         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
13834         for the Sun C++ compiler.
13835
13836 2009-01-14  Bruno Haible  <bruno@clisp.org>
13837
13838         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
13839         while including <wchar.h>.
13840         * lib/wchar.in.h: In two particular situations on HP-UX, include only
13841         the system's <wchar.h> file.
13842         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
13843
13844 2009-01-14  Bruno Haible  <bruno@clisp.org>
13845
13846         * m4/csharp.m4: Don't mention gettext on the serial number line.
13847         * m4/csharpexec.m4: Likewise.
13848         * m4/eaccess.m4: Likewise.
13849         * m4/javaexec.m4: Likewise.
13850         * m4/sig_atomic_t.m4: Likewise.
13851         * m4/tmpdir.m4: Likewise.
13852         * m4/intldir.m4: Bump gettext version.
13853         * m4/lib-ld.m4: Likewise.
13854
13855 2009-01-14  Bruno Haible  <bruno@clisp.org>
13856
13857         * lib/progname.c (set_program_name): Add more comments.
13858         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
13859
13860 2009-01-14  Simon Josefsson  <simon@josefsson.org>
13861
13862         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
13863         were sys/stat.h does not define it.
13864
13865 2009-01-14  Jim Meyering  <meyering@redhat.com>
13866
13867         many *.m4 files: improve m4 quoting
13868         99% of this change was performed by running the following commands:
13869         git ls-files | grep '\.m4$' | xargs perl -pi \
13870           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
13871           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
13872           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
13873           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
13874         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
13875         The remainder were to add Copyright dates, increment serial numbers,
13876         undo some changes in comments, exclude m4/intl.m4, and add quotes
13877         around the "1" in ",1" where the unusual spacing prohibited the
13878         above regexps from doing the job.  For more details, see
13879         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
13880         * m4/acl.m4: Modified.
13881         * m4/afs.m4: Likewise.
13882         * m4/alloca.m4: Likewise.
13883         * m4/argp.m4: Likewise.
13884         * m4/argz.m4: Likewise.
13885         * m4/atexit.m4: Likewise.
13886         * m4/bison-i18n.m4: Likewise.
13887         * m4/bison.m4: Likewise.
13888         * m4/byteswap.m4: Likewise.
13889         * m4/c-stack.m4: Likewise.
13890         * m4/c-strtod.m4: Likewise.
13891         * m4/calloc.m4: Likewise.
13892         * m4/canonicalize-lgpl.m4: Likewise.
13893         * m4/chown.m4: Likewise.
13894         * m4/clock_time.m4: Likewise.
13895         * m4/codeset.m4: Likewise.
13896         * m4/copy-file.m4: Likewise.
13897         * m4/csharp.m4: Likewise.
13898         * m4/csharpcomp.m4: Likewise.
13899         * m4/csharpexec.m4: Likewise.
13900         * m4/d-ino.m4: Likewise.
13901         * m4/d-type.m4: Likewise.
13902         * m4/dirfd.m4: Likewise.
13903         * m4/double-slash-root.m4: Likewise.
13904         * m4/eaccess.m4: Likewise.
13905         * m4/eealloc.m4: Likewise.
13906         * m4/environ.m4: Likewise.
13907         * m4/errno_h.m4: Likewise.
13908         * m4/euidaccess.m4: Likewise.
13909         * m4/execute.m4: Likewise.
13910         * m4/fatal-signal.m4: Likewise.
13911         * m4/fchdir.m4: Likewise.
13912         * m4/fcntl_h.m4: Likewise.
13913         * m4/fileblocks.m4: Likewise.
13914         * m4/filenamecat.m4: Likewise.
13915         * m4/findprog.m4: Likewise.
13916         * m4/flexmember.m4: Likewise.
13917         * m4/fnmatch.m4: Likewise.
13918         * m4/fopen.m4: Likewise.
13919         * m4/fpending.m4: Likewise.
13920         * m4/fprintf-posix.m4: Likewise.
13921         * m4/free.m4: Likewise.
13922         * m4/frexp.m4: Likewise.
13923         * m4/frexpl.m4: Likewise.
13924         * m4/fsusage.m4: Likewise.
13925         * m4/ftruncate.m4: Likewise.
13926         * m4/gc-camellia.m4: Likewise.
13927         * m4/gc-random.m4: Likewise.
13928         * m4/gc.m4: Likewise.
13929         * m4/getaddrinfo.m4: Likewise.
13930         * m4/getcwd-abort-bug.m4: Likewise.
13931         * m4/getcwd-path-max.m4: Likewise.
13932         * m4/getdate.m4: Likewise.
13933         * m4/getdomainname.m4: Likewise.
13934         * m4/getgroups.m4: Likewise.
13935         * m4/gethostname.m4: Likewise.
13936         * m4/gethrxtime.m4: Likewise.
13937         * m4/getline.m4: Likewise.
13938         * m4/getloadavg.m4: Likewise.
13939         * m4/getndelim2.m4: Likewise.
13940         * m4/getpass.m4: Likewise.
13941         * m4/gettext.m4: Likewise.
13942         * m4/gettime.m4: Likewise.
13943         * m4/gettimeofday.m4: Likewise.
13944         * m4/gnulib-common.m4: Likewise.
13945         * m4/group-member.m4: Likewise.
13946         * m4/host-os.m4: Likewise.
13947         * m4/iconv.m4: Likewise.
13948         * m4/iconv_open.m4: Likewise.
13949         * m4/inet_ntop.m4: Likewise.
13950         * m4/inet_pton.m4: Likewise.
13951         * m4/inline.m4: Likewise.
13952         * m4/intldir.m4: Likewise.
13953         * m4/intlmacosx.m4: Likewise.
13954         * m4/intmax.m4: Likewise.
13955         * m4/intmax_t.m4: Likewise.
13956         * m4/inttypes.m4: Likewise.
13957         * m4/inttypes_h.m4: Likewise.
13958         * m4/inttypes-pri.m4: Likewise.
13959         * m4/isapipe.m4: Likewise.
13960         * m4/isnand.m4: Likewise.
13961         * m4/isnanf.m4: Likewise.
13962         * m4/isnanl.m4: Likewise.
13963         * m4/javacomp.m4: Likewise.
13964         * m4/javaexec.m4: Likewise.
13965         * m4/jm-winsz1.m4: Likewise.
13966         * m4/jm-winsz2.m4: Likewise.
13967         * m4/lchown.m4: Likewise.
13968         * m4/lcmessage.m4: Likewise.
13969         * m4/ldexpl.m4: Likewise.
13970         * m4/lib-ld.m4: Likewise.
13971         * m4/lib-link.m4: Likewise.
13972         * m4/libsigsegv.m4: Likewise.
13973         * m4/link-follow.m4: Likewise.
13974         * m4/localcharset.m4: Likewise.
13975         * m4/locale-fr.m4: Likewise.
13976         * m4/locale-ja.m4: Likewise.
13977         * m4/locale-tr.m4: Likewise.
13978         * m4/locale-zh.m4: Likewise.
13979         * m4/lock.m4: Likewise.
13980         * m4/longlong.m4: Likewise.
13981         * m4/ls-mntd-fs.m4: Likewise.
13982         * m4/lstat.m4: Likewise.
13983         * m4/malloc.m4: Likewise.
13984         * m4/mathl.m4: Likewise.
13985         * m4/mbrtowc.m4: Likewise.
13986         * m4/mbstate_t.m4: Likewise.
13987         * m4/mbswidth.m4: Likewise.
13988         * m4/memchr.m4: Likewise.
13989         * m4/memcmp.m4: Likewise.
13990         * m4/memcpy.m4: Likewise.
13991         * m4/memmem.m4: Likewise.
13992         * m4/memmove.m4: Likewise.
13993         * m4/mempcpy.m4: Likewise.
13994         * m4/memrchr.m4: Likewise.
13995         * m4/memset.m4: Likewise.
13996         * m4/minmax.m4: Likewise.
13997         * m4/mkdir-slash.m4: Likewise.
13998         * m4/mkdtemp.m4: Likewise.
13999         * m4/mktime.m4: Likewise.
14000         * m4/mmap-anon.m4: Likewise.
14001         * m4/mountlist.m4: Likewise.
14002         * m4/nanosleep.m4: Likewise.
14003         * m4/nls.m4: Likewise.
14004         * m4/nocrash.m4: Likewise.
14005         * m4/open.m4: Likewise.
14006         * m4/openat.m4: Likewise.
14007         * m4/openmp.m4: Likewise.
14008         * m4/pathmax.m4: Likewise.
14009         * m4/perl.m4: Likewise.
14010         * m4/physmem.m4: Likewise.
14011         * m4/pipe.m4: Likewise.
14012         * m4/po.m4: Likewise.
14013         * m4/poll.m4: Likewise.
14014         * m4/posixtm.m4: Likewise.
14015         * m4/posixver.m4: Likewise.
14016         * m4/printf-frexp.m4: Likewise.
14017         * m4/printf-frexpl.m4: Likewise.
14018         * m4/printf-posix.m4: Likewise.
14019         * m4/printf-posix-rpl.m4: Likewise.
14020         * m4/printf.m4: Likewise.
14021         * m4/progtest.m4: Likewise.
14022         * m4/putenv.m4: Likewise.
14023         * m4/readline.m4: Likewise.
14024         * m4/readlink.m4: Likewise.
14025         * m4/readutmp.m4: Likewise.
14026         * m4/realloc.m4: Likewise.
14027         * m4/regex.m4: Likewise.
14028         * m4/relocatable.m4: Likewise.
14029         * m4/relocatable-lib.m4: Likewise.
14030         * m4/rename-dest-slash.m4: Likewise.
14031         * m4/rename.m4: Likewise.
14032         * m4/rmdir-errno.m4: Likewise.
14033         * m4/rmdir.m4: Likewise.
14034         * m4/roundf.m4: Likewise.
14035         * m4/roundl.m4: Likewise.
14036         * m4/rpmatch.m4: Likewise.
14037         * m4/save-cwd.m4: Likewise.
14038         * m4/selinux-selinux-h.m4: Likewise.
14039         * m4/setenv.m4: Likewise.
14040         * m4/settime.m4: Likewise.
14041         * m4/sig2str.m4: Likewise.
14042         * m4/sig_atomic_t.m4: Likewise.
14043         * m4/signalblocking.m4: Likewise.
14044         * m4/signbit.m4: Likewise.
14045         * m4/sigpipe.m4: Likewise.
14046         * m4/sockets.m4: Likewise.
14047         * m4/sockpfaf.m4: Likewise.
14048         * m4/st_dm_mode.m4: Likewise.
14049         * m4/stat-time.m4: Likewise.
14050         * m4/stdbool.m4: Likewise.
14051         * m4/stdint.m4: Likewise.
14052         * m4/stdint_h.m4: Likewise.
14053         * m4/stpcpy.m4: Likewise.
14054         * m4/stpncpy.m4: Likewise.
14055         * m4/strcase.m4: Likewise.
14056         * m4/strchrnul.m4: Likewise.
14057         * m4/strcspn.m4: Likewise.
14058         * m4/strdup.m4: Likewise.
14059         * m4/strftime.m4: Likewise.
14060         * m4/strndup.m4: Likewise.
14061         * m4/strnlen.m4: Likewise.
14062         * m4/strpbrk.m4: Likewise.
14063         * m4/strptime.m4: Likewise.
14064         * m4/strsep.m4: Likewise.
14065         * m4/strtod.m4: Likewise.
14066         * m4/strtoimax.m4: Likewise.
14067         * m4/strtok_r.m4: Likewise.
14068         * m4/strtol.m4: Likewise.
14069         * m4/strtoll.m4: Likewise.
14070         * m4/strtoul.m4: Likewise.
14071         * m4/strtoull.m4: Likewise.
14072         * m4/strtoumax.m4: Likewise.
14073         * m4/strverscmp.m4: Likewise.
14074         * m4/threadlib.m4: Likewise.
14075         * m4/timegm.m4: Likewise.
14076         * m4/tm_gmtoff.m4: Likewise.
14077         * m4/tmpdir.m4: Likewise.
14078         * m4/tmpfile.m4: Likewise.
14079         * m4/tzset.m4: Likewise.
14080         * m4/uintmax_t.m4: Likewise.
14081         * m4/unlinkdir.m4: Likewise.
14082         * m4/unlocked-io.m4: Likewise.
14083         * m4/uptime.m4: Likewise.
14084         * m4/userspec.m4: Likewise.
14085         * m4/utimbuf.m4: Likewise.
14086         * m4/utime.m4: Likewise.
14087         * m4/utimes-null.m4: Likewise.
14088         * m4/utimes.m4: Likewise.
14089         * m4/vararrays.m4: Likewise.
14090         * m4/vasnprintf.m4: Likewise.
14091         * m4/vfprintf-posix.m4: Likewise.
14092         * m4/vprintf-posix.m4: Likewise.
14093         * m4/wait-process.m4: Likewise.
14094         * m4/wchar_t.m4: Likewise.
14095         * m4/wint_t.m4: Likewise.
14096         * m4/write-any-file.m4: Likewise.
14097         * m4/yield.m4: Likewise.
14098
14099 2009-01-13  Bruno Haible  <bruno@clisp.org>
14100
14101         Avoid test-copy-file.sh failures when ACL support insufficient.
14102         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
14103         TESTS_ENVIRONMENT.
14104         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
14105         Reported by Jim Meyering.
14106
14107 2009-01-13  Bruno Haible  <bruno@clisp.org>
14108
14109         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
14110         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
14111         * modules/unistdio/u8-printf-parse (Files): Likewise.
14112         * modules/unistdio/u32-printf-parse (Files): Likewise.
14113         * modules/unistdio/ulc-printf-parse (Files): Likewise.
14114
14115 2009-01-13  Simon Josefsson  <simon@josefsson.org>
14116
14117         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
14118         and m4/inttypes_h.m4 too.
14119
14120 2009-01-12  Eric Blake  <ebb9@byu.net>
14121
14122         tests: IRIX 6.2 cc can't compile -0.0 into .data
14123         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
14124         rather than at compile-time.
14125         * tests/test-floorl.c (minus_zero): Likewise.
14126         * tests/test-frexpl.c (minus_zero): Likewise.
14127         * tests/test-isnan.c (minus_zerol): Likewise.
14128         * tests/test-isnanl.h (minus_zero): Likewise.
14129         * tests/test-ldexpl.c (minus_zero): Likewise.
14130         * tests/test-roundl.c (minus_zero): Likewise.
14131         * tests/test-signbit.c (minus_zerol): Likewise.
14132         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
14133         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
14134         * tests/test-truncl.c (minus_zero): Likewise.
14135         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
14136         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
14137         Reported by Tom G. Christensen and Nelson H. F. Beebe.
14138
14139 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
14140
14141         regex: fix glibc bug 9697
14142         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
14143         handling.
14144
14145 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
14146
14147         regex: fix glibc bug 697
14148         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
14149         being NULL also if there are no backreferences.
14150
14151 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
14152
14153         regex: merge glibc changes
14154         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
14155         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
14156         re_string_skip_chars, re_string_reconstruct): Likewise.
14157         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
14158
14159 2009-01-07  Jim Meyering  <meyering@redhat.com>
14160
14161         poll: filter through cppi
14162         * lib/poll.c: Indent cpp directives to reflect nesting.
14163
14164 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
14165
14166         poll: don't return uninitialized
14167         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
14168
14169 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
14170
14171         avoid compile failure on AIX 6.1
14172         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
14173         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
14174
14175 2009-01-04  Jim Meyering  <meyering@redhat.com>
14176
14177         remove duplicate inclusion of <stdio.h>
14178         * tests/test-fprintf-posix.c: Likewise.
14179         * tests/test-printf-posix.c: Likewise.
14180         * tests/test-snprintf-posix.c: Likewise.
14181         * tests/test-sprintf-posix.c: Likewise.
14182         * tests/test-vasprintf-posix.c: Likewise.
14183         * tests/test-vfprintf-posix.c: Likewise.
14184         * tests/test-vprintf-posix.c: Likewise.
14185         * tests/test-vsnprintf-posix.c: Likewise.
14186         * tests/test-vsprintf-posix.c: Likewise.
14187
14188 2009-01-03  Jim Meyering  <meyering@redhat.com>
14189
14190         gnulib-tool: fix sed-based filtering
14191         * gnulib-tool (func_filter_filelist): Remove extra backslash
14192         in sed_fff_filter definition.
14193
14194 2009-01-02  Jim Meyering  <meyering@redhat.com>
14195
14196         strftime: avoid compilation failure on Solaris 2.6
14197         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
14198         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
14199         Don't #define mbrlen or mbsinit, since now they're guaranteed to
14200         be available.  Reported by Tom G. Christensen.  Details in
14201         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
14202
14203 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14204             Bruno Haible  <bruno@clisp.org>
14205
14206         Speed up gnulib-tool by doing more string processing through shell
14207         built-ins.
14208         * gnulib-tool (fast_func_append): New variable.
14209         (func_remove_prefix, func_remove_suffix): New functions.
14210         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
14211         (func_filter_filelist): New function.
14212         (func_get_dependencies): Use func_remove_suffix instead of sed.
14213         (func_get_automake_snippet): Use func_filter_filelist instead of a
14214         subshell and sed invocation.
14215
14216 2009-01-01  Bruno Haible  <bruno@clisp.org>
14217
14218         Fix a security bug.
14219         * gnulib-tool (func_import, import, update): Don't allow the characters
14220         '"', '$', '`', '\' in macro arguments that become part of commands that
14221         are evaluated.
14222
14223 2009-01-01  Bruno Haible  <bruno@clisp.org>
14224
14225         * gnulib-tool (func_reset_sigpipe): Add more comments.
14226
14227 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14228
14229         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
14230         func_emit_tests_Makefile_am, func_import): Abort loops early if we
14231         already know the answer.
14232
14233 2009-01-01  Jim Meyering  <meyering@redhat.com>
14234
14235         * lib/version-etc.c (version_etc_va): Update copyright year.
14236
14237 2008-12-30  Bruno Haible  <bruno@clisp.org>
14238
14239         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
14240         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
14241         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
14242
14243 2008-12-29  Eric Blake  <ebb9@byu.net>
14244
14245         multiarch: avoid autoconf AC_REQUIRE bug
14246         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
14247         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
14248         2.63 and older.
14249         Reported by Bruno Haible, and analyzed in
14250         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
14251
14252 2008-12-29  Bruno Haible  <bruno@clisp.org>
14253
14254         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
14255         files in subdirectories correctly.
14256         Reported by Ralf Wildenhues.
14257
14258 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14259
14260         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
14261         rather than 'join FILE -', for Solaris join.
14262
14263 2008-12-29  Bruno Haible  <bruno@clisp.org>
14264
14265         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
14266         quoting.
14267         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
14268         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
14269         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
14270         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
14271         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
14272         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
14273         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
14274         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
14275         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
14276         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
14277         * m4/nls.m4 (AM_NLS): Likewise.
14278         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
14279         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
14280         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
14281         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
14282         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
14283         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
14284         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
14285         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
14286         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
14287         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
14288         * m4/xsize.m4 (gl_XSIZE): Likewise.
14289         Suggested by Jim Meyering.
14290
14291 2008-11-17  Bruce Korb  <bkorb@gnu.org>
14292
14293         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
14294         * lib/parse-duration.c: use a switch instead of cascading if's.
14295
14296 2008-12-29  Eric Blake  <ebb9@byu.net>
14297
14298         wchar.h: supply WEOF on Irix 5.3
14299         * lib/wchar.in.h (wint_t): Also supply WEOF.
14300         * lib/wctype.in.h (wint_t): Likewise.
14301         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
14302         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
14303         Reported by Tom G. Christensen.
14304
14305 2008-12-26  Bruno Haible  <bruno@clisp.org>
14306
14307         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
14308         i486, i586, i686.
14309
14310 2008-12-26  Bruno Haible  <bruno@clisp.org>
14311
14312         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
14313
14314 2008-12-26  Bruno Haible  <bruno@clisp.org>
14315
14316         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
14317         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
14318         not __STDC_CONSTANT_MACROS.
14319         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
14320
14321 2008-12-25  Bruno Haible  <bruno@clisp.org>
14322
14323         Add support for universal builds to vasnprintf.
14324         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
14325         universal builds, guess no.
14326         * modules/vasnprintf-posix (Depends-on): Add multiarch.
14327         * modules/vasprintf-posix (Depends-on): Likewise.
14328         * modules/fprintf-posix (Depends-on): Likewise.
14329         * modules/vfprintf-posix (Depends-on): Likewise.
14330         * modules/snprintf-posix (Depends-on): Likewise.
14331         * modules/vsnprintf-posix (Depends-on): Likewise.
14332         * modules/sprintf-posix (Depends-on): Likewise.
14333         * modules/vsprintf-posix (Depends-on): Likewise.
14334         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
14335         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
14336         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
14337         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
14338         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
14339         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
14340         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
14341
14342         Add support for universal builds to <inttypes.h>.
14343         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
14344         _SCNu64_PREFIX): In Apple
14345         universal builds, define directly, using _LP64.
14346         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
14347         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
14348         * modules/inttypes (Depends-on): Add multiarch.
14349         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
14350
14351         Add support for universal builds to <stdint.h>.
14352         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
14353         universal builds, define directly, using _LP64.
14354         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
14355         Apple universal builds, don't test for the size and suffix of ptrdiff_t
14356         and size_t.
14357         * modules/stdint (Depends-on): Add multiarch.
14358         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
14359
14360         New module 'multiarch'.
14361         * modules/multiarch: New file.
14362         * m4/multiarch.m4: New file.
14363
14364 2008-12-25  Bruno Haible  <bruno@clisp.org>
14365
14366         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
14367
14368 2008-12-25  Bruno Haible  <bruno@clisp.org>
14369
14370         * modules/btowc (License): Relicense under LGPLv2+.
14371         * modules/mbsinit (License): Likewise.
14372         * modules/mbrtowc (License): Likewise.
14373         * modules/wcrtomb (License): Likewise.
14374         * modules/streq (License): Likewise.
14375         Reported by David Lutterkort <lutter@redhat.com>.
14376
14377 2008-12-23  Bruno Haible  <bruno@clisp.org>
14378
14379         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
14380
14381 2008-12-23  Bruno Haible  <bruno@clisp.org>
14382
14383         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
14384         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
14385         GETADDRINFO_LIB, not in LIBS.
14386         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
14387         * modules/canon-host (Link): Likewise.
14388         * NEWS: Mention the change.
14389         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
14390         GETADDRINFO_LIB.
14391
14392 2008-12-22  Bruno Haible  <bruno@clisp.org>
14393
14394         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
14395         * doc/posix-functions/iswalpha_l.texi: Likewise.
14396         * doc/posix-functions/iswblank_l.texi: Likewise.
14397         * doc/posix-functions/iswcntrl_l.texi: Likewise.
14398         * doc/posix-functions/iswctype_l.texi: Likewise.
14399         * doc/posix-functions/iswdigit_l.texi: Likewise.
14400         * doc/posix-functions/iswgraph_l.texi: Likewise.
14401         * doc/posix-functions/iswlower_l.texi: Likewise.
14402         * doc/posix-functions/iswprint_l.texi: Likewise.
14403         * doc/posix-functions/iswpunct_l.texi: Likewise.
14404         * doc/posix-functions/iswspace_l.texi: Likewise.
14405         * doc/posix-functions/iswupper_l.texi: Likewise.
14406         * doc/posix-functions/iswxdigit_l.texi: Likewise.
14407         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
14408         * doc/posix-functions/open_wmemstream.texi: Likewise.
14409         * doc/posix-functions/swscanf.texi: Likewise.
14410         * doc/posix-functions/towctrans_l.texi: Likewise.
14411         * doc/posix-functions/towlower.texi: Likewise.
14412         * doc/posix-functions/towlower_l.texi: Likewise.
14413         * doc/posix-functions/towupper.texi: Likewise.
14414         * doc/posix-functions/towupper_l.texi: Likewise.
14415         * doc/posix-functions/vfwprintf.texi: Likewise.
14416         * doc/posix-functions/vfwscanf.texi: Likewise.
14417         * doc/posix-functions/vswscanf.texi: Likewise.
14418         * doc/posix-functions/vwprintf.texi: Likewise.
14419         * doc/posix-functions/vwscanf.texi: Likewise.
14420         * doc/posix-functions/wcpcpy.texi: Likewise.
14421         * doc/posix-functions/wcpncpy.texi: Likewise.
14422         * doc/posix-functions/wcscasecmp.texi: Likewise.
14423         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
14424         * doc/posix-functions/wcscoll_l.texi: Likewise.
14425         * doc/posix-functions/wcsdup.texi: Likewise.
14426         * doc/posix-functions/wcsncasecmp.texi: Likewise.
14427         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
14428         * doc/posix-functions/wcsnlen.texi: Likewise.
14429         * doc/posix-functions/wcsnrtombs.texi: Likewise.
14430         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
14431         * doc/posix-functions/wctrans_l.texi: Likewise.
14432         * doc/posix-functions/wctype_l.texi: Likewise.
14433         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
14434         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
14435         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
14436         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
14437         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
14438         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
14439         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
14440         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
14441         * doc/glibc-functions/wcschrnul.texi: Likewise.
14442         * doc/glibc-functions/wcsftime_l.texi: Likewise.
14443         * doc/glibc-functions/wcstod_l.texi: Likewise.
14444         * doc/glibc-functions/wcstof_l.texi: Likewise.
14445         * doc/glibc-functions/wcstol_l.texi: Likewise.
14446         * doc/glibc-functions/wcstold_l.texi: Likewise.
14447         * doc/glibc-functions/wcstoll_l.texi: Likewise.
14448         * doc/glibc-functions/wcstoq.texi: Likewise.
14449         * doc/glibc-functions/wcstoul_l.texi: Likewise.
14450         * doc/glibc-functions/wcstoull_l.texi: Likewise.
14451         * doc/glibc-functions/wcstouq.texi: Likewise.
14452         * doc/glibc-functions/wmempcpy.texi: Likewise.
14453
14454 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
14455             Eric Blake  <ebb9@byu.net>
14456             Paolo Bonzini  <bonzini@gnu.org>
14457             Bruno Haible  <bruno@clisp.org>
14458
14459         Make c-stack work on Haiku.
14460         * lib/c-stack.c (SA_ONSTACK): Define fallback.
14461         (c_stack_action): Use SA_ONSTACK flag.
14462
14463 2008-12-22  Bruno Haible  <bruno@clisp.org>
14464
14465         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
14466
14467 2008-12-22  Bruno Haible  <bruno@clisp.org>
14468
14469         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
14470         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
14471         being overridden.
14472         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
14473         New macros.
14474         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
14475         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
14476         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
14477         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
14478
14479 2008-12-22  Bruno Haible  <bruno@clisp.org>
14480
14481         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
14482         from test code.
14483
14484 2008-12-22  Eric Blake  <ebb9@byu.net>
14485
14486         Avoid gcc warnings on cygwin.
14487         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
14488         Avoid unused variable.
14489         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
14490         Likewise.
14491
14492 2008-12-22  Bruno Haible  <bruno@clisp.org>
14493
14494         Remove HAVE_MBRTOWC conditionals.
14495         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
14496         (mbscasecmp): Assume mbrtowc function.
14497         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
14498         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
14499         * lib/mbschr.c: Include mbuiter.h unconditionally.
14500         (mbschr): Assume mbrtowc function.
14501         * lib/mbscspn.c: Include mbuiter.h unconditionally.
14502         (mbscspn): Assume mbrtowc function.
14503         * lib/mbslen.c: Include mbuiter.h unconditionally.
14504         (mbslen): Assume mbrtowc function.
14505         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
14506         (mbsncasecmp): Assume mbrtowc function.
14507         * lib/mbsnlen.c: Include mbiter.h unconditionally.
14508         (mbsnlen): Assume mbrtowc function.
14509         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
14510         (mbspbrk): Assume mbrtowc function.
14511         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
14512         (mbspcasecmp): Assume mbrtowc function.
14513         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
14514         (mbsrchr): Assume mbrtowc function.
14515         * lib/mbssep.c: Include mbuiter.h unconditionally.
14516         (mbssep): Assume mbrtowc function.
14517         * lib/mbsspn.c: Include mbuiter.h unconditionally.
14518         (mbsspn): Assume mbrtowc function.
14519         * lib/mbsstr.c: Include mbuiter.h unconditionally.
14520         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
14521         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
14522         (mbstok_r): Assume mbrtowc function.
14523         * lib/propername.c: Include mbuiter.h unconditionally.
14524         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
14525         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
14526         (trim2): Assume mbrtowc function.
14527         * lib/mbswidth.c (mbsinit): Remove fallback definition.
14528         (mbsnwidth): Assume mbrtowc function.
14529         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
14530         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
14531         fallback definitions.
14532         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
14533
14534 2008-12-22  Bruno Haible  <bruno@clisp.org>
14535
14536         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
14537
14538 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
14539
14540         * modules/regex: Request emulations for the mb*/wc* functions we need.
14541         * m4/regex.m4: Don't look for those functions here.
14542         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
14543
14544 2008-12-22  Bruno Haible  <bruno@clisp.org>
14545
14546         * modules/fnmatch (Depends-on): Remove duplicated dependency.
14547
14548 2008-12-21  Bruno Haible  <bruno@clisp.org>
14549
14550         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
14551         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
14552         (Include): Remove conditionalization.
14553         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
14554         (Include): Remove conditionalization.
14555         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
14556         (Include): Remove conditionalization.
14557         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
14558         * m4/mbfile.m4 (gl_MBFILE): Likewise.
14559         * NEWS: Mention the change.
14560         Reported by Alan Hourihane <alanh@fairlite.co.uk>
14561         via Sergey Poznyakoff <gray@gnu.org.ua>.
14562
14563 2008-12-21  Bruno Haible  <bruno@clisp.org>
14564
14565         * MODULES.html.sh (Extended multibyte and wide character utilities
14566         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
14567         wcrtomb, wcsrtombs.
14568         (Support for systems lacking POSIX:2008): Add accept, bind, close,
14569         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
14570         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
14571         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
14572
14573 2008-12-21  Bruno Haible  <bruno@clisp.org>
14574
14575         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
14576
14577 2008-12-21  Bruno Haible  <bruno@clisp.org>
14578
14579         * modules/wcsnrtombs-tests: New file.
14580         * tests/test-wcsnrtombs1.sh: New file.
14581         * tests/test-wcsnrtombs2.sh: New file.
14582         * tests/test-wcsnrtombs3.sh: New file.
14583         * tests/test-wcsnrtombs4.sh: New file.
14584         * tests/test-wcsnrtombs.c: New file.
14585
14586         New module 'wcsnrtombs'.
14587         * lib/wchar.in.h (wcsnrtombs): New declaration.
14588         * lib/wcsnrtombs.c: New file.
14589         * lib/wcsrtombs-state.c: New file.
14590         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
14591         (internal_state): Remove variable.
14592         * m4/wcsnrtombs.m4: New file.
14593         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
14594         compilation units.
14595         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
14596         HAVE_WCSNRTOMBS.
14597         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
14598         HAVE_WCSNRTOMBS.
14599         * modules/wcsnrtombs: New file.
14600         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
14601         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
14602
14603 2008-12-21  Bruno Haible  <bruno@clisp.org>
14604
14605         * modules/wcsrtombs-tests: New file.
14606         * tests/test-wcsrtombs1.sh: New file.
14607         * tests/test-wcsrtombs2.sh: New file.
14608         * tests/test-wcsrtombs3.sh: New file.
14609         * tests/test-wcsrtombs4.sh: New file.
14610         * tests/test-wcsrtombs.c: New file.
14611
14612         New module 'wcsrtombs'.
14613         * lib/wchar.in.h (wcsrtombs): New declaration.
14614         * lib/wcsrtombs.c: New file.
14615         * m4/wcsrtombs.m4: New file.
14616         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
14617         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
14618         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
14619         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
14620         * modules/wcsrtombs: New file.
14621         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
14622         bugs.
14623
14624 2008-12-21  Bruno Haible  <bruno@clisp.org>
14625
14626         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
14627         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
14628         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
14629         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
14630         if not correct.
14631         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
14632         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
14633         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
14634         m4/locale-zh.m4, m4/codeset.m4.
14635         * doc/posix-functions/wcrtomb.texi: Document the bug.
14636
14637 2008-12-21  Bruno Haible  <bruno@clisp.org>
14638
14639         Work around a btowc() bug on IRIX 6.5.
14640         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
14641         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
14642         REPLACE_WTOBC if not.
14643         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
14644         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
14645         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
14646
14647 2008-12-21  Bruno Haible  <bruno@clisp.org>
14648
14649         * modules/wcrtomb-tests: New file.
14650         * tests/test-wcrtomb.sh: New file.
14651         * tests/test-wcrtomb.c: New file.
14652
14653         New module 'wcrtomb'.
14654         * lib/wchar.in.h (wcrtomb): New declaration.
14655         * lib/wcrtomb.c: New file.
14656         * m4/wcrtomb.m4: New file.
14657         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
14658         HAVE_WCRTOMB.
14659         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
14660         HAVE_WCRTOMB.
14661         * modules/wcrtomb: New file.
14662         * doc/posix-functions/wcrtomb.texi: Mention the new module.
14663
14664 2008-12-21  Bruno Haible  <bruno@clisp.org>
14665
14666         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
14667         * modules/mbsrtowcs (Files): Likewise.
14668         * modules/wctob (Files): Likewise.
14669         * modules/c-strcase-tests (Files): Likewise.
14670         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
14671         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
14672         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
14673         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
14674         * modules/vasnprintf-posix-tests (Files): Likewise.
14675
14676 2008-12-21  William Pursell  <bill.pursell@gmail.com>
14677
14678         gitlog-to-changelog: pass all command-line arguments to git-log
14679         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
14680         it is sometimes convenient to filter the commits in various ways.
14681         gitlog-to-changelog only allows --since to specify a start date,
14682         but git-log itself supports many other filtering mechanisms.
14683         At the moment, I want to filter by branch name.  Rather than
14684         adding a --branch option to gitlog-to-changelog, it seems more
14685         flexible to simply pass all options directly to git-log and let
14686         git do the work.  Notice that this effectively makes --since a
14687         redundant option for gitlog-to-changelog, but removing it would
14688         require current usage to change since calls would then require
14689         an additional '--'.
14690
14691 2008-12-21  Bruno Haible  <bruno@clisp.org>
14692
14693         * modules/mbsnrtowcs-tests: New file.
14694         * tests/test-mbsnrtowcs1.sh: New file.
14695         * tests/test-mbsnrtowcs2.sh: New file.
14696         * tests/test-mbsnrtowcs3.sh: New file.
14697         * tests/test-mbsnrtowcs4.sh: New file.
14698         * tests/test-mbsnrtowcs.c: New file.
14699
14700         New module 'mbsnrtowcs'.
14701         * lib/wchar.in.h (mbsnrtowcs): New declaration.
14702         * lib/mbsnrtowcs.c: New file.
14703         * lib/mbsrtowcs-state.c: New file.
14704         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
14705         (internal_state): Remove variable.
14706         * m4/mbsnrtowcs.m4: New file.
14707         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
14708         compilation units.
14709         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
14710         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
14711         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
14712         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
14713         * modules/mbsnrtowcs: New file.
14714         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
14715         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
14716         portability problem.
14717
14718 2008-12-21  Bruno Haible  <bruno@clisp.org>
14719
14720         Work around mbsrtowcs bug.
14721         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
14722         (gl_FUNC_MBSRTOWCS): Invoke it.
14723         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
14724         m4/locale-zh.m4.
14725         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
14726
14727 2008-12-21  Bruno Haible  <bruno@clisp.org>
14728
14729         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
14730
14731 2008-12-21  Bruno Haible  <bruno@clisp.org>
14732
14733         Update doc for AIX.
14734         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
14735         16-bit wchar_t type.
14736         * doc/posix-functions/btowc.texi: Likewise.
14737         * doc/posix-functions/fgetwc.texi: Likewise.
14738         * doc/posix-functions/fgetws.texi: Likewise.
14739         * doc/posix-functions/fputwc.texi: Likewise.
14740         * doc/posix-functions/fputws.texi: Likewise.
14741         * doc/posix-functions/fwide.texi: Likewise.
14742         * doc/posix-functions/fwprintf.texi: Likewise.
14743         * doc/posix-functions/fwscanf.texi: Likewise.
14744         * doc/posix-functions/getwchar.texi: Likewise.
14745         * doc/posix-functions/getwc.texi: Likewise.
14746         * doc/posix-functions/iswalnum.texi: Likewise.
14747         * doc/posix-functions/iswalpha.texi: Likewise.
14748         * doc/posix-functions/iswblank.texi: Likewise.
14749         * doc/posix-functions/iswcntrl.texi: Likewise.
14750         * doc/posix-functions/iswctype.texi: Likewise.
14751         * doc/posix-functions/iswdigit.texi: Likewise.
14752         * doc/posix-functions/iswgraph.texi: Likewise.
14753         * doc/posix-functions/iswlower.texi: Likewise.
14754         * doc/posix-functions/iswprint.texi: Likewise.
14755         * doc/posix-functions/iswpunct.texi: Likewise.
14756         * doc/posix-functions/iswspace.texi: Likewise.
14757         * doc/posix-functions/iswupper.texi: Likewise.
14758         * doc/posix-functions/iswxdigit.texi: Likewise.
14759         * doc/posix-functions/mbrtowc.texi: Likewise.
14760         * doc/posix-functions/mbsrtowcs.texi: Likewise.
14761         * doc/posix-functions/mbstowcs.texi: Likewise.
14762         * doc/posix-functions/mbtowc.texi: Likewise.
14763         * doc/posix-functions/putwchar.texi: Likewise.
14764         * doc/posix-functions/putwc.texi: Likewise.
14765         * doc/posix-functions/swprintf.texi: Likewise.
14766         * doc/posix-functions/tolower.texi: Likewise.
14767         * doc/posix-functions/toupper.texi: Likewise.
14768         * doc/posix-functions/towctrans.texi: Likewise.
14769         * doc/posix-functions/ungetwc.texi: Likewise.
14770         * doc/posix-functions/vswprintf.texi: Likewise.
14771         * doc/posix-functions/wcrtomb.texi: Likewise.
14772         * doc/posix-functions/wcscat.texi: Likewise.
14773         * doc/posix-functions/wcschr.texi: Likewise.
14774         * doc/posix-functions/wcscmp.texi: Likewise.
14775         * doc/posix-functions/wcscoll.texi: Likewise.
14776         * doc/posix-functions/wcscpy.texi: Likewise.
14777         * doc/posix-functions/wcscspn.texi: Likewise.
14778         * doc/posix-functions/wcsftime.texi: Likewise.
14779         * doc/posix-functions/wcslen.texi: Likewise.
14780         * doc/posix-functions/wcsncat.texi: Likewise.
14781         * doc/posix-functions/wcsncmp.texi: Likewise.
14782         * doc/posix-functions/wcsncpy.texi: Likewise.
14783         * doc/posix-functions/wcspbrk.texi: Likewise.
14784         * doc/posix-functions/wcsrchr.texi: Likewise.
14785         * doc/posix-functions/wcsrtombs.texi: Likewise.
14786         * doc/posix-functions/wcsspn.texi: Likewise.
14787         * doc/posix-functions/wcsstr.texi: Likewise.
14788         * doc/posix-functions/wcstod.texi: Likewise.
14789         * doc/posix-functions/wcstof.texi: Likewise.
14790         * doc/posix-functions/wcstoimax.texi: Likewise.
14791         * doc/posix-functions/wcstok.texi: Likewise.
14792         * doc/posix-functions/wcstold.texi: Likewise.
14793         * doc/posix-functions/wcstoll.texi: Likewise.
14794         * doc/posix-functions/wcstol.texi: Likewise.
14795         * doc/posix-functions/wcstombs.texi: Likewise.
14796         * doc/posix-functions/wcstoull.texi: Likewise.
14797         * doc/posix-functions/wcstoul.texi: Likewise.
14798         * doc/posix-functions/wcstoumax.texi: Likewise.
14799         * doc/posix-functions/wcswidth.texi: Likewise.
14800         * doc/posix-functions/wcsxfrm.texi: Likewise.
14801         * doc/posix-functions/wctob.texi: Likewise.
14802         * doc/posix-functions/wctomb.texi: Likewise.
14803         * doc/posix-functions/wctrans.texi: Likewise.
14804         * doc/posix-functions/wctype.texi: Likewise.
14805         * doc/posix-functions/wcwidth.texi: Likewise.
14806         * doc/posix-functions/wmemchr.texi: Likewise.
14807         * doc/posix-functions/wmemcmp.texi: Likewise.
14808         * doc/posix-functions/wmemcpy.texi: Likewise.
14809         * doc/posix-functions/wmemmove.texi: Likewise.
14810         * doc/posix-functions/wmemset.texi: Likewise.
14811         * doc/posix-functions/wprintf.texi: Likewise.
14812         * doc/posix-functions/wscanf.texi: Likewise.
14813
14814 2008-12-21  Bruno Haible  <bruno@clisp.org>
14815
14816         Update doc for HP-UX 11.11.
14817         * doc/posix-functions/btowc.texi: Clarify that the function is missing
14818         in HP-UX version 11.00, not in all versions of HP-UX 11.
14819         * doc/posix-functions/fwide.texi: Likewise.
14820         * doc/posix-functions/fwprintf.texi: Likewise.
14821         * doc/posix-functions/fwscanf.texi: Likewise.
14822         * doc/posix-functions/inet_ntop.texi: Likewise.
14823         * doc/posix-functions/inet_pton.texi: Likewise.
14824         * doc/posix-functions/mbrlen.texi: Likewise.
14825         * doc/posix-functions/mbrtowc.texi: Likewise.
14826         * doc/posix-functions/mbsinit.texi: Likewise.
14827         * doc/posix-functions/mbsrtowcs.texi: Likewise.
14828         * doc/posix-functions/swprintf.texi: Likewise.
14829         * doc/posix-functions/swscanf.texi: Likewise.
14830         * doc/posix-functions/towctrans.texi: Likewise.
14831         * doc/posix-functions/vfwprintf.texi: Likewise.
14832         * doc/posix-functions/vswprintf.texi: Likewise.
14833         * doc/posix-functions/vwprintf.texi: Likewise.
14834         * doc/posix-functions/wcrtomb.texi: Likewise.
14835         * doc/posix-functions/wcsrtombs.texi: Likewise.
14836         * doc/posix-functions/wcsstr.texi: Likewise.
14837         * doc/posix-functions/wctob.texi: Likewise.
14838         * doc/posix-functions/wctrans.texi: Likewise.
14839         * doc/posix-functions/wmemchr.texi: Likewise.
14840         * doc/posix-functions/wmemcmp.texi: Likewise.
14841         * doc/posix-functions/wmemcpy.texi: Likewise.
14842         * doc/posix-functions/wmemmove.texi: Likewise.
14843         * doc/posix-functions/wmemset.texi: Likewise.
14844         * doc/posix-functions/wprintf.texi: Likewise.
14845         * doc/posix-functions/wscanf.texi: Likewise.
14846
14847 2008-12-21  Bruno Haible  <bruno@clisp.org>
14848
14849         Work around a portability problem.
14850         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
14851         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
14852
14853 2008-12-20  Bruno Haible  <bruno@clisp.org>
14854
14855         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
14856         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
14857         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
14858         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
14859         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
14860
14861         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
14862         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
14863         set.
14864         (GNULIB_defined_mbstate_t): New macro.
14865         (mbsinit): Redefine if REPLACE_MBSINIT is set.
14866         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
14867         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
14868         reuses the system's mbrtowc function but works around the bugs.
14869         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
14870         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
14871         macros.
14872         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
14873         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
14874         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
14875         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
14876         REPLACE_MBSINIT if mbsinit needs to be overridden.
14877         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
14878         REPLACE_MBSINIT, REPLACE_MBRTOWC.
14879         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
14880         REPLACE_MBSINIT, REPLACE_MBRTOWC.
14881         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
14882         m4/locale-zh.m4.
14883         (Depends): Add mbsinit.
14884         * modules/mbsinit (Depends): Add mbrtowc.
14885         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
14886
14887 2008-12-20  Bruno Haible  <bruno@clisp.org>
14888
14889         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
14890         so that there are no conversion errors on AIX.
14891         * tests/test-mbsrtowcs.c (main): LIkewise.
14892
14893 2008-12-20  Bruno Haible  <bruno@clisp.org>
14894
14895         Work around wctob bug on Solaris <= 9.
14896         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
14897         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
14898         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
14899         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
14900         * modules/wctob (Files): Add m4/locale-fr.m4.
14901         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
14902
14903 2008-12-20  Bruno Haible  <bruno@clisp.org>
14904
14905         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
14906         /dev/null.
14907         * tests/test-select-in.sh: Likewise.
14908         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14909
14910 2008-12-20  Bruno Haible  <bruno@clisp.org>
14911
14912         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
14913         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
14914         Cygwin 1.5.x.
14915
14916 2008-12-20  Bruno Haible  <bruno@clisp.org>
14917
14918         Ensure mbstate_t is defined on HP-UX 11.11.
14919         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
14920         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
14921         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
14922         AC_USE_SYSTEM_EXTENSIONS.
14923         * modules/fnmatch (Depends-on): Add extensions.
14924         * modules/mbrlen (Depends-on): Likewise.
14925         * modules/mbrtowc (Depends-on): Likewise.
14926         * modules/mbsinit (Depends-on): Likewise.
14927         * modules/mbsrtowcs (Depends-on): Likewise.
14928         * modules/mbswidth (Depends-on): Likewise.
14929         * modules/quotearg (Depends-on): Likewise.
14930         * modules/strftime (Depends-on): Likewise.
14931
14932 2008-12-20  Bruno Haible  <bruno@clisp.org>
14933
14934         Ensure wctob is declared on IRIX 6.5.
14935         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
14936         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
14937         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
14938         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
14939         of HAVE_WCTOB.
14940         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
14941         HAVE_WCTOB.
14942         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
14943
14944 2008-12-19  Bruno Haible  <bruno@clisp.org>
14945
14946         * modules/mbsrtowcs-tests: New file.
14947         * tests/test-mbsrtowcs1.sh: New file.
14948         * tests/test-mbsrtowcs2.sh: New file.
14949         * tests/test-mbsrtowcs3.sh: New file.
14950         * tests/test-mbsrtowcs4.sh: New file.
14951         * tests/test-mbsrtowcs.c: New file.
14952
14953         New module 'mbsrtowcs'.
14954         * lib/wchar.in.h (mbsrtowcs): New declaration.
14955         * lib/mbsrtowcs.c: New file.
14956         * m4/mbsrtowcs.m4: New file.
14957         * modules/mbsrtowcs: New file.
14958         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
14959         HAVE_MBSRTOWCS.
14960         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
14961         HAVE_MBSRTOWCS.
14962         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
14963
14964 2008-12-19  Bruno Haible  <bruno@clisp.org>
14965
14966         New module 'mbrlen'.
14967         * lib/wchar.in.h (mbrlen): New declaration.
14968         * lib/mbrlen.c: New file.
14969         * m4/mbrlen.m4: New file.
14970         * modules/mbrlen: New file.
14971         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
14972         HAVE_MBRLEN.
14973         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
14974         HAVE_MBRLEN.
14975         * doc/posix-functions/mbrlen.texi: Document the new module.
14976
14977 2008-12-19  Bruno Haible  <bruno@clisp.org>
14978
14979         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
14980         * modules/mbrtowc (Depends-on): Add verify.
14981         Suggested by Paul Eggert.
14982
14983 2008-12-18  Bruno Haible  <bruno@clisp.org>
14984
14985         * modules/mbsinit-tests: New file.
14986         * tests/test-mbsinit.sh: New file.
14987         * tests/test-mbsinit.c: New file.
14988
14989 2008-12-18  Bruno Haible  <bruno@clisp.org>
14990
14991         * modules/mbrtowc-tests: New file.
14992         * tests/test-mbrtowc1.sh: New file.
14993         * tests/test-mbrtowc2.sh: New file.
14994         * tests/test-mbrtowc3.sh: New file.
14995         * tests/test-mbrtowc4.sh: New file.
14996         * tests/test-mbrtowc.c: New file.
14997
14998         New module 'mbrtowc'.
14999         * lib/wchar.in.h (mbstate_t): Override when the system does not have
15000         mbsinit and mbrtowc.
15001         (mbrtowc): New declaration.
15002         * lib/mbrtowc.c: New file.
15003         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
15004         * modules/mbrtowc: New file.
15005         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
15006         HAVE_MBRTOWC.
15007         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
15008         HAVE_MBRTOWC.
15009         * doc/posix-functions/mbrtowc.texi: Document the new module.
15010
15011 2008-12-18  Bruno Haible  <bruno@clisp.org>
15012
15013         New module 'wctob'.
15014         * lib/wchar.in.h (wctob): New declaration.
15015         * lib/wctob.c: New file.
15016         * m4/wctob.m4: New file.
15017         * modules/wctob: New file.
15018         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
15019         HAVE_WCTOB.
15020         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
15021         * doc/posix-functions/wctob.texi: Document the new module.
15022
15023 2008-12-18  Bruno Haible  <bruno@clisp.org>
15024
15025         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
15026         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
15027
15028 2008-12-18  Simon Josefsson  <simon@josefsson.org>
15029
15030         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
15031         G. Christensen" <tgc@jupiterrise.com>.
15032
15033         * lib/flock.c: Need to include errno.h.  Reported by "Tom
15034         G. Christensen" <tgc@jupiterrise.com>.
15035
15036         * lib/flock.c: Need to include string.h.  Reported by "Tom
15037         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
15038         <ebb9@byu.net>.
15039
15040 2008-12-18  Bruno Haible  <bruno@clisp.org>
15041
15042         * m4/locale-ja.m4: New file, from GNU gettext.
15043
15044 2008-12-17  Bruno Haible  <bruno@clisp.org>
15045
15046         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
15047         Suggested by Eric Blake.
15048
15049 2008-12-17  Bruno Haible  <bruno@clisp.org>
15050
15051         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
15052
15053 2008-12-17  Bruno Haible  <bruno@clisp.org>
15054
15055         * lib/mbsinit.c: Include verify.h. Verify an assumption.
15056         * modules/mbsinit (Depends-on): Add verify.
15057         Suggested by Paul Eggert.
15058
15059 2008-12-17  Bruno Haible  <bruno@clisp.org>
15060
15061         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
15062         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
15063         gl_FUNC_MBRTOWC.
15064         * m4/mbiter.m4 (gl_MBITER): LIkewise.
15065         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
15066         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
15067         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
15068         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
15069         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
15070         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
15071         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
15072         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
15073         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
15074         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
15075         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
15076         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
15077         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
15078         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
15079         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
15080         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
15081         * modules/trim (configure.ac): Likewise.
15082
15083 2008-12-17  Bruno Haible  <bruno@clisp.org>
15084
15085         * modules/btowc-tests: New file.
15086         * tests/test-btowc1.sh: New file.
15087         * tests/test-btowc2.sh: New file.
15088         * tests/test-btowc.c: New file.
15089
15090         New module 'btowc'.
15091         * lib/wchar.in.h (btowc): New declaration.
15092         * lib/btowc.c: New file.
15093         * m4/btowc.m4: New file.
15094         * modules/btowc: New file.
15095         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
15096         HAVE_BTOWC.
15097         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
15098         * doc/posix-functions/btowc.texi: Document the new module.
15099
15100 2008-12-17  Bruno Haible  <bruno@clisp.org>
15101
15102         New module 'mbsinit'.
15103         * lib/wchar.in.h (mbsinit): New declaration.
15104         * lib/mbsinit.c: New file.
15105         * m4/mbsinit.m4: New file.
15106         * modules/mbsinit: New file.
15107         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
15108         HAVE_MBSINIT.
15109         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
15110         HAVE_MBSINIT.
15111         * doc/posix-functions/mbsinit.texi: Document the new module.
15112
15113 2008-12-16  Bruno Haible  <bruno@clisp.org>
15114
15115         * lib/unistd.in.h: Add comment.
15116         * tests/test-environ.c: Don't include <stdlib.h>.
15117
15118 2008-12-16  Bruno Haible  <bruno@clisp.org>
15119
15120         * lib/parse-duration.h (parse_duration): Document return value
15121         convention.
15122         * lib/parse-duration.c: Include specification header first. Add
15123         comments.
15124         (_): Remove macro.
15125         (parse_year_month_day, parse_hour_minute_second): Move side effects
15126         outside of strchr call.
15127         (parse_non_iso8601): Move side effects outside of isspace call.
15128         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
15129         call.
15130
15131 2008-12-16  Bruno Haible  <bruno@clisp.org>
15132
15133         * tests/test-parse-duration.sh: Produce no output when the test
15134         succeeds.
15135
15136 2008-12-16  Bruno Haible  <bruno@clisp.org>
15137
15138         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
15139         expressions.
15140
15141 2008-12-15  Bruno Haible  <bruno@clisp.org>
15142
15143         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
15144         * doc/glibc-functions/flistxattr.texi: Likewise.
15145         * doc/glibc-functions/fopencookie.texi: Likewise.
15146         * doc/glibc-functions/fremovexattr.texi: Likewise.
15147         * doc/glibc-functions/fsetxattr.texi: Likewise.
15148         * doc/glibc-functions/getxattr.texi: Likewise.
15149         * doc/glibc-functions/lgetxattr.texi: Likewise.
15150         * doc/glibc-functions/listxattr.texi: Likewise.
15151         * doc/glibc-functions/llistxattr.texi: Likewise.
15152         * doc/glibc-functions/lremovexattr.texi: Likewise.
15153         * doc/glibc-functions/lsetxattr.texi: Likewise.
15154         * doc/glibc-functions/removexattr.texi: Likewise.
15155         * doc/glibc-functions/setxattr.texi: Likewise.
15156         * doc/posix-functions/open_memstream.texi: Likewise.
15157
15158 2008-12-15  Eric Blake  <ebb9@byu.net>
15159
15160         Update doc for cygwin 1.7.
15161         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
15162         functions.
15163         * doc/posix-functions/fchmodat.texi: Likewise.
15164         * doc/posix-functions/fchownat.texi: Likewise.
15165         * doc/posix-functions/fdopendir.texi: Likewise.
15166         * doc/posix-functions/fmemopen.texi: Likewise.
15167         * doc/posix-functions/freeaddrinfo.texi: Likewise.
15168         * doc/posix-functions/fstatat.texi: Likewise.
15169         * doc/posix-functions/futimens.texi: Likewise.
15170         * doc/posix-functions/gai_strerror.texi: Likewise.
15171         * doc/posix-functions/getaddrinfo.texi: Likewise.
15172         * doc/posix-functions/getnameinfo.texi: Likewise.
15173         * doc/posix-functions/if_freenameindex.texi: Likewise.
15174         * doc/posix-functions/if_indextoname.texi: Likewise.
15175         * doc/posix-functions/if_nameindex.texi: Likewise.
15176         * doc/posix-functions/if_nametoindex.texi: Likewise.
15177         * doc/posix-functions/insque.texi: Likewise.
15178         * doc/posix-functions/linkat.texi: Likewise.
15179         * doc/posix-functions/llrint.texi: Likewise.
15180         * doc/posix-functions/llrintf.texi: Likewise.
15181         * doc/posix-functions/llrintl.texi: Likewise.
15182         * doc/posix-functions/lockf.texi: Likewise.
15183         * doc/posix-functions/lrintl.texi: Likewise.
15184         * doc/posix-functions/mkdirat.texi: Likewise.
15185         * doc/posix-functions/mkfifoat.texi: Likewise.
15186         * doc/posix-functions/mknodat.texi: Likewise.
15187         * doc/posix-functions/mq_close.texi: Likewise.
15188         * doc/posix-functions/mq_getattr.texi: Likewise.
15189         * doc/posix-functions/mq_notify.texi: Likewise.
15190         * doc/posix-functions/mq_open.texi: Likewise.
15191         * doc/posix-functions/mq_receive.texi: Likewise.
15192         * doc/posix-functions/mq_send.texi: Likewise.
15193         * doc/posix-functions/mq_setattr.texi: Likewise.
15194         * doc/posix-functions/mq_timedreceive.texi: Likewise.
15195         * doc/posix-functions/mq_timedsend.texi: Likewise.
15196         * doc/posix-functions/mq_unlink.texi: Likewise.
15197         * doc/posix-functions/open_memstream.texi: Likewise.
15198         * doc/posix-functions/openat.texi: Likewise.
15199         * doc/posix-functions/posix_fadvise.texi: Likewise.
15200         * doc/posix-functions/posix_fallocate.texi: Likewise.
15201         * doc/posix-functions/posix_madvise.texi: Likewise.
15202         * doc/posix-functions/posix_memalign.texi: Likewise.
15203         * doc/posix-functions/posix_openpt.texi: Likewise.
15204         * doc/posix-functions/readlinkat.texi: Likewise.
15205         * doc/posix-functions/remque.texi: Likewise.
15206         * doc/posix-functions/renameat.texi: Likewise.
15207         * doc/posix-functions/rintl.texi: Likewise.
15208         * doc/posix-functions/sem_unlink.texi: Likewise.
15209         * doc/posix-functions/shm_open.texi: Likewise.
15210         * doc/posix-functions/shm_unlink.texi: Likewise.
15211         * doc/posix-functions/signgam.texi: Likewise.
15212         * doc/posix-functions/sigset.texi: Likewise.
15213         * doc/posix-functions/stpcpy.texi: Likewise.
15214         * doc/posix-functions/stpncpy.texi: Likewise.
15215         * doc/posix-functions/strerror.texi: Likewise.
15216         * doc/posix-functions/strtod.texi: Likewise.
15217         * doc/posix-functions/symlinkat.texi: Likewise.
15218         * doc/posix-functions/unlinkat.texi: Likewise.
15219         * doc/posix-functions/utimensat.texi: Likewise.
15220         * doc/glibc-functions/bindresvport.texi: Likewise.
15221         * doc/glibc-functions/dn_expand.texi: Likewise.
15222         * doc/glibc-functions/exp10.texi: Likewise.
15223         * doc/glibc-functions/exp10f.texi: Likewise.
15224         * doc/glibc-functions/fgetxattr.texi: Likewise.
15225         * doc/glibc-functions/flistxattr.texi: Likewise.
15226         * doc/glibc-functions/fopencookie.texi: Likewise.
15227         * doc/glibc-functions/freeifaddrs.texi: Likewise.
15228         * doc/glibc-functions/fremovexattr.texi: Likewise.
15229         * doc/glibc-functions/fsetxattr.texi: Likewise.
15230         * doc/glibc-functions/getifaddrs.texi: Likewise.
15231         * doc/glibc-functions/getxattr.texi: Likewise.
15232         * doc/glibc-functions/lgetxattr.texi: Likewise.
15233         * doc/glibc-functions/listxattr.texi: Likewise.
15234         * doc/glibc-functions/llistxattr.texi: Likewise.
15235         * doc/glibc-functions/lremovexattr.texi: Likewise.
15236         * doc/glibc-functions/lsetxattr.texi: Likewise.
15237         * doc/glibc-functions/pow10.texi: Likewise.
15238         * doc/glibc-functions/pow10f.texi: Likewise.
15239         * doc/glibc-functions/rcmd_af.texi: Likewise.
15240         * doc/glibc-functions/removexattr.texi: Likewise.
15241         * doc/glibc-functions/res_init.texi: Likewise.
15242         * doc/glibc-functions/res_mkquery.texi: Likewise.
15243         * doc/glibc-functions/res_query.texi: Likewise.
15244         * doc/glibc-functions/res_querydomain.texi: Likewise.
15245         * doc/glibc-functions/res_send.texi: Likewise.
15246         * doc/glibc-functions/rresvport_af.texi: Likewise.
15247         * doc/glibc-functions/setxattr.texi: Likewise.
15248         * doc/glibc-functions/strcasestr.texi: Likewise.
15249
15250 2008-12-15  Bruno Haible  <bruno@clisp.org>
15251
15252         Fix compilation error on OSF/1 4.0.
15253         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
15254         <sys/time.h>, simply delegate to the system header.
15255         Reported by Daniel Richard G. <oss@teragram.com>.
15256
15257 2008-12-15  Bruno Haible  <bruno@clisp.org>
15258
15259         * doc/posix-functions/openat.texi: Mention the 'openat' module.
15260         * doc/posix-functions/fchmodat.texi: Likewise.
15261         * doc/posix-functions/fchownat.texi: Likewise.
15262         * doc/posix-functions/fdopendir.texi: Likewise.
15263         * doc/posix-functions/fstatat.texi: Likewise.
15264         * doc/posix-functions/mkdirat.texi: Likewise.
15265         * doc/posix-functions/unlinkat.texi: Likewise.
15266
15267 2008-12-14  Bruno Haible  <bruno@clisp.org>
15268
15269         Update doc for POSIX:2008.
15270         * doc/posix-functions/faccessat.texi: New file.
15271         * doc/posix-functions/fchmodat.texi: New file.
15272         * doc/posix-functions/fchownat.texi: New file.
15273         * doc/posix-functions/fdopendir.texi: New file.
15274         * doc/posix-functions/fstatat.texi: New file.
15275         * doc/posix-functions/futimens.texi: New file.
15276         * doc/posix-functions/linkat.texi: New file.
15277         * doc/posix-functions/mkdirat.texi: New file.
15278         * doc/posix-functions/mkfifoat.texi: New file.
15279         * doc/posix-functions/mknodat.texi: New file.
15280         * doc/posix-functions/open_wmemstream.texi: New file.
15281         * doc/posix-functions/openat.texi: New file.
15282         * doc/posix-functions/psiginfo.texi: New file.
15283         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
15284         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
15285         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
15286         * doc/posix-functions/readlinkat.texi: New file.
15287         * doc/posix-functions/renameat.texi: New file.
15288         * doc/posix-functions/strerror_l.texi: New file.
15289         * doc/posix-functions/symlinkat.texi: New file.
15290         * doc/posix-functions/unlinkat.texi: New file.
15291         * doc/posix-functions/utimensat.texi: New file.
15292         * doc/gnulib.texi (Function Substitutes): Add these subsections.
15293
15294 2008-12-14  Bruno Haible  <bruno@clisp.org>
15295
15296         Update doc for POSIX:2008.
15297         * doc/posix-functions/alphasort.texi: Renamed from
15298         doc/glibc-functions/alphasort.texi.
15299         * doc/posix-functions/dirfd.texi: Renamed from
15300         doc/glibc-functions/dirfd.texi.
15301         * doc/posix-functions/dprintf.texi: Renamed from
15302         doc/glibc-functions/dprintf.texi.
15303         * doc/posix-functions/duplocale.texi: Renamed from
15304         doc/glibc-functions/duplocale.texi.
15305         * doc/posix-functions/fexecve.texi: Renamed from
15306         doc/glibc-functions/fexecve.texi.
15307         * doc/posix-functions/fmemopen.texi: Renamed from
15308         doc/glibc-functions/fmemopen.texi.
15309         * doc/posix-functions/freelocale.texi: Renamed from
15310         doc/glibc-functions/freelocale.texi.
15311         * doc/posix-functions/getdate_err.texi: Renamed from
15312         doc/glibc-functions/getdate_err.texi.
15313         * doc/posix-functions/isalnum_l.texi: Renamed from
15314         doc/glibc-functions/isalnum_l.texi.
15315         * doc/posix-functions/isalpha_l.texi: Renamed from
15316         doc/glibc-functions/isalpha_l.texi.
15317         * doc/posix-functions/isblank_l.texi: Renamed from
15318         doc/glibc-functions/isblank_l.texi.
15319         * doc/posix-functions/iscntrl_l.texi: Renamed from
15320         doc/glibc-functions/iscntrl_l.texi.
15321         * doc/posix-functions/isdigit_l.texi: Renamed from
15322         doc/glibc-functions/isdigit_l.texi.
15323         * doc/posix-functions/isgraph_l.texi: Renamed from
15324         doc/glibc-functions/isgraph_l.texi.
15325         * doc/posix-functions/islower_l.texi: Renamed from
15326         doc/glibc-functions/islower_l.texi.
15327         * doc/posix-functions/isprint_l.texi: Renamed from
15328         doc/glibc-functions/isprint_l.texi.
15329         * doc/posix-functions/ispunct_l.texi: Renamed from
15330         doc/glibc-functions/ispunct_l.texi.
15331         * doc/posix-functions/isspace_l.texi: Renamed from
15332         doc/glibc-functions/isspace_l.texi.
15333         * doc/posix-functions/isupper_l.texi: Renamed from
15334         doc/glibc-functions/isupper_l.texi.
15335         * doc/posix-functions/iswalnum_l.texi: Renamed from
15336         doc/glibc-functions/iswalnum_l.texi.
15337         * doc/posix-functions/iswalpha_l.texi: Renamed from
15338         doc/glibc-functions/iswalpha_l.texi.
15339         * doc/posix-functions/iswblank_l.texi: Renamed from
15340         doc/glibc-functions/iswblank_l.texi.
15341         * doc/posix-functions/iswcntrl_l.texi: Renamed from
15342         doc/glibc-functions/iswcntrl_l.texi.
15343         * doc/posix-functions/iswctype_l.texi: Renamed from
15344         doc/glibc-functions/iswctype_l.texi.
15345         * doc/posix-functions/iswdigit_l.texi: Renamed from
15346         doc/glibc-functions/iswdigit_l.texi.
15347         * doc/posix-functions/iswgraph_l.texi: Renamed from
15348         doc/glibc-functions/iswgraph_l.texi.
15349         * doc/posix-functions/iswlower_l.texi: Renamed from
15350         doc/glibc-functions/iswlower_l.texi.
15351         * doc/posix-functions/iswprint_l.texi: Renamed from
15352         doc/glibc-functions/iswprint_l.texi.
15353         * doc/posix-functions/iswpunct_l.texi: Renamed from
15354         doc/glibc-functions/iswpunct_l.texi.
15355         * doc/posix-functions/iswspace_l.texi: Renamed from
15356         doc/glibc-functions/iswspace_l.texi.
15357         * doc/posix-functions/iswupper_l.texi: Renamed from
15358         doc/glibc-functions/iswupper_l.texi.
15359         * doc/posix-functions/iswxdigit_l.texi: Renamed from
15360         doc/glibc-functions/iswxdigit_l.texi.
15361         * doc/posix-functions/isxdigit_l.texi: Renamed from
15362         doc/glibc-functions/isxdigit_l.texi.
15363         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
15364         doc/glibc-functions/mbsnrtowcs.texi.
15365         * doc/posix-functions/mkdtemp.texi: Renamed from
15366         doc/glibc-functions/mkdtemp.texi.
15367         * doc/posix-functions/newlocale.texi: Renamed from
15368         doc/glibc-functions/newlocale.texi.
15369         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
15370         doc/glibc-functions/nl_langinfo_l.texi.
15371         * doc/posix-functions/open_memstream.texi: Renamed from
15372         doc/glibc-functions/open_memstream.texi.
15373         * doc/posix-functions/opterr.texi: Renamed from
15374         doc/glibc-functions/opterr.texi.
15375         * doc/posix-functions/optind.texi: Renamed from
15376         doc/glibc-functions/optind.texi.
15377         * doc/posix-functions/optopt.texi: Renamed from
15378         doc/glibc-functions/optopt.texi.
15379         * doc/posix-functions/psignal.texi: Renamed from
15380         doc/glibc-functions/psignal.texi.
15381         * doc/posix-functions/scandir.texi: Renamed from
15382         doc/glibc-functions/scandir.texi.
15383         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
15384         doc/glibc-functions/sched_get_priority_min.texi.
15385         * doc/posix-functions/signgam.texi: Renamed from
15386         doc/glibc-functions/signgam.texi.
15387         * doc/posix-functions/stpcpy.texi: Renamed from
15388         doc/glibc-functions/stpcpy.texi.
15389         * doc/posix-functions/stpncpy.texi: Renamed from
15390         doc/glibc-functions/stpncpy.texi.
15391         * doc/posix-functions/strcasecmp_l.texi: Renamed from
15392         doc/glibc-functions/strcasecmp_l.texi.
15393         * doc/posix-functions/strcoll_l.texi: Renamed from
15394         doc/glibc-functions/strcoll_l.texi.
15395         * doc/posix-functions/strfmon_l.texi: Renamed from
15396         doc/glibc-functions/strfmon_l.texi.
15397         * doc/posix-functions/strftime_l.texi: Renamed from
15398         doc/glibc-functions/strftime_l.texi.
15399         * doc/posix-functions/strncasecmp_l.texi: Renamed from
15400         doc/glibc-functions/strncasecmp_l.texi.
15401         * doc/posix-functions/strndup.texi: Renamed from
15402         doc/glibc-functions/strndup.texi.
15403         * doc/posix-functions/strnlen.texi: Renamed from
15404         doc/glibc-functions/strnlen.texi.
15405         * doc/posix-functions/strsignal.texi: Renamed from
15406         doc/glibc-functions/strsignal.texi.
15407         * doc/posix-functions/strxfrm_l.texi: Renamed from
15408         doc/glibc-functions/strxfrm_l.texi.
15409         * doc/posix-functions/timer_gettime.texi: Renamed from
15410         doc/glibc-functions/timer_gettime.texi.
15411         * doc/posix-functions/tolower_l.texi: Renamed from
15412         doc/glibc-functions/tolower_l.texi.
15413         * doc/posix-functions/toupper_l.texi: Renamed from
15414         doc/glibc-functions/toupper_l.texi.
15415         * doc/posix-functions/towctrans_l.texi: Renamed from
15416         doc/glibc-functions/towctrans_l.texi.
15417         * doc/posix-functions/towlower_l.texi: Renamed from
15418         doc/glibc-functions/towlower_l.texi.
15419         * doc/posix-functions/towupper_l.texi: Renamed from
15420         doc/glibc-functions/towupper_l.texi.
15421         * doc/posix-functions/uselocale.texi: Renamed from
15422         doc/glibc-functions/uselocale.texi.
15423         * doc/posix-functions/vdprintf.texi: Renamed from
15424         doc/glibc-functions/vdprintf.texi.
15425         * doc/posix-functions/wcpcpy.texi:
15426         Renamed from doc/glibc-functions/wcpcpy.texi.
15427         * doc/posix-functions/wcpncpy.texi: Renamed from
15428         doc/glibc-functions/wcpncpy.texi.
15429         * doc/posix-functions/wcscasecmp.texi: Renamed from
15430         doc/glibc-functions/wcscasecmp.texi.
15431         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
15432         doc/glibc-functions/wcscasecmp_l.texi.
15433         * doc/posix-functions/wcscoll_l.texi: Renamed from
15434         doc/glibc-functions/wcscoll_l.texi.
15435         * doc/posix-functions/wcsdup.texi: Renamed from
15436         doc/glibc-functions/wcsdup.texi.
15437         * doc/posix-functions/wcsncasecmp.texi: Renamed from
15438         doc/glibc-functions/wcsncasecmp.texi.
15439         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
15440         doc/glibc-functions/wcsncasecmp_l.texi.
15441         * doc/posix-functions/wcsnlen.texi: Renamed from
15442         doc/glibc-functions/wcsnlen.texi.
15443         * doc/posix-functions/wcsnrtombs.texi: Renamed from
15444         doc/glibc-functions/wcsnrtombs.texi.
15445         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
15446         doc/glibc-functions/wcsxfrm_l.texi.
15447         * doc/posix-functions/wctrans_l.texi: Renamed from
15448         doc/glibc-functions/wctrans_l.texi.
15449         * doc/posix-functions/wctype_l.texi: Renamed from
15450         doc/glibc-functions/wctype_l.texi.
15451         * doc/gnulib.texi (Function Substitutes): Add these subsections.
15452         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
15453         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
15454         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
15455         these subsections.
15456         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
15457         Remove sections.
15458
15459 2008-12-14  Bruno Haible  <bruno@clisp.org>
15460
15461         Update doc for POSIX:2008.
15462         * doc/posix-functions/*.texi: Update URL of POSIX specification.
15463
15464 2008-12-14  Bruno Haible  <bruno@clisp.org>
15465
15466         Update doc for POSIX:2008.
15467         * doc/pastposix-functions/bcmp.texi: Renamed from
15468         doc/posix-functions/bcmp.texi.
15469         * doc/pastposix-functions/bcopy.texi: Renamed from
15470         doc/posix-functions/bcopy.texi.
15471         * doc/pastposix-functions/bsd_signal.texi: Renamed from
15472         doc/posix-functions/bsd_signal.texi.
15473         * doc/pastposix-functions/bzero.texi: Renamed from
15474         doc/posix-functions/bzero.texi.
15475         * doc/pastposix-functions/ecvt.texi: Renamed from
15476         doc/posix-functions/ecvt.texi.
15477         * doc/pastposix-functions/fcvt.texi: Renamed from
15478         doc/posix-functions/fcvt.texi.
15479         * doc/pastposix-functions/ftime.texi: Renamed from
15480         doc/posix-functions/ftime.texi.
15481         * doc/pastposix-functions/gcvt.texi: Renamed from
15482         doc/posix-functions/gcvt.texi.
15483         * doc/pastposix-functions/getcontext.texi: Renamed from
15484         doc/posix-functions/getcontext.texi.
15485         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
15486         doc/posix-functions/gethostbyaddr.texi.
15487         * doc/pastposix-functions/gethostbyname.texi: Renamed from
15488         doc/posix-functions/gethostbyname.texi.
15489         * doc/pastposix-functions/getwd.texi: Renamed from
15490         doc/posix-functions/getwd.texi.
15491         * doc/pastposix-functions/h_errno.texi: Renamed from
15492         doc/posix-functions/h_errno.texi.
15493         * doc/pastposix-functions/index.texi: Renamed from
15494         doc/posix-functions/index.texi.
15495         * doc/pastposix-functions/makecontext.texi: Renamed from
15496         doc/posix-functions/makecontext.texi.
15497         * doc/pastposix-functions/mktemp.texi: Renamed from
15498         doc/posix-functions/mktemp.texi.
15499         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
15500         doc/posix-functions/pthread_attr_getstackaddr.texi.
15501         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
15502         doc/posix-functions/pthread_attr_setstackaddr.texi.
15503         * doc/pastposix-functions/rindex.texi: Renamed from
15504         doc/posix-functions/rindex.texi.
15505         * doc/pastposix-functions/scalb.texi: Renamed from
15506         doc/posix-functions/scalb.texi.
15507         * doc/pastposix-functions/setcontext.texi: Renamed from
15508         doc/posix-functions/setcontext.texi.
15509         * doc/pastposix-functions/swapcontext.texi: Renamed from
15510         doc/posix-functions/swapcontext.texi.
15511         * doc/pastposix-functions/ualarm.texi: Renamed from
15512         doc/posix-functions/ualarm.texi.
15513         * doc/pastposix-functions/usleep.texi: Renamed from
15514         doc/posix-functions/usleep.texi.
15515         * doc/pastposix-functions/vfork.texi: Renamed from
15516         doc/posix-functions/vfork.texi.
15517         * doc/pastposix-functions/wcswcs.texi: Renamed from
15518         doc/posix-functions/wcswcs.texi.
15519         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
15520         (Function Substitutes): Update.
15521
15522 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15523
15524         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
15525         m4/strerror.m4.
15526
15527 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15528             Bruno Haible  <bruno@clisp.org>
15529
15530         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
15531
15532 2008-12-13  Bruno Haible  <bruno@clisp.org>
15533
15534         * modules/strtoull (Depends-on): Remove unistd.
15535
15536 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15537
15538         * modules/strtoull (Depends-on): Add stdlib.
15539
15540 2008-12-11  Simon Josefsson  <simon@josefsson.org>
15541
15542         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
15543
15544 2008-12-10  Jim Meyering  <meyering@redhat.com>
15545
15546         gl_ASSERT: don't say assertions are disabled when they're not
15547         * m4/assert.m4 (gl_ASSERT): Do not make configure report
15548         "checking whether to enable assertions... no", when they are in
15549         fact enabled.  This is solely a bug in the output of configure.
15550         In spite of saying "no", NDEBUG was not defined in that case.
15551         Also, as noted by Eric Blake, leave assertions enabled upon
15552         --enable-assert=INVALID.
15553
15554 2008-12-10  Bruno Haible  <bruno@clisp.org>
15555
15556         Change MODULES.html to refer to POSIX:2008 where possible.
15557         * MODULES.html.sh (POSIX2008_URL): New variable.
15558         (posix_headers): Remove sys/timeb, ucontext.
15559         (posix2001_headers): New variable.
15560         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
15561         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
15562         index, makecontext, mktemp, pthread_attr_getstackaddr,
15563         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
15564         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
15565         (posix2001_functions): New variable.
15566         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
15567         otherwise.
15568
15569 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15570
15571         add missing include to parse-duration.c
15572         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
15573         * modules/parse-duration (Depends-on): Add xalloc.
15574
15575         fix sed script reading maint.mk
15576         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
15577         (syntax-check-rules): Use it.
15578
15579 2008-12-09  Bruno Haible  <bruno@clisp.org>
15580
15581         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
15582         MacOS X 10.4/PowerPC.
15583         Reported by Simon Josefsson.
15584
15585 2008-12-08  Jim Meyering  <meyering@redhat.com>
15586
15587         work around mingw's lack of some S_IF definitions
15588         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
15589         Reported by Simon Josefsson.
15590
15591 2008-12-08  Bruno Haible  <bruno@clisp.org>
15592
15593         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
15594         applied to variables. Needed on MacOS X 10.4/PowerPC.
15595         Reported by Simon Josefsson.
15596
15597 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
15598         and Eric Blake  <ebb9@byu.net>
15599
15600         assert: honor --enable-assert
15601         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
15602         order to honor --enable-assert, rather than treating it as a
15603         synonym for --disable-assert.
15604
15605 2008-12-08  Jim Meyering  <meyering@redhat.com>
15606
15607         * lib/posixtm.c: Remove now-useless declaration of mktime.
15608
15609         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
15610
15611 2008-12-07  Bruno Haible  <bruno@clisp.org>
15612
15613         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
15614         test_once): Mark functions as static.
15615         * tests/test-tls.c (test_tls): Likewise.
15616
15617 2008-12-07  Bruno Haible  <bruno@clisp.org>
15618
15619         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
15620         iconv_register_autodetect.
15621
15622 2008-12-07  Jim Meyering  <meyering@redhat.com>
15623
15624         posixtm.c: avoid a warning
15625         * lib/posixtm.c (posixtime): Don't initialize tm0.
15626         It's no longer needed to placate gcc4's -Wuninitialized,
15627         and the attempt to placate would elicit a new warning.
15628
15629         unicodeio.c: mark unused parameters
15630         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
15631         (fallback_failure_callback): Likewise.
15632
15633 2008-12-07  Bruno Haible  <bruno@clisp.org>
15634
15635         * gnulib-tool (func_create_testdir): When building the tests
15636         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
15637         Reported by Simon Josefsson.
15638
15639 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15640
15641         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
15642
15643 2008-12-06  Bruno Haible  <bruno@clisp.org>
15644
15645         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
15646         Suggested by Eric Blake.
15647
15648 2008-12-06  Bruno Haible  <bruno@clisp.org>
15649
15650         Fix a c-stack test failure on MacOS X.
15651         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
15652         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
15653         handler for SIGBUS as well.
15654         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
15655         install a signal handler for SIGBUS as well.
15656         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
15657
15658 2008-12-06  Bruno Haible  <bruno@clisp.org>
15659
15660         Advocacy documentation.
15661         * doc/gnulib-intro.texi (Benefits): New section.
15662         * doc/gnulib.texi: Update.
15663
15664 2008-12-06  Bruno Haible  <bruno@clisp.org>
15665
15666         Document the 'manywarnings' module.
15667         * doc/manywarnings.texi: New file.
15668         * doc/gnulib.texi: Include it.
15669
15670 2008-12-05  Eric Blake  <ebb9@byu.net>
15671
15672         tests: silence some gcc warnings
15673         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
15674         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
15675         type mismatches.
15676
15677 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15678             Bruno Haible  <bruno@clisp.org>
15679
15680         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
15681
15682 2008-11-29  Jim Meyering  <meyering@redhat.com>
15683
15684         unicodeio.c: mark unused parameters
15685         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
15686         (fallback_failure_callback): Likewise.
15687
15688         fts: fix a thinko
15689         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
15690         (set_stat_type): Return S_IF*-valued "type" directly.
15691         Prompted by James Youngman's spotting a related bug.
15692         Confirmed by further testing through find.
15693
15694         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
15695         * lib/fts.c (D_TYPE): Define.
15696         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
15697         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
15698         (s_ifmt_shift_bits): New function.
15699         (set_stat_type): New function.
15700         (fts_build): When not calling fts_stat, call set_stat_type
15701         to propagate dirent.d_type info to fts_read caller.
15702         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
15703         fts_statp->st_mode type information may be valid.
15704
15705 2008-11-28  Simon Josefsson  <simon@josefsson.org>
15706
15707         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
15708         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
15709         <sds@gnu.org>.
15710
15711 2008-11-20  Bruno Haible  <bruno@clisp.org>
15712
15713         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
15714         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
15715         INCLUDE_NEXT.
15716         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
15717         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
15718         * modules/math (Makefile.am): Substitute
15719         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
15720         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
15721
15722 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
15723             Bruno Haible  <bruno@clisp.org>
15724
15725         * lib/stdint.in.h: Define all type macros so that their expansion is
15726         a single typedef'ed token. Fixes a compilation failure in Boost which
15727         does "using ::int8_t;".
15728
15729 2008-11-18  Simon Josefsson  <simon@josefsson.org>
15730
15731         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
15732         gl_MANYWARN_ALL_GCC.
15733         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
15734         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
15735         * modules/manywarnings: New file.
15736         * MODULES.html.sh: Mention manywarnings module.
15737
15738 2008-11-18  Bruno Haible  <bruno@clisp.org>
15739
15740         * doc/gnulib-tool.texi (Unit tests): New section.
15741
15742 2008-11-18  Simon Josefsson  <simon@josefsson.org>
15743
15744         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
15745         paths like 'lib/po/foo.po'.
15746
15747 2008-11-17  Simon Josefsson  <simon@josefsson.org>
15748
15749         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
15750         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
15751
15752 2008-11-17  Simon Josefsson  <simon@josefsson.org>
15753
15754         * m4/warnings.m4: Use CPPFLAGS to really check whether the
15755         parameter works.
15756
15757 2008-11-17  Simon Josefsson  <simon@josefsson.org>
15758
15759         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
15760
15761 2008-11-17  Bruce Korb  <bkorb@gnu.org>
15762
15763         * modules/parse-duration-tests: New file.
15764         * tests/test-parse-duration.sh: New file.
15765         * tests/test-parse-duration.c: New file.
15766
15767         New module 'parse-duration'.
15768         * lib/parse-duration.h: New file.
15769         * lib/parse-duration.c: New file.
15770         * modules/parse-duration: New file.
15771
15772 2008-11-17  Bruno Haible  <bruno@clisp.org>
15773
15774         * tests/test-select-out.sh: Comment out the first pipe test.
15775         Reported by Simon Josefsson.
15776
15777 2008-11-17  Bruno Haible  <bruno@clisp.org>
15778
15779         * modules/getaddrinfo (Depends-on): Add servent, hostent.
15780         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
15781         gl_HOSTENT.
15782
15783 2008-11-17  Bruno Haible  <bruno@clisp.org>
15784
15785         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
15786         -lnetwork and -lnet. Needed for Haiku and BeOS.
15787
15788 2008-11-16  Bruno Haible  <bruno@clisp.org>
15789
15790         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
15791
15792 2008-11-16  Bruno Haible  <bruno@clisp.org>
15793
15794         Avoid test failure on Haiku.
15795         * tests/test-fsync.c: Include <errno.h>.
15796         (main): Don't require that fsync (0) fails.
15797
15798 2008-11-15  Bruno Haible  <bruno@clisp.org>
15799
15800         New module 'hostent'.
15801         * modules/hostent: New file.
15802         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
15803
15804 2008-11-15  Bruno Haible  <bruno@clisp.org>
15805
15806         New module 'servent'.
15807         * modules/servent: New file.
15808         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
15809
15810 2008-11-15  Bruno Haible  <bruno@clisp.org>
15811
15812         Avoid generating same test program with two different rules.
15813         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
15814         test-frexp to test-frexp-nolibm.
15815         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
15816         test-frexpl to test-frexpl-nolibm.
15817
15818 2008-11-15  Bruno Haible  <bruno@clisp.org>
15819
15820         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
15821         $(FREXPL_LIBM).
15822
15823 2008-11-15  Bruno Haible  <bruno@clisp.org>
15824
15825         * lib/netdb.in.h: Activate the definitions also when the system's
15826         <netdb.h> has 'struct addrinfo'.
15827         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
15828         EAI_OVERFLOW or AI_NUMERICSERV.
15829         * doc/posix-headers/netdb.texi: Document the problem.
15830
15831 2008-11-15  Bruno Haible  <bruno@clisp.org>
15832
15833         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
15834
15835         Make the 'sched' module work on platforms where <sched.h> exists but
15836         is incomplete (such as Haiku).
15837         * lib/sched.in.h; Include the system's <sched.h> if it exists.
15838         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
15839         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
15840         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
15841         HAVE_STRUCT_SCHED_PARAM.
15842         * modules/sched (Depends-on): Add include_next.
15843         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
15844         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
15845         * doc/posix-headers/sched.texi: Document the issue.
15846
15847 2008-11-13  Jim Meyering  <meyering@redhat.com>
15848
15849         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
15850         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
15851         test would fail due to the difference in the Report bugs to ...
15852         line.  The expected address is empty, "<>", while the actual
15853         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
15854
15855 2008-11-12  Bruno Haible  <bruno@clisp.org>
15856
15857         lstat: don't compile lstat.c on systems lacking lstat
15858         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
15859         which don't have lstat; this is handled by lib/sys_stat.in.h already.
15860         Reported by Daniel P. Berrange via Jim Meyering.
15861
15862 2008-11-12  Jim Meyering  <meyering@redhat.com>
15863
15864         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
15865
15866 2008-11-12  Simon Josefsson  <simon@josefsson.org>
15867
15868         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
15869         instead.
15870
15871 2008-11-12  Bruno Haible  <bruno@clisp.org>
15872
15873         * lib/unicodeio.c: Include unistr.h.
15874         (utf8_wctomb): Remove function.
15875         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
15876
15877 2008-11-12  Simon Josefsson  <simon@josefsson.org>
15878
15879         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
15880         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
15881         <bruno@clisp.org>.
15882         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
15883
15884 2008-11-12  Simon Josefsson  <simon@josefsson.org>
15885
15886         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
15887         * doc/gnulib.texi: Add section for warnings.
15888
15889 2008-11-11  Bruno Haible  <bruno@clisp.org>
15890
15891         * lib/sockets.h: Add a comment.
15892
15893 2008-11-11  Karl Berry  <karl@gnu.org>
15894
15895         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
15896
15897 2008-11-11  Eric Blake  <ebb9@byu.net>
15898
15899         fdl.texi: avoid git symlinks
15900         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
15901
15902 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
15903
15904         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
15905
15906 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
15907
15908         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
15909         (gl_WARN_ADD): Substitute $2 if literal.
15910
15911 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
15912
15913         * m4/warning.m4: Remove.
15914
15915 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
15916
15917         * m4/warnings.m4: Almost complete rewrite. :-)
15918
15919 2008-11-10  Simon Josefsson  <simon@josefsson.org>
15920
15921         * modules/warnings: New module.
15922         * m4/warnings.m4: New file.
15923         * MODULES.html.sh: Mention warnings module.
15924         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
15925         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15926
15927 2008-11-10  Eric Blake  <ebb9@byu.net>
15928
15929         fdl.texi: make a symlink to the latest version
15930         * doc/standards.texi: Revert today's earlier change.
15931         * doc/fdl-1.2.texi: Rename from old fdl.texi...
15932         * doc/fdl.texi: ...and replace this with a symlink to the newer
15933         fdl-1.3.texi.
15934
15935 2008-11-10  Bruno Haible  <bruno@clisp.org>
15936
15937         * tests/test-select-fd.c (main): Accept the result file name as fourth
15938         argument.
15939         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
15940         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
15941
15942 2008-11-10  Bruno Haible  <bruno@clisp.org>
15943
15944         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
15945         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
15946         as autoconf-substituted macros.
15947         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
15948         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
15949         gl_NETDB_H_DEFAULTS. Set these variables.
15950         * modules/netdb (Makefile.am): Substitute these variables.
15951
15952 2008-11-10  Eric Blake  <ebb9@byu.net>
15953
15954         standards.texi: include correct file for FDL 1.3
15955         * doc/standards.texi (GNU Free Documentation License): Change
15956         include file to pull in FDL 1.3, not 1.2.
15957
15958         fdl.texi: revert accidental change to license
15959         * doc/fdl.texi: This is FDL 1.2, not 1.3.
15960
15961 2008-11-10  Bruno Haible  <bruno@clisp.org>
15962
15963         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
15964         cross-compiling guesses also when the native compile gives no result.
15965
15966 2008-11-10  Bruno Haible  <bruno@clisp.org>
15967
15968         * lib/spawni.c (__spawni): Force variable into the stack.
15969
15970 2008-11-10  Bruno Haible  <bruno@clisp.org>
15971
15972         Add support for Haiku.
15973         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
15974         glibc and BeOS, but also on Haiku.
15975         * lib/fpurge.c (fpurge): Likewise.
15976         * lib/freadable.c (freadable): Likewise.
15977         * lib/freadahead.c (freadahead): Likewise.
15978         * lib/freading.c (freading): Likewise.
15979         * lib/freadptr.c (freadptr): Likewise.
15980         * lib/freadseek.c (freadptrinc): Likewise.
15981         * lib/fseeko.c (rpl_fseeko): Likewise.
15982         * lib/fseterr.c (fseterr): Likewise.
15983         * lib/fwritable.c (fwritable): Likewise.
15984         * lib/fwriting.c (fwriting): Likewise.
15985         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
15986
15987 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
15988
15989         * lib/config.charset: Treat Haiku like BeOS.
15990
15991 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
15992
15993         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
15994         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
15995
15996 2008-11-08  Bruno Haible  <bruno@clisp.org>
15997
15998         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
15999         AC_CACHE_CHECK.
16000
16001 2008-11-08  Bruno Haible  <bruno@clisp.org>
16002
16003         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
16004
16005 2008-11-08  Bruno Haible  <bruno@clisp.org>
16006
16007         * tests/test-select-fd.c: New file.
16008         * tests/test-select-in.sh: New file.
16009         * tests/test-select-out.sh: New file.
16010         * tests/test-select-stdin.c: New file.
16011         * modules/select-tests (Files): Add the new files.
16012         (Depends-on): Add gettimeofday.
16013         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
16014         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
16015         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
16016
16017 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
16018             Bruno Haible  <bruno@clisp.org>
16019
16020         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
16021
16022 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
16023
16024         * build-aux/pmccabe2html: Added support for C++ source files.
16025
16026 2008-11-05  Ben Pfaff  <blp@gnu.org>
16027
16028         Fix lib/close.c build on Windows.
16029         * modules/close (Files): Add lib/w32sock.h.
16030
16031 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
16032
16033         Accept Bison's NEWS format.
16034         * build-aux/announce-gen (print_news_deltas): Tweak
16035         $re_prefix.
16036
16037 2008-11-04  Bruno Haible  <bruno@clisp.org>
16038
16039         * modules/random_r (Maintainer): Add glibc.
16040
16041 2008-11-04  Simon Josefsson  <simon@josefsson.org>
16042
16043         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
16044         by karl@freefriends.org (Karl Berry).
16045         * doc/alloca.texi: Likewise.
16046         * doc/c-ctype.texi: Likewise.
16047         * doc/c-strcase.texi: Likewise.
16048         * doc/c-strcaseeq.texi: Likewise.
16049         * doc/c-strcasestr.texi: Likewise.
16050         * doc/c-strstr.texi: Likewise.
16051         * doc/c-strtod.texi: Likewise.
16052         * doc/c-strtold.texi: Likewise.
16053         * doc/ctime.texi: Likewise.
16054         * doc/error.texi: Likewise.
16055         * doc/fdl.texi: Likewise.
16056         * doc/gcd.texi: Likewise.
16057         * doc/getdate.texi: Likewise.
16058         * doc/gnulib-intro.texi: Likewise.
16059         * doc/gnulib-tool.texi: Likewise.
16060         * doc/gnulib.texi: Likewise.
16061         * doc/inet_ntoa.texi: Likewise.
16062         * doc/maintain.texi: Likewise.
16063         * doc/make-stds.texi: Likewise.
16064         * doc/quote.texi: Likewise.
16065         * doc/regexprops-generic.texi: Likewise.
16066         * doc/standards.texi: Likewise.
16067         * doc/verify.texi: Likewise.
16068         * doc/visibility.texi: Likewise.
16069         * doc/gnulib.texi (GNU Free Documentation License): Include
16070         fdl-1.3.texi instead of fdl.texi.
16071
16072 2008-11-04  Simon Josefsson  <simon@josefsson.org>
16073
16074         * doc/fdl-1.3.texi: New file, from
16075         <http://www.gnu.org/licenses/fdl-1.3.texi>.
16076         * modules/fdl-1.3: Add.
16077         * MODULES.html.sh: Add fdl-1.3.
16078
16079 2008-11-03  Bruno Haible  <bruno@clisp.org>
16080
16081         Make determination of absolute name of header file work with AIX xlc.
16082         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
16083         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
16084         preprocessing.
16085         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
16086         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
16087
16088 2008-11-03  Simon Josefsson  <simon@josefsson.org>
16089
16090         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
16091         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
16092         <ludo@gnu.org>.
16093
16094 2008-11-02  Bruno Haible  <bruno@clisp.org>
16095
16096         Mark 'strpbrk' obsolete.
16097         * modules/strpbrk (Status, Notice): New sections.
16098         * modules/strtok_r (Depends-on): Add strpbrk.
16099
16100 2008-11-02  Bruno Haible  <bruno@clisp.org>
16101
16102         Mark 'strdup' obsolete.
16103         * modules/strdup (Status, Notice): New sections.
16104         * modules/findprog (Depends-on): Add strdup.
16105         * modules/getaddrinfo (Depends-on): Likewise.
16106         * modules/localename (Depends-on): Likewise.
16107         * modules/relocatable-lib (Depends-on): Likewise.
16108         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
16109         * modules/relocatable-prog (Depends-on): Likewise.
16110         * modules/trim (Depends-on): Likewise.
16111         * modules/unictype/gen-ctype (Depends-on): Likewise.
16112         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
16113
16114 2008-11-02  Bruno Haible  <bruno@clisp.org>
16115
16116         Mark 'strcspn' obsolete.
16117         * modules/strcspn (Status, Notice): New sections.
16118
16119 2008-11-02  Bruno Haible  <bruno@clisp.org>
16120
16121         Mark 'rmdir' obsolete.
16122         * modules/rmdir (Status, Notice): New sections.
16123         * modules/clean-temp (Depends-on): Add rmdir.
16124         * modules/openat (Depends-on): Likewise.
16125
16126 2008-11-02  Bruno Haible  <bruno@clisp.org>
16127
16128         Mark 'raise' obsolete.
16129         * modules/raise (Status, Notice): New sections.
16130         (Include): Specify <signal.h>.
16131         * modules/stdio (Depends-on): Add raise.
16132         * modules/write (Depends-on): Likewise.
16133
16134 2008-11-02  Bruno Haible  <bruno@clisp.org>
16135
16136         Mark 'memset' obsolete.
16137         * modules/memset (Status, Notice): New sections.
16138
16139 2008-11-02  Bruno Haible  <bruno@clisp.org>
16140
16141         Mark 'memmove' obsolete.
16142         * modules/memmove (Status, Notice): New sections.
16143         * modules/argp (Depends-on): Add memmove.
16144         * modules/argz (Depends-on): Likewise.
16145         * modules/canonicalize (Depends-on): Likewise.
16146         * modules/canonicalize-lgpl (Depends-on): Likewise.
16147         * modules/fts (Depends-on): Likewise.
16148         * modules/getcwd (Depends-on): Likewise.
16149         * modules/human (Depends-on): Likewise.
16150         * modules/regex (Depends-on): Likewise.
16151         * modules/striconveh (Depends-on): Likewise.
16152         * modules/trim (Depends-on): Likewise.
16153         * modules/unistr/u8-move (Depends-on): Likewise.
16154         * modules/unistr/u16-move (Depends-on): Likewise.
16155         * modules/unistr/u32-move (Depends-on): Likewise.
16156
16157 2008-11-02  Bruno Haible  <bruno@clisp.org>
16158
16159         Mark 'memcpy' obsolete.
16160         * modules/memcpy (Status, Notice): New sections.
16161
16162 2008-11-02  Bruno Haible  <bruno@clisp.org>
16163
16164         Mark 'memcmp' obsolete.
16165         * modules/memcmp (Status, Notice): New sections.
16166         * modules/argmatch (Depends-on): Add memchr.
16167         * modules/backupfile (Depends-on): Likewise.
16168         * modules/c-strcasestr (Depends-on): Likewise.
16169         * modules/crypto/des (Depends-on): Likewise.
16170         * modules/csharpcomp (Depends-on): Likewise.
16171         * modules/fnmatch (Depends-on): Likewise.
16172         * modules/git-merge-changelog (Depends-on): Likewise.
16173         * modules/isnand (Depends-on): Likewise.
16174         * modules/isnand-nolibm (Depends-on): Likewise.
16175         * modules/isnanf (Depends-on): Likewise.
16176         * modules/isnanf-nolibm (Depends-on): Likewise.
16177         * modules/isnanl (Depends-on): Likewise.
16178         * modules/isnanl-nolibm (Depends-on): Likewise.
16179         * modules/mbchar (Depends-on): Likewise.
16180         * modules/memcoll (Depends-on): Likewise.
16181         * modules/quotearg (Depends-on): Likewise.
16182         * modules/regex (Depends-on): Likewise.
16183         * modules/relocatable-prog (Depends-on): Likewise.
16184         * modules/same (Depends-on): Likewise.
16185         * modules/signbit (Depends-on): Likewise.
16186         * modules/strcasestr-simple (Depends-on): Likewise.
16187         * modules/unictype/gen-ctype (Depends-on): Likewise.
16188         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
16189         * modules/uniname/uniname (Depends-on): Likewise.
16190         * modules/unistr/u8-cmp (Depends-on): Likewise.
16191
16192 2008-11-02  Bruno Haible  <bruno@clisp.org>
16193
16194         Mark 'memchr' obsolete.
16195         * modules/memchr (Status, Notice): New sections.
16196         * modules/argp (Depends-on): Add memchr.
16197         * modules/base64 (Depends-on): Likewise.
16198         * modules/c-strcasestr (Depends-on): Likewise.
16199         * modules/chdir-long (Depends-on): Likewise.
16200         * modules/fnmatch (Depends-on): Likewise.
16201         * modules/getsubopt (Depends-on): Likewise.
16202         * modules/git-merge-changelog (Depends-on): Likewise.
16203         * modules/glob (Depends-on): Likewise.
16204         * modules/strcasestr-simple (Depends-on): Likewise.
16205         * modules/strnlen (Depends-on): Likewise.
16206
16207 2008-11-02  Bruno Haible  <bruno@clisp.org>
16208
16209         Mark 'atexit' obsolete.
16210         * modules/atexit (Status, Notice): New sections.
16211         * modules/chdir-long (Depends-on): Add atexit.
16212         * modules/wait-process (Depends-on): Likewise.
16213
16214 2008-11-02  Bruno Haible  <bruno@clisp.org>
16215
16216         * gnulib-tool: New option --with-obsolete.
16217         (func_usage): Document it.
16218         (func_modules_transitive_closure): Drop obsolete dependencies if
16219         incobsolete is not true.
16220         (func_import): Read and save the incobsolete variable to the cache.
16221
16222 2008-11-02  Bruno Haible  <bruno@clisp.org>
16223
16224         * modules/TEMPLATE-EXTENDED: New field 'Status'.
16225         * gnulib-tool: New option --extract-status.
16226         (func_usage): Document it.
16227         (sed_extract_prog): Recognize it.
16228         (func_get_status): New function.
16229
16230 2008-10-30  Simon Josefsson  <simon@josefsson.org>
16231
16232         * modules/sockets (License): Change from LGPL to LGPLv2+.
16233
16234 2008-10-28  Simon Josefsson  <simon@josefsson.org>
16235
16236         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
16237
16238 2008-10-28  Simon Josefsson  <simon@josefsson.org>
16239
16240         * MODULES.html.sh (Support for systems lacking POSIX:2001):
16241         Mention times and sys_times.
16242         * modules/sys_times, modules/sys_times-tests: New modules.
16243         * modules/times, modules/times-tests: Likewise
16244         * m4/sys_times_h.m4: New file.
16245         * lib/sys_times.in.h: Likewise
16246         * lib/times.c: Likewise.
16247         * tests/test-sys_times.c: Likewise.
16248         * tests/test-times.c: Likewise.
16249         * doc/posix-headers/sys_times.texi: Update.
16250         * doc/posix-functions/times.texi: Update.
16251
16252 2008-10-28  Jim Meyering  <meyering@redhat.com>
16253
16254         * modules/tempname (Depends-on): Add lstat.
16255
16256         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
16257
16258 2008-10-28  Simon Josefsson  <simon@josefsson.org>
16259
16260         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
16261         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
16262         using idiom used elsewhere in gnulib.
16263
16264 2008-10-27  Jim Meyering  <meyering@redhat.com>
16265
16266         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
16267
16268 2008-10-27  Simon Josefsson  <simon@josefsson.org>
16269
16270         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
16271         TESTS_ENVIRONMENT, for shell scripts that needs to call built
16272         programs.
16273         * tests/test-argp-2.sh: Use $EXEEXT when needed.
16274
16275 2008-10-27  Simon Josefsson  <simon@josefsson.org>
16276
16277         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
16278
16279 2008-10-27  Bruno Haible  <bruno@clisp.org>
16280
16281         * tests/test-lstat.c: Include <stdio.h>.
16282
16283 2008-10-27  Simon Josefsson  <simon@josefsson.org>
16284
16285         * modules/lstat-tests: New module.
16286         * tests/test-lstat.c: New file.
16287
16288 2008-10-26  Jim Meyering  <meyering@redhat.com>
16289
16290         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
16291
16292 2008-10-26  Simon Josefsson  <simon@josefsson.org>
16293             Bruno Haible  <bruno@clisp.org>
16294
16295         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
16296         * modules/configmake (Include): Add a note that the include must come
16297         after all system headers.
16298         * lib/javaversion.c: Include configmake.h after all other includes.
16299
16300 2008-10-26  Bruno Haible  <bruno@clisp.org>
16301
16302         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
16303         HAVE_STRUCT_RANDOM_DATA to 1.
16304         (gl_STDLIB_H): Simplify.
16305
16306 2008-10-26  Simon Josefsson  <simon@josefsson.org>
16307
16308         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
16309         substitute HAVE_STRUCT_RANDOM_DATA.
16310         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
16311         random_data.
16312         * modules/stdlib (Makefile.am): Substitute
16313         HAVE_STRUCT_RANDOM_DATA.
16314
16315 2008-10-26  Simon Josefsson  <simon@josefsson.org>
16316
16317         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
16318         * doc/gnulib-intro.texi (Copyright): Likewise.
16319
16320 2008-10-26  Simon Josefsson  <simon@josefsson.org>
16321
16322         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
16323         findings.
16324
16325 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
16326             Bruno Haible  <bruno@clisp.org>
16327
16328         * lib/unistd.in.h: Include <winsock2.h>.
16329         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
16330         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
16331         Provide dummy declarations.
16332         (gethostname): Override.
16333         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
16334         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
16335         gl_PREREQ_SYS_H_WINSOCK2.
16336         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
16337         * doc/posix-functions/gethostname.texi: More details.
16338
16339 2008-10-25  Bruno Haible  <bruno@clisp.org>
16340
16341         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
16342         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
16343         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
16344
16345         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
16346         here ...
16347         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
16348         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
16349         gl_UNISTD_H_DEFAULTS.
16350
16351 2008-10-25  Eric Blake  <ebb9@byu.net>
16352
16353         signbit: avoid spurious compiler failure
16354         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
16355         declarations inside function.
16356
16357 2008-10-24  Simon Josefsson  <simon@josefsson.org>
16358             Bruno Haible  <bruno@clisp.org>
16359
16360         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
16361         * modules/random_r (Depends-on): Add stdint.
16362
16363 2008-10-24  Bruno Haible  <bruno@clisp.org>
16364
16365         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
16366         Eggert.
16367         * modules/strerror (License): Likewise.
16368
16369 2008-10-24  Jim Meyering  <meyering@redhat.com>
16370
16371         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
16372         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
16373
16374 2008-10-24  Eric Blake  <ebb9@byu.net>
16375
16376         getgroups: fix compilation when getgroups is available
16377         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
16378         but with <config.h> override of getgroups disabled.
16379
16380 2008-10-24  Simon Josefsson  <simon@josefsson.org>
16381
16382         * doc/gnulib.texi (Header files): Add note about C++ problems.
16383         Explained by Bruno Haible <bruno@clisp.org>.
16384
16385 2008-10-23  Bruno Haible  <bruno@clisp.org>
16386
16387         Define a dummy SA_NODEFER macro on Interix.
16388         * lib/signal.in.h (SA_NODEFER): Define fallback.
16389         Reported by Aleksey Cheusov <cheusov@tut.by> via
16390         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
16391
16392 2008-10-23  Bruno Haible  <bruno@clisp.org>
16393
16394         * modules/freadahead (License): Change to LGPLv2+.
16395         Suggested by Simon Josefsson.
16396
16397 2008-10-23  Jim Meyering  <meyering@redhat.com>
16398
16399         random_r: new module
16400         * modules/random_r: New file.
16401         * m4/random_r.m4: New file.
16402         * lib/random_r.c: New file, from glibc.
16403         * modules/random_r-tests: New file.
16404         * tests/test-random_r.c: New file.
16405         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
16406          Declare.
16407         (RAND_MAX): Define.
16408         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
16409         * modules/stdlib: Substitute them, too.
16410         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
16411         * doc/glibc-functions/initstate_r.texi: Mention the new module.
16412         * doc/glibc-functions/random_r.texi: Likewise.
16413         * doc/glibc-functions/setstate_r.texi: Likewise.
16414         * doc/glibc-functions/srandom_r.texi: Likewise.
16415         * config/srclist.txt: Mention it.
16416
16417 2008-10-23  David Lutterkort  <lutter@redhat.com>
16418
16419         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
16420         link requirement
16421
16422 2008-10-23  Jim Meyering  <meyering@redhat.com>
16423
16424         selinux-h: mark parameters of stub functions as intentionally unused
16425         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
16426         * lib/se-context.in.h: Likewise.
16427
16428 2008-10-22  Simon Josefsson  <simon@josefsson.org>
16429
16430         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
16431
16432 2008-10-22  Simon Josefsson  <simon@josefsson.org>
16433
16434         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
16435
16436 2008-10-22  Eric Blake  <ebb9@byu.net>
16437
16438         glthread/thread: avoid compiler warning
16439         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
16440         Add unreachable abort to silence compiler.
16441
16442 2008-10-22  Eric Blake  <ebb9@byu.net>
16443
16444         netdb: also supply struct addrinfo for cygwin 1.5.x
16445         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
16446         older cygwin.
16447         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
16448         cygwin.
16449         * doc/posix-headers/netdb.texi (netdb.h): Document this.
16450
16451 2008-10-22  Bruno Haible  <bruno@clisp.org>
16452
16453         * users.txt: Update entry about pspp.
16454
16455 2008-10-21  Bruno Haible  <bruno@clisp.org>
16456
16457         Simplification.
16458         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
16459         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
16460
16461         Simplification.
16462         * lib/ioctl.c (ioctl): Don't undefine.
16463         * lib/socket.c (socket): Don't undefine.
16464
16465         Remove unused module indicator macros.
16466         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
16467         GNULIB_$1 as a C macro.
16468
16469         * doc/posix-functions/close.texi: Undo last change.
16470         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
16471         Windows platforms.
16472
16473 2008-10-21  Bruno Haible  <bruno@clisp.org>
16474
16475         Add gethostname() declaration to <unistd.h>.
16476         * lib/unistd.in.h (gethostname): New declaration.
16477         * lib/gethostname.c: Include <unistd.h>.
16478         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
16479         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
16480         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
16481         and HAVE_GETHOSTNAME.
16482         * modules/gethostname (Depends-on): Add unistd.
16483         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
16484         (Include): Specify <unistd.h>.
16485         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
16486         HAVE_GETHOSTNAME.
16487         * tests/test-gethostname.c: Include <unistd.h> first.
16488
16489 2008-10-21  Bruno Haible  <bruno@clisp.org>
16490
16491         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
16492         * modules/select-tests (Depends-on): Likewise.
16493         Reported by Simon Josefsson.
16494
16495 2008-10-21  Simon Josefsson  <simon@josefsson.org>
16496
16497         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
16498         * lib/accept.c: New file, based on winsock.c.
16499         * lib/bind.c: New file, based on winsock.c.
16500         * lib/connect.c: New file, based on winsock.c.
16501         * lib/getpeername.c: New file, based on winsock.c.
16502         * lib/getsockname.c: New file, based on winsock.c.
16503         * lib/getsockopt.c: New file, based on winsock.c.
16504         * lib/ioctl.c: New file, based on winsock.c.
16505         * lib/listen.c: New file, based on winsock.c.
16506         * lib/recv.c: New file, based on winsock.c.
16507         * lib/recvfrom.c: New file, based on winsock.c.
16508         * lib/send.c: New file, based on winsock.c.
16509         * lib/sendto.c: New file, based on winsock.c.
16510         * lib/setsockopt.c: New file, based on winsock.c.
16511         * lib/shutdown.c: New file, based on winsock.c.
16512         * lib/socket.c: New file, based on winsock.c.
16513         * lib/w32sock.h: New file, based on winsock.c.
16514         * lib/winsock.c: Remove file.
16515         * modules/accept: Likewise.
16516         * modules/bind: Likewise.
16517         * modules/connect: Likewise.
16518         * modules/getpeername: Likewise.
16519         * modules/getsockname: Likewise.
16520         * modules/getsockopt: Likewise.
16521         * modules/ioctl: Likewise.
16522         * modules/listen: Likewise.
16523         * modules/recv: Likewise.
16524         * modules/recvfrom: Likewise.
16525         * modules/send: Likewise.
16526         * modules/sendto: Likewise.
16527         * modules/setsockopt: Likewise.
16528         * modules/shutdown: Likewise.
16529         * modules/socket: Use socket.c instead of winsock.c.
16530         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
16531         * doc/posix-functions/accept.texi: Doc fix.
16532         * doc/posix-functions/bind.texi: Doc fix.
16533         * doc/posix-functions/close.texi: Doc fix.
16534         * doc/posix-functions/connect.texi: Doc fix.
16535         * doc/posix-functions/getpeername.texi: Doc fix.
16536         * doc/posix-functions/getsockname.texi: Doc fix.
16537         * doc/posix-functions/getsockopt.texi: Doc fix.
16538         * doc/posix-functions/ioctl.texi: Doc fix.
16539         * doc/posix-functions/listen.texi: Doc fix.
16540         * doc/posix-functions/recv.texi: Doc fix.
16541         * doc/posix-functions/recvfrom.texi: Doc fix.
16542         * doc/posix-functions/send.texi: Doc fix.
16543         * doc/posix-functions/sendto.texi: Doc fix.
16544         * doc/posix-functions/setsockopt.texi: Doc fix.
16545         * doc/posix-functions/shutdown.texi: Doc fix.
16546         * doc/posix-functions/socket.texi: Doc fix.
16547
16548 2008-10-20  Bruno Haible  <bruno@clisp.org>
16549
16550         Take into account the role of SIGABRT_COMPAT on Windows 2008.
16551         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
16552         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
16553         as an alias for SIGABRT.
16554         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
16555         (sigaction): Map it to SIGABRT.
16556         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
16557
16558 2008-10-20  Bruno Haible  <bruno@clisp.org>
16559
16560         * lib/fts.c: Don't include lstat.h.
16561         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
16562
16563         Move the lstat() declaration to <sys/stat.h>.
16564         * lib/lstat.h: Remove file.
16565         * lib/sys_stat.in.h: Add special invocation convention.
16566         (lstat): New declaration.
16567         * lib/lstat.c (orig_lstat): New function.
16568         (rpl_lstat): Use orig_lstat instead of lstat.
16569         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
16570         AC_C_INLINE. Set REPLACE_LSTAT.
16571         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
16572         and REPLACE_LSTAT.
16573         * modules/lstat (Files): Remove lib/lstat.h.
16574         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
16575         (Include): Specify <sys/stat.h> instead of lstat.h.
16576         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
16577         REPLACE_LSTAT.
16578         * NEWS: Mention the change.
16579
16580 2008-10-20  Bruno Haible  <bruno@clisp.org>
16581
16582         * modules/posix_spawn-tests: New file.
16583         * tests/test-posix_spawn3.c: New file.
16584
16585 2008-10-20  Bruno Haible  <bruno@clisp.org>
16586
16587         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
16588         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
16589         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
16590         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
16591         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
16592
16593 2008-10-20  Bruno Haible  <bruno@clisp.org>
16594
16595         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
16596         of posix_spawn on AIX 5.3.
16597
16598 2008-10-20  Bruno Haible  <bruno@clisp.org>
16599
16600         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
16601
16602 2008-10-20  Bruno Haible  <bruno@clisp.org>
16603
16604         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
16605         of AC_LANG_PROGRAM.
16606
16607 2008-10-20  Simon Josefsson  <simon@josefsson.org>
16608
16609         * lib/netdb.in.h: Don't define GNU specific constants until they
16610         are supported or needed.  Reported by Bruno Haible
16611         <bruno@clisp.org>.
16612
16613 2008-10-20  Simon Josefsson  <simon@josefsson.org>
16614
16615         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
16616
16617 2008-10-20  Simon Josefsson  <simon@josefsson.org>
16618
16619         * lib/getaddrinfo.h: Remove file.
16620         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
16621         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
16622         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
16623         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
16624         * modules/netdb: Substitute GNULIB_GETADDRINFO.
16625         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
16626         * tests/test-getaddrinfo.c: Likewise.
16627         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
16628         * NEWS: Mention change.
16629
16630 2008-10-19  Bruno Haible  <bruno@clisp.org>
16631
16632         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
16633
16634 2008-10-19  Bruno Haible  <bruno@clisp.org>
16635
16636         * lib/wait-process.c: Include simply <sys/wait.h>.
16637         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
16638         WIFSTOPPED): Remove fallback definitions.
16639         * modules/wait-process (Depends-on): Add sys_wait.
16640
16641         New module 'sys_wait'.
16642         * modules/sys_wait: New file.
16643         * lib/sys_wait.in.h: New file, partially copied from
16644         lib/wait-process.c.
16645         * m4/sys_wait_h.m4: New file.
16646         * doc/posix-headers/sys_wait.texi: Mention the new module.
16647
16648 2008-10-19  Bruno Haible  <bruno@clisp.org>
16649
16650         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
16651
16652 2008-10-19  Bruno Haible  <bruno@clisp.org>
16653
16654         Assume that waitpid() fills an 'int' status, not a 'union wait'.
16655         * lib/wait-process.c (WAIT_T): Remove type.
16656         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
16657         (wait_subprocess): Update.
16658
16659 2008-10-19  Bruno Haible  <bruno@clisp.org>
16660
16661         New module 'atoll'.
16662         * modules/atoll: New file.
16663         * lib/stdlib.in.h (atoll): New declaration.
16664         * lib/atoll.c: New file, from glibc with modifications.
16665         * m4/atoll.m4: New file.
16666         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
16667         HAVE_ATOLL.
16668         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
16669         * doc/posix-functions/atoll.texi: Mention the new module.
16670
16671 2008-10-19  Bruno Haible  <bruno@clisp.org>
16672
16673         Add strtoull() declaration to <stdlib.h>.
16674         * lib/stdlib.in.h (strtoull): New declaration.
16675         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
16676         Set HAVE_STRTOULL.
16677         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
16678         HAVE_STRTOULL.
16679         * modules/strtoull (Depends-on): Add stdlib.
16680         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
16681         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
16682         HAVE_STRTOULL.
16683
16684 2008-10-19  Bruno Haible  <bruno@clisp.org>
16685
16686         Add strtoll() declaration to <stdlib.h>.
16687         * lib/stdlib.in.h (strtoll): New declaration.
16688         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
16689         Set HAVE_STRTOLL.
16690         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
16691         HAVE_STRTOLL.
16692         * modules/strtoll (Depends-on): Add stdlib.
16693         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
16694         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
16695
16696 2008-10-19  Bruno Haible  <bruno@clisp.org>
16697
16698         * modules/bcopy (Depends-on): Add strings.
16699         (Include): Specify <strings.h>.
16700
16701 2008-10-19  Bruno Haible  <bruno@clisp.org>
16702
16703         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
16704
16705 2008-10-19  Bruno Haible  <bruno@clisp.org>
16706
16707         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
16708         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
16709         mingw.
16710
16711 2008-10-19  Bruno Haible  <bruno@clisp.org>
16712
16713         * lib/atanl.c: Don't include isnanl.h.
16714         * lib/cosl.c: Likewise.
16715         * lib/ldexpl.c: Likewise.
16716         * lib/logl.c: Likewise.
16717         * lib/sinl.c: Likewise.
16718         * lib/sqrtl.c: Likewise.
16719         * lib/tanl.c: Likewise.
16720
16721         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
16722         * lib/isnanf.h: Remove file.
16723         * lib/isnand.h: Remove file.
16724         * lib/isnanl.h: Remove file.
16725         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
16726         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
16727         macros.
16728         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
16729         HAVE_ISNANF, don't define it as a C macro.
16730         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
16731         HAVE_ISNAND, don't define it as a C macro.
16732         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
16733         HAVE_ISNANL, don't define it as a C macro.
16734         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
16735         HAVE_ISNAN[FDL].
16736         * modules/isnanf (Files): Remove lib/isnanf.h.
16737         (Depends-on): Add math.
16738         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
16739         (Include): Specify <math.h> instead of isnanf.h.
16740         * modules/isnand (Files): Remove lib/isnand.h.
16741         (Depends-on): Add math.
16742         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
16743         (Include): Specify <math.h> instead of isnand.h.
16744         * modules/isnanl (Files): Remove lib/isnanl.h.
16745         (Depends-on): Add math.
16746         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
16747         (Include): Specify <math.h> instead of isnanl.h.
16748         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
16749         HAVE_ISNAN[FDL].
16750         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
16751         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
16752         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
16753         * NEWS: Mention the change.
16754
16755 2008-10-18  Bruno Haible  <bruno@clisp.org>
16756
16757         Add getusershell(), setusershell(), endusershell() declarations to
16758         <unistd.h>.
16759         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
16760         declarations.
16761         * lib/getusershell.c: Include unistd.h.
16762         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
16763         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
16764         HAVE_GETUSERSHELL.
16765         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
16766         and HAVE_GETUSERSHELL.
16767         * modules/getusershell (Depends-on): Add unistd, extensions.
16768         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
16769         (Include): Specify <unistd.h>.
16770         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
16771         HAVE_GETUSERSHELL.
16772
16773 2008-10-18  Bruno Haible  <bruno@clisp.org>
16774
16775         Add a getloadavg() declaration to <stdlib.h>.
16776         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
16777         getloadavg declaration.
16778         (getloadavg): New declaration.
16779         * lib/getloadavg.c: Include <stdlib.h> first.
16780         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
16781         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
16782         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
16783         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
16784         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
16785         * modules/getloadavg (Depends-on): Add stdlib, extensions.
16786         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
16787         (Include): Specify <stdlib.h>.
16788         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
16789         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
16790
16791 2008-10-18  Bruno Haible  <bruno@clisp.org>
16792
16793         * lib/dirchownmod.c: Don't include lchmod.h.
16794
16795         Move the lchmod() declaration to <sys/stat.h>.
16796         * lib/lchmod.h: Remove file.
16797         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
16798         (lchmod): New declaration, moved here from lib/lchown.h.
16799         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
16800         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
16801         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
16802         and HAVE_LCHMOD.
16803         * modules/lchmod (Files): Remove lib/lchmod.h.
16804         (Depends-on): Add sys_stat, extensions.
16805         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
16806         (Include): Specify <sys/stat.h> instead of lchmod.h.
16807         * modules/sys_stat (Depends-on): Add link-warning.
16808         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
16809         definition of GL_LINK_WARNING.
16810         * NEWS: Mention the change.
16811
16812 2008-10-18  Bruno Haible  <bruno@clisp.org>
16813
16814         * lib/fchdir.c: Don't include dirfd.h.
16815         * lib/fts.c: Likewise.
16816         * lib/getcwd.c: Likewise.
16817         * lib/glob.c: Likewise.
16818
16819         Move the dirfd() declaration to <dirent.h>.
16820         * lib/dirfd.h: Remove file.
16821         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
16822         (dirfd): New declaration.
16823         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
16824         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
16825         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
16826         HAVE_DECL_DIRFD.
16827         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
16828         HAVE_DECL_DIRFD.
16829         * modules/dirfd (Files): Remove lib/dirfd.h.
16830         (Depends-on): Add dirent, extensions.
16831         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
16832         (Include): Specify <dirent.h> instead of dirfd.h.
16833         * modules/dirent (Depends-on): Add link-warning.
16834         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
16835         definition of GL_LINK_WARNING.
16836         * NEWS: Mention the change.
16837
16838 2008-10-18  Bruno Haible  <bruno@clisp.org>
16839
16840         Move the euidaccess() declaration to <unistd.h>.
16841         * lib/euidaccess.h: Remove file.
16842         * lib/unistd.in.h (euidaccess): New declaration.
16843         * lib/euidaccess.c: Don't include euidaccess.h.
16844         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
16845         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
16846         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
16847         and HAVE_EUIDACCESS.
16848         * modules/euidaccess (Files): Remove lib/euidaccess.h.
16849         (Depends-on): Add unistd.
16850         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
16851         (Include): Specify <unistd.h> instead of euidaccess.h.
16852         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
16853         HAVE_EUIDACCESS.
16854         * NEWS: Mention the change.
16855
16856 2008-10-18  Bruno Haible  <bruno@clisp.org>
16857
16858         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
16859
16860         Move the getdomainname() declaration to <unistd.h>.
16861         * lib/getdomainname.h: Remove file.
16862         * lib/unistd.in.h (getdomainname): New declaration.
16863         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
16864         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
16865         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
16866         HAVE_GETDOMAINNAME.
16867         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
16868         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
16869         * modules/getdomainname (Files): Remove lib/getdomainname.h.
16870         (Depends-on): Add unistd, extensions.
16871         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
16872         (Includes): Specify <unistd.h> instead of getdomainname.h.
16873         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
16874         HAVE_GETDOMAINNAME.
16875         * NEWS: Mention the change.
16876
16877 2008-10-18  Bruno Haible  <bruno@clisp.org>
16878
16879         * modules/dirent: New file.
16880         * m4/dirent_h.m4: New file.
16881         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
16882         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
16883         * modules/fchdir (Files): Remove lib/dirent.in.h.
16884         (Depends-on): Add dirent.
16885         (Makefile.am): Move rules to modules/dirent.
16886         * doc/posix-headers/dirent.texi: Mention the new module.
16887
16888 2008-10-18  Bruno Haible  <bruno@clisp.org>
16889
16890         Avoid -Wunused-parameter warnings in public gnulib header files.
16891         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
16892         macro.
16893         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
16894
16895 2008-10-18  Bruno Haible  <bruno@clisp.org>
16896
16897         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
16898         * doc/glibc-functions/error.texi: Mention the module 'error'.
16899         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
16900         * doc/glibc-functions/getdomainname.texi: Mention the module
16901         'getdomainname'.
16902         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
16903         * doc/glibc-functions/getpagesize.texi: Mention the module
16904         'getpagesize'.
16905         * doc/glibc-functions/getusershell.texi: Mention the module
16906         'getusershell'.
16907         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
16908         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
16909         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
16910         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
16911         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
16912         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
16913         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
16914         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
16915         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
16916         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
16917         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
16918         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
16919         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
16920         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
16921
16922 2008-10-17  Bruno Haible  <bruno@clisp.org>
16923
16924         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
16925         HP-UX and IRIX, use -0.0L.
16926         * tests/test-ceill.c (minus_zero): Likewise.
16927         * tests/test-floorl.c (minus_zero): Likewise.
16928         * tests/test-frexpl.c (minus_zero): Likewise.
16929         * tests/test-isnan.c (minus_zerol): Likewise.
16930         * tests/test-isnanl.h (minus_zero): Likewise.
16931         * tests/test-ldexpl.c (minus_zero): Likewise.
16932         * tests/test-roundl.c (minus_zero): Likewise.
16933         * tests/test-signbit.c (minus_zerol): Likewise.
16934         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
16935         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
16936         * tests/test-truncl.c (minus_zero): Likewise.
16937         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
16938         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
16939         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
16940         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
16941
16942 2008-10-17  Bruno Haible  <bruno@clisp.org>
16943
16944         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
16945         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
16946         that it gets activated only for gcc >= 3.0.
16947         * lib/dirent.in.h: Likewise.
16948         * lib/errno.in.h: Likewise.
16949         * lib/fcntl.in.h: Likewise.
16950         * lib/float.in.h: Likewise.
16951         * lib/iconv.in.h: Likewise.
16952         * lib/inttypes.in.h: Likewise.
16953         * lib/locale.in.h: Likewise.
16954         * lib/math.in.h: Likewise.
16955         * lib/netdb.in.h: Likewise.
16956         * lib/netinet_in.in.h: Likewise.
16957         * lib/search.in.h: Likewise.
16958         * lib/signal.in.h: Likewise.
16959         * lib/spawn.in.h: Likewise.
16960         * lib/stdarg.in.h: Likewise.
16961         * lib/stdint.in.h: Likewise.
16962         * lib/stdio.in.h: Likewise.
16963         * lib/stdlib.in.h: Likewise.
16964         * lib/string.in.h: Likewise.
16965         * lib/strings.in.h: Likewise.
16966         * lib/sys_file.in.h: Likewise.
16967         * lib/sys_ioctl.in.h: Likewise.
16968         * lib/sys_select.in.h: Likewise.
16969         * lib/sys_socket.in.h: Likewise.
16970         * lib/sys_stat.in.h: Likewise.
16971         * lib/sys_time.in.h: Likewise.
16972         * lib/sysexits.in.h: Likewise.
16973         * lib/time.in.h: Likewise.
16974         * lib/unistd.in.h: Likewise.
16975         * lib/wchar.in.h: Likewise.
16976         * lib/wctype.in.h: Likewise.
16977         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
16978
16979 2008-10-17  Jim Meyering  <meyering@redhat.com>
16980
16981         ignore-value: don't depend on inline module
16982         * modules/ignore-value (Depends-on): Remove 'inline'.
16983         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
16984         Suggestion from Bruno Haible.
16985
16986 2008-10-17  Bruno Haible  <bruno@clisp.org>
16987
16988         New implementation of condition variables for Win32.
16989         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
16990         (gl_linked_waitqueue_t): New type.
16991         (gl_cond_t): Use it.
16992         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
16993         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
16994         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
16995         (glthread_cond_init_func, glthread_cond_wait_func,
16996         glthread_cond_timedwait_func, glthread_cond_signal_func,
16997         glthread_cond_broadcast_func, glthread_cond_destroy_func):
16998         Reimplemented on the basis of gl_linked_waitqueue_t.
16999         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
17000         gl_waitqueue_t.
17001         (gl_rwlock_t): Update.
17002         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
17003
17004 2008-10-17  Simon Josefsson  <simon@josefsson.org>
17005
17006         * modules/recvfrom (Depends-on): Add dependency on getpeername.
17007         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
17008
17009 2008-10-17  Jim Meyering  <meyering@redhat.com>
17010
17011         ignore-value: new module
17012         * modules/ignore-value: New file.
17013         * lib/ignore-value.h: New file.
17014         * MODULES.html.sh (Compiler warning management): New section,
17015         just for this module.  More to come.
17016
17017 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
17018
17019         open-safer.c: avoid 'signed and unsigned in conditional...' warning
17020         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
17021         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
17022
17023 2008-10-16  Jim Meyering  <meyering@redhat.com>
17024
17025         openat-die.c: avoid 'no previous prototype' warning
17026         * lib/openat-die.c: Include "openat.h".
17027         Reported by Reuben Thomas <rrt@sc3d.org>.
17028
17029 2008-10-16  Simon Josefsson  <simon@josefsson.org>
17030
17031         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
17032         * lib/netdb.in.h: Fix typo.
17033         Reported by Bruno Haible  <bruno@clisp.org>
17034
17035         * lib/netdb.in.h: Include sys/socket.h for platforms without
17036         netdb.h, to get structures like hostent on MinGW.
17037         * modules/netdb (Depends-on): Add sys_socket.
17038
17039 2008-10-15  Simon Josefsson  <simon@josefsson.org>
17040
17041         * modules/netdb, modules/netdb-tests: New file.
17042         * m4/netdb_h.m4: New file.
17043         * lib/netdb.in.h: Add, currently just an empty file pending
17044         definitions.
17045         * tests/test-netdb.c: New file.
17046         * doc/posix-headers/netdb.texi: Mention that we replace it if
17047         needed.
17048         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
17049         netdb.
17050
17051 2008-10-15  Simon Josefsson  <simon@josefsson.org>
17052
17053         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
17054         with code.
17055
17056 2008-10-13  Bruno Haible  <bruno@clisp.org>
17057
17058         * lib/glthread/cond.c (glthread_cond_wait_func,
17059         glthread_cond_timedwait_func): Add a comment.
17060
17061 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
17062
17063         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
17064         * tests/test-select.c: Likewise,
17065
17066 2008-10-13  Bruno Haible  <bruno@clisp.org>
17067
17068         * lib/glthread/cond.c (glthread_cond_wait_func,
17069         glthread_cond_timedwait_func): Fix variable name.
17070         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
17071
17072 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
17073
17074         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
17075         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
17076         struct sockaddr.sa_len.
17077         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
17078
17079 2008-10-13  Simon Josefsson  <simon@josefsson.org>
17080
17081         * build-aux/pmccabe2html: Add css and css_url parameters.
17082
17083 2008-10-12  Bruno Haible  <bruno@clisp.org>
17084
17085         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
17086         calling aclx_get.
17087         Reported by Rainer Tammer <tammer@tammer.net>.
17088
17089 2008-10-12  Bruno Haible  <bruno@clisp.org>
17090
17091         Use msvcrt aware primitives for creation/termination of Win32 threads.
17092         * lib/glthread/thread.c: Include <process.h>.
17093         (glthread_create_func): Use _beginthreadex instead of CreateThread.
17094         (wrapper_func): Update signature.
17095         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
17096
17097 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
17098             Bruno Haible  <bruno@clisp.org>
17099
17100         Provide a Win32 implementation of the 'cond' module.
17101         * lib/glthread/cond.h [USE_WIN32]: New implementation.
17102         * lib/glthread/cond.c (glthread_cond_init_func,
17103         glthread_cond_wait_func, glthread_cond_timedwait_func,
17104         glthread_cond_signal_func, glthread_cond_broadcast_func,
17105         glthread_cond_destroy_func) [USE_WIN32]: New functions.
17106         * modules/cond (Dependencies): Add gettimeofday.
17107
17108 2008-10-11  Bruno Haible  <bruno@clisp.org>
17109
17110         Make sleep work on older versions of mingw.
17111         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
17112         only whether it exists.
17113         * doc/posix-functions/sleep.texi: Mention the problem with older
17114         versions of mingw.
17115
17116 2008-10-11  Bruno Haible  <bruno@clisp.org>
17117
17118         New module 'shutdown'.
17119         * modules/shutdown: New file.
17120         * lib/sys_socket.in.h (shutdown): New declaration.
17121         * lib/winsock.c (shutdown): New function.
17122         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
17123         GNULIB_SHUTDOWN.
17124         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
17125         * doc/posix-functions/shutdown.texi: Document the new module.
17126
17127 2008-10-11  Jim Meyering  <meyering@redhat.com>
17128
17129         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
17130
17131 2008-10-11  Bruno Haible  <bruno@clisp.org>
17132
17133         New module 'fclose'.
17134         * modules/fclose: New file.
17135         * lib/stdio.in.h (fclose): New declaration.
17136         * lib/fclose.c: New file.
17137         * m4/fclose.m4: New file.
17138         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
17139         REPLACE_FCLOSE.
17140         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
17141         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
17142         REPLACE_FCLOSE.
17143         * modules/close (Depends-on): fclose.
17144         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
17145
17146 2008-10-11  Bruno Haible  <bruno@clisp.org>
17147
17148         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
17149         set errno and don't call _close.
17150
17151 2008-10-10  Bruno Haible  <bruno@clisp.org>
17152
17153         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
17154         ACL, not afterwards. Fixes test failure on Cygwin.
17155
17156 2008-10-09  Ben Pfaff  <blp@gnu.org>
17157
17158         * build-aux/announce-gen: Fix gnulib version related part of usage
17159         message.  Die with a useful error message if no tarballs are
17160         found.
17161
17162 2008-10-10  Jim Meyering  <meyering@redhat.com>
17163
17164         bootstrap: use git's --depth=N option only if it's supported
17165         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
17166         recognize the --depth option.  Reported by Pádraig Brady.
17167
17168 2008-10-09  Bruno Haible  <bruno@clisp.org>
17169
17170         New module 'ioctl'.
17171         * modules/ioctl: New file.
17172         * lib/sys_socket.in.h (ioctl): Remove declaration.
17173         * lib/winsock.c: Include <sys/ioctl.h>.
17174         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
17175         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
17176         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
17177         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
17178         * doc/posix-functions/ioctl.texi: Mention the new module.
17179
17180 2008-10-09  Bruno Haible  <bruno@clisp.org>
17181
17182         New module 'sys_ioctl'.
17183         * lib/sys_ioctl.in.h: New file.
17184         * m4/sys_ioctl_h.m4: New file.
17185         * modules/sys_ioctl: New file.
17186         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
17187
17188 2008-10-09  Bruno Haible  <bruno@clisp.org>
17189
17190         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
17191         * lib/winsock.c: Include <stdarg.h>.
17192         (rpl_ioctl): Change to second argument 'int' and then varargs.
17193
17194 2008-10-09  Bruno Haible  <bruno@clisp.org>
17195
17196         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
17197         when the sys_socket module is present and the system has <winsock2.h>.
17198
17199 2008-10-09  Bruno Haible  <bruno@clisp.org>
17200
17201         * doc/posix-functions/close.texi: Mention module 'close' instead of
17202         module 'sys_socket'.
17203
17204 2008-10-09  Bruno Haible  <bruno@clisp.org>
17205
17206         * doc/glibc-headers/sys_ioctl.texi: New file.
17207         * doc/gnulib.texi: Include it.
17208
17209 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
17210             Bruno Haible  <bruno@clisp.org>
17211
17212         Combine the two replacements of 'close'.
17213         * lib/sys_socket.in.h (close): Define to a reminder to include
17214         <unistd.h>.
17215         (_gl_close_fd_maybe_socket): New declaration.
17216         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
17217         * lib/winsock.c (close): Remove undefinition.
17218         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
17219         needed for the gnulib module 'close'.
17220         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
17221         define to an error symbol or to a warning, if suitable.
17222         * lib/close.c: Include <sys/socket.h>.
17223         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
17224         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
17225         UNISTD_H_HAVE_WINSOCK2_H.
17226         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
17227         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17228         UNISTD_H_HAVE_WINSOCK2_H.
17229         * modules/sys_socket (Files): Add m4/unistd_h.m4.
17230         (configure.ac): Set a module indicator.
17231         (Makefile.am): Substitute GNULIB_CLOSE.
17232         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
17233         * modules/poll-tests (Depends-on): Add close.
17234         * modules/select-tests (Depends-on): Likewise.
17235
17236 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
17237             Bruno Haible  <bruno@clisp.org>
17238
17239         New module 'close'.
17240         * modules/close: New file.
17241         * lib/unistd.in.h (close): Move declaration out of the
17242         FCHDIR_REPLACEMENT scope.
17243         (_gl_unregister_fd): New declaration.
17244         * lib/close.c: New file.
17245         * lib/fchdir.c (rpl_close): Remove function.
17246         * m4/close.m4: New file.
17247         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
17248         close.
17249         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
17250         REPLACE_CLOSE.
17251         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
17252         REPLACE_CLOSE.
17253         * modules/fchdir (Depends-on): Add close.
17254
17255 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
17256             Bruno Haible  <bruno@clisp.org>
17257
17258         * lib/fcntl.in.h (open): Simplify conditionals.
17259         (_gl_register_fd): New declaration.
17260         * lib/fchdir.c (rpl_open): Remove function.
17261         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
17262         also.
17263         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
17264         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
17265         open.
17266
17267 2008-10-09  Jim Meyering  <meyering@redhat.com>
17268
17269         GNUmakefile: use the more name-space-friendly "_version"
17270         * top/GNUmakefile (_dummy): Update.
17271         (_version): Rename from "version".
17272
17273 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
17274             Bruno Haible  <bruno@clisp.org>
17275
17276         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
17277         rpl_close.
17278         (_gl_register_fd): New function, extracted from rpl_open.
17279         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
17280         (rpl_open, rpl_opendir): Use _gl_register_fd.
17281
17282 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
17283
17284         Fix organization of 'open' replacement.
17285         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
17286         (gl_FUNC_OPEN): Use it.
17287         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
17288
17289 2008-10-08  Bruno Haible  <bruno@clisp.org>
17290
17291         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
17292
17293 2008-10-08  Simon Josefsson  <simon@josefsson.org>
17294
17295         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
17296         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
17297         listen).
17298
17299 2008-10-08  Eric Blake  <ebb9@byu.net>
17300
17301         GNUmakefile: add 'make version' target
17302         * top/GNUmakefile (_curr-ver): Split version update rules...
17303         (version): ...into a target.
17304
17305 2008-10-07  Bruno Haible  <bruno@clisp.org>
17306
17307         Use a more portable replacement expression for -0.0L.
17308         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
17309         instead of -0.0L. Fix m4 quotation.
17310
17311         * tests/test-signbit.c: Include <float.h>.
17312         (minus_zero): New variable.
17313         (test_signbitl): Use minus_zero instead of -zero.
17314         * modules/signbit-tests (Depends-on): Add float.
17315
17316         * tests/test-ceill.c: Include <float.h>.
17317         (zero): Remove variable.
17318         (minus_zero): New variable.
17319         (main): Use minus_zero instead of -zero.
17320         * modules/ceill-tests (Depends-on): Add float.
17321
17322         * tests/test-floorl.c: Include <float.h>.
17323         (zero): Remove variable.
17324         (minus_zero): New variable.
17325         (main): Use minus_zero instead of -zero.
17326         * modules/floorl-tests (Depends-on): Add float.
17327
17328         * tests/test-roundl.c: Include <float.h>.
17329         (zero): Remove variable.
17330         (minus_zero): New variable.
17331         (main): Use minus_zero instead of -zero.
17332         * modules/roundl-tests (Depends-on): Add float.
17333
17334         * tests/test-truncl.c: Include <float.h>.
17335         (zero): Remove variable.
17336         (minus_zero): New variable.
17337         (main): Use minus_zero instead of -zero.
17338         * modules/truncl-tests (Depends-on): Add float.
17339
17340         * tests/test-frexpl.c (zero): Remove variable.
17341         (minus_zero): New variable.
17342         (main): Use minus_zero instead of -zero.
17343         * modules/frexpl-tests (Depends-on): Add float.
17344
17345         * tests/test-isnan.c (zerol): Remove variable.
17346         (minus_zerol): New variable.
17347         (test_long_double): Use minus_zerol instead of -zerol.
17348         * modules/isnan-tests (Depends-on): Add float.
17349
17350         * tests/test-isnanl.h (zero): Remove variable.
17351         (minus_zero): New variable.
17352         (main): Use minus_zero instead of -zero.
17353         * modules/isnanl-nolibm-tests (Depends-on): Add float.
17354         * modules/isnanl-tests (Depends-on): Add float.
17355
17356         * tests/test-ldexpl.c (zero): Remove variable.
17357         (minus_zero): New variable.
17358         (main): Use minus_zero instead of -zero.
17359         * modules/ldexpl-tests (Depends-on): Add float.
17360
17361         * tests/test-snprintf-posix.h (zerol): Remove variable.
17362         (minus_zerol): New variable.
17363         (test_function): Use minus_zerol instead of -zerol.
17364         * modules/snprintf-posix-tests (Depends-on): Add float.
17365         * modules/vsnprintf-posix-tests (Depends-on): Add float.
17366
17367         * tests/test-sprintf-posix.h (zerol): Remove variable.
17368         (minus_zerol): New variable.
17369         (test_function): Use minus_zerol instead of -zerol.
17370         * modules/sprintf-posix-tests (Depends-on): Add float.
17371         * modules/vsprintf-posix-tests (Depends-on): Add float.
17372
17373         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
17374         (minus_zerol): New variable.
17375         (test_function): Use minus_zerol instead of -zerol.
17376         * modules/vasnprintf-posix-tests (Depends-on): Add float.
17377
17378         * tests/test-vasprintf-posix.c (zerol): Remove variable.
17379         (minus_zerol): New variable.
17380         (test_function): Use minus_zerol instead of -zerol.
17381         * modules/vasprintf-posix-tests (Depends-on): Add float.
17382
17383 2008-10-07  Simon Josefsson  <simon@josefsson.org>
17384
17385         * MODULES.html.sh (Support for building documentation): Mention
17386         pmccabe2html.  Sort entries.
17387
17388         Add pmccabe2html module, from gnupdf.
17389         * build-aux/pmccabe.css: New file.
17390         * build-aux/pmccabe2html: New file.
17391         * m4/pmccabe2html.m4: New file.
17392         * modules/pmccabe2html: New file.
17393
17394 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
17395
17396         flock: new module
17397         * MODULES.html.sh: Add to list of modules.
17398         * lib/flock.c: flock implementation for Windows and Unix systems
17399         which have fcntl.
17400         * doc/glibc-functions/flock.texi: Update documentation.
17401         * lib/sys_file.in.h: <sys/file.h> header file.
17402         * m4/flock.m4: M4 macros.
17403         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
17404         * modules/flock: flock module.
17405         * modules/flock-tests: flock tests module.
17406         * modules/sys_file: sys/file.h module.
17407         * tests/test-flock.c: test suite for flock.
17408
17409 2008-10-06  Jim Meyering  <meyering@redhat.com>
17410
17411         bootstrap: check for LT_INIT more portably still ;-)
17412         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
17413         Spotted by Bruno Haible.
17414
17415 2008-10-06  Eric Blake  <ebb9@byu.net>
17416
17417         test-signbit: avoid tripping Irix cc bug on -0.0L
17418         * tests/test-signbit.c (minus_zerol): Delete, and replace with
17419         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
17420         entire testsuite consistent and avoids an Irix 6.2 bug.
17421
17422 2008-10-05  Bruno Haible  <bruno@clisp.org>
17423             Jim Meyering  <jim@meyering.net>
17424
17425         Add an option for ignoring EPIPE during close_stdout.
17426         * lib/closeout.h: Include <stdbool.h>.
17427         (close_stdout_set_ignore_EPIPE): New declaration.
17428         * lib/closeout.c: Include <stdbool.h>.
17429         (ignore_EPIPE): New variable.
17430         (close_stdout_set_ignore_EPIPE): New function.
17431         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
17432         * lib/close-stream.c (close_stream): Mention the possible EPIPE
17433         failure.
17434         * modules/closeout (Depends-on): Add stdbool.
17435
17436 2008-10-05  Bruno Haible  <bruno@clisp.org>
17437
17438         * modules/accept: New file.
17439         * modules/bind: New file.
17440         * modules/connect: New file.
17441         * modules/getpeername: New file.
17442         * modules/getsockname: New file.
17443         * modules/getsockopt: New file.
17444         * modules/listen: New file.
17445         * modules/recv: New file.
17446         * modules/recvfrom: New file.
17447         * modules/send: New file.
17448         * modules/sendto: New file.
17449         * modules/setsockopt: New file.
17450         * modules/socket: New file.
17451         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
17452         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
17453         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
17454         the particular module is requested. Add a link warning when the
17455         particular module is not requested.
17456         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
17457         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
17458         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
17459         the particular module is requested.
17460         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
17461         gl_SYS_SOCKET_H_DEFAULTS): New macros.
17462         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
17463         * modules/sys_socket (Depends-on): Add link-warning.
17464         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
17465         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
17466         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
17467         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
17468         GL_LINK_WARNING.
17469         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
17470         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
17471         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
17472         * doc/posix-functions/getpeername.texi: Mention the new module
17473         'getpeername'.
17474         * doc/posix-functions/getsockname.texi: Mention the new module
17475         'getsockname'.
17476         * doc/posix-functions/getsockopt.texi: Mention the new module
17477         'getsockopt'.
17478         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
17479         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
17480         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
17481         * doc/posix-functions/send.texi: Mention the new module 'send'.
17482         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
17483         * doc/posix-functions/setsockopt.texi: Mention the new module
17484         'setsockopt'.
17485         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
17486         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
17487         listen, connect, accept.
17488         * modules/select-tests (Depends-on): Likewise.
17489
17490 2008-10-05  Bruno Haible  <bruno@clisp.org>
17491
17492         * lib/winsock.c (strerror): Remove unused #undef.
17493         (rpl_close): Remove unused local variable.
17494
17495         * modules/sys_socket (Depends-on); Add errno.
17496
17497 2008-10-05  Bruno Haible  <bruno@clisp.org>
17498
17499         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
17500         (select): Add a link warning when the 'select' module is not used.
17501         * modules/sys_select (Depends-on): Add link-warning.
17502         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
17503         Suggested by Paolo Bonzini.
17504
17505 2008-10-05  Jim Meyering  <meyering@redhat.com>
17506
17507         bootstrap: check for LT_INIT more portably
17508         * build-aux/bootstrap: Avoid using grep -E, since it's not
17509         portable enough.  Suggestion from Bruno Haible.
17510
17511 2008-10-05  Bruno Haible  <bruno@clisp.org>
17512
17513         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
17514         as being fixed by gnulib.
17515
17516 2008-10-05  Bruno Haible  <bruno@clisp.org>
17517
17518         * modules/select-tests: New file, mostly copied from
17519         modules/sys_select-tests.
17520         * tests/test-select.c: New file, mostly copied from
17521         tests/test-sys_select.c.
17522         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
17523         * modules/sys_select-tests (Depends-on): Remove all dependencies.
17524         (Makefile.am): Remove test_sys_select_LDADD.
17525
17526         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
17527         to an undefined symbol, for an error message.
17528         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
17529         (gl_SYS_SELECT_H_DEFAULTS): New macro.
17530         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
17531         winsock-select.c here.
17532         * modules/sys_select (Files): Remove lib/winsock-select.c.
17533         (Depends-on): Remove alloca.
17534         (Makefile.am): Substitute GNULIB_SELECT.
17535         * modules/select: New file.
17536         * doc/posix-functions/select.texi: Update.
17537
17538 2008-10-05  Bruno Haible  <bruno@clisp.org>
17539
17540         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
17541         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
17542         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
17543         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
17544         getdtablesize.
17545         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
17546         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
17547
17548 2008-10-05  Bruno Haible  <bruno@clisp.org>
17549
17550         * modules/getdtablesize-tests: New file.
17551         * tests/test-getdtablesize.c: New file.
17552
17553         New module 'getdtablesize'.
17554         * lib/unistd.in.h (getdtablesize): New declaration.
17555         * lib/getdtablesize.c: New file.
17556         * m4/getdtablesize.m4: New file.
17557         * modules/getdtablesize: New file.
17558         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17559         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
17560         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
17561         HAVE_GETDTABLESIZE.
17562         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
17563
17564 2008-10-05  Bruno Haible  <bruno@clisp.org>
17565
17566         * modules/sched (Makefile.am): Fix typo.
17567         Reported by Simon Josefsson.
17568
17569 2008-10-05  Jim Meyering  <meyering@redhat.com>
17570
17571         bootstrap: check for LT_INIT, too
17572         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
17573         are deprecated.  Suggestion from Ralf Wildenhues.
17574
17575 2008-10-05  Bruno Haible  <bruno@clisp.org>
17576
17577         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
17578         overriding them by ours.
17579         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
17580
17581 2008-10-05  Jim Meyering  <meyering@redhat.com>
17582
17583         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
17584         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
17585         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
17586
17587 2008-10-04  Bruno Haible  <bruno@clisp.org>
17588
17589         * modules/dup2 (License): Change to LGPLv2+.
17590         * modules/sleep (License): Likewise.
17591         * modules/perror (License): Likewise.
17592         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
17593         Blake.
17594         * modules/signal (License): Likewise.
17595         * modules/sigprocmask (License): Likewise.
17596         * modules/raise (License): Change to LGPLv2+, with approval by Jim
17597         Meyering.
17598
17599 2008-10-04  Bruno Haible  <bruno@clisp.org>
17600
17601         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
17602         Reported by Rainer Tammer <tammer@tammer.net>.
17603
17604 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
17605             Bruno Haible  <bruno@clisp.org>
17606
17607         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
17608         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
17609         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
17610
17611 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
17612
17613         filevercmp: new module
17614         * lib/filevercmp.h: New function filevercmp comparing version strings.
17615         * lib/filevercmp.c: Implementation of filevercmp function.
17616         * modules/filevercmp: Module metadata.
17617         * tests/test-filevercmp.c: Unit test for new module.
17618         * modules/filevercmp-tests: Unit test metadata.
17619         * MODULES.html.sh: Add filevercmp module.
17620
17621 2008-10-03  Bruno Haible  <bruno@clisp.org>
17622
17623         * lib/c-ctype.h: Add comment.
17624         Reported by Jim Meyering.
17625
17626 2008-10-02  Bruno Haible  <bruno@clisp.org>
17627
17628         * modules/posix_spawn-internal (Depends-on): Add 'open'.
17629
17630 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
17631
17632         * build-aux/bootstrap: Allow renaming bootstrap, and change the
17633         name of bootstrap.conf accordingly.
17634
17635 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
17636
17637         * build-aux/bootstrap: Install git-merge-changelog configuration
17638         items into .gitconfig if needed.
17639
17640 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
17641
17642         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
17643         git repository, and initialize/update it accordingly.
17644
17645 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
17646
17647         * modules/fsync-tests: New file.
17648         * tests/test-fsync.c: New file.
17649
17650         New module 'fsync'.
17651         * lib/fsync.c: New file.
17652         * m4/fsync.m4: New file.
17653         * modules/fsync: New file.
17654         * lib/unistd.in.h (fsync): New declaration.
17655         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
17656         GNULIB_FSYNC and HAVE_FSYNC.
17657         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
17658         * MODULES.html.sh (posix_functions): Add fsync.
17659         * doc/posix-functions/fsync.texi: Mention the new module.
17660
17661 2008-10-02  Jim Meyering  <meyering@redhat.com>
17662
17663         fts.c: sync with similar code from coreutils' remove.c
17664         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
17665         Guard also with "#if defined __linux__", since for now at least,
17666         this code is Linux-kernel-specific.
17667
17668 2008-10-02  Jim Meyering  <meyering@redhat.com>
17669
17670         fts: bug fixes
17671         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
17672         Include <sys/vfs.h>, not <sys/statfs.h>.
17673
17674         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
17675         Include <sys/vfs.h>, not <sys/statfs.h>.
17676
17677 2008-10-01  Bruno Haible  <bruno@clisp.org>
17678
17679         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
17680         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
17681         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
17682         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
17683         * doc/posix-functions/posix_spawnp.texi: Likewise.
17684         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
17685         whether posix_spawn actually works.
17686         * m4/pipe.m4 (gl_PIPE): Likewise.
17687         * modules/execute (Files): Add m4/posix_spawn.m4.
17688         * modules/pipe (Files): Add m4/posix_spawn.m4.
17689         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
17690
17691 2008-10-01  Jim Meyering  <meyering@redhat.com>
17692
17693         remove trailing spaces
17694         * NEWS: Likewise.
17695         * lib/poll.c (poll): Likewise.
17696         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
17697         * lib/winsock.c (rpl_close): Likewise.
17698         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
17699         * modules/yield: Likewise.
17700         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
17701         * tests/test-sys_select.c (connect_to_socket): Likewise.
17702
17703         fts.c: adjust a new interface to be more generally useful
17704         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
17705         (fts_build): Adjust caller.
17706
17707 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17708
17709         * modules/cond-tests: New file.
17710         * tests/test-cond.c: New file.
17711
17712 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17713             Bruno Haible  <bruno@clisp.org>
17714
17715         * modules/cond (Dependencies): Add errno, time.
17716         * lib/glthread/cond.h: Include <time.h>.
17717         (gl_cond_define, gl_cond_define_initialized): Use the same definition
17718         across platforms.
17719
17720 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17721             Bruno Haible  <bruno@clisp.org>
17722
17723         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
17724
17725 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17726             Bruno Haible  <bruno@clisp.org>
17727
17728         * modules/tls-tests (Depends-on): Add thread, yield.
17729         (configure.ac): Remove all checks.
17730         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
17731         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
17732         gl_thread_self): Remove definitions. Include glthread/thread.h and
17733         glthread/yield.h instead.
17734         (test_tls): Pass an additional NULL argument to gl_thread_join.
17735
17736 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17737             Bruno Haible  <bruno@clisp.org>
17738
17739         * modules/lock-tests (Depends-on): Add thread, yield.
17740         (configure.ac): Remove all checks.
17741         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
17742         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
17743         gl_thread_self): Remove definitions. Include glthread/thread.h and
17744         glthread/yield.h instead.
17745         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
17746         additional NULL argument to gl_thread_join.
17747
17748 2008-09-30  Bruno Haible  <bruno@clisp.org>
17749
17750         Fix the Win32 implementation of the 'thread' module.
17751         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
17752         pointer type.
17753         (gl_thread_self): Invoke gl_thread_self_func.
17754         (gl_thread_self_func): New declaration.
17755         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
17756         (do_init_self_key, init_self_key): New functions.
17757         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
17758         Remove some fields.
17759         (running_threads, running_lock): Remove variables.
17760         (get_current_thread_handle): New function.
17761         (gl_thread_self_func, wrapper_func, glthread_create_func,
17762         glthread_join_func, gl_thread_exit_func): Largely rewritten and
17763         simplified.
17764
17765 2008-09-30  Bruno Haible  <bruno@clisp.org>
17766
17767         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
17768         files.
17769
17770 2008-09-30  Jim Meyering  <meyering@redhat.com>
17771
17772         fts.m4: correct the test for statfs.f_type
17773         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
17774         when checking for statfs.f_type.
17775
17776 2008-09-15  Simon Josefsson  <simon@josefsson.org>
17777
17778         tests: avoid some compiler warnings
17779         * tests/test-memchr.c (main): Pass NULL indirectly.
17780         * tests/test-getdate.c (main): Remove unused variable 'ret'.
17781
17782 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
17783
17784         getdate.y: disallow countable dayshifts like "4 yesterday ago"
17785         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
17786         exactly specified dayshifts.
17787         (dayshift): New rule.
17788         (rel): Add dayshift.
17789         (relative_time_table) [tomorrow, yesterday, today, now]:
17790         Use tDAY_SHIFT in place of tDAY_UNIT.
17791         * tests/test-getdate.c: Add tests for now-disallowed countable
17792         dayshifts, e.g., "4 yesterday ago".
17793
17794 2008-09-29  Bruno Haible  <bruno@clisp.org>
17795
17796         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
17797         * tests/test-posix_spawn1.in.sh: Renamed from
17798         tests/test-posix_spawn.in.sh.
17799         * tests/test-posix_spawn2.c: New file.
17800         * tests/test-posix_spawn2.in.sh: New file.
17801         * modules/posix_spawnp-tests (Files): Update.
17802         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
17803
17804 2008-09-29  Bruno Haible  <bruno@clisp.org>
17805
17806         Propagate effects of putenv/setenv/unsetenv to child processes.
17807         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
17808         * lib/pipe.c (create_pipe): Likewise.
17809
17810 2008-09-29  Bruno Haible  <bruno@clisp.org>
17811
17812         Enable use of shell scripts as executables in mingw.
17813         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
17814         run the program as a shell script.
17815         * lib/pipe.c (create_pipe): Likewise.
17816         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
17817         resulting array.
17818
17819 2008-09-29  Eric Blake  <ebb9@byu.net>
17820
17821         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
17822
17823 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
17824
17825         * doc/posix-functions/accept.texi: Update mingw problems.
17826         * doc/posix-functions/bind.texi: Update mingw problems.
17827         * doc/posix-functions/close.texi: Update mingw problems.
17828         * doc/posix-functions/connect.texi: Update mingw problems.
17829         * doc/posix-functions/getpeername.texi: Update mingw problems.
17830         * doc/posix-functions/getsockname.texi: Update mingw problems.
17831         * doc/posix-functions/getsockopt.texi: Update mingw problems.
17832         * doc/posix-functions/ioctl.texi: Update mingw problems.
17833         * doc/posix-functions/listen.texi: Update mingw problems.
17834         * doc/posix-functions/recv.texi: Update mingw problems.
17835         * doc/posix-functions/recvfrom.texi: Update mingw problems.
17836         * doc/posix-functions/select.texi: Update mingw problems.
17837         * doc/posix-functions/send.texi: Update mingw problems.
17838         * doc/posix-functions/sendto.texi: Update mingw problems.
17839         * doc/posix-functions/setsockopt.texi: Update mingw problems.
17840         * doc/posix-functions/socket.texi: Update mingw problems.
17841
17842 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
17843             Bruno Haible  <bruno@clisp.org>
17844
17845         * lib/sys_select.in.h: Include sys/time.h.
17846         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
17847         * modules/sys_select: Depend on sys_time.
17848         * tests/test-sys_select.c: Test that sys/select.h defines struct
17849         timeval fully.
17850
17851 2008-09-29  Bruno Haible  <bruno@clisp.org>
17852
17853         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
17854         * lib/sys_select.in.h: Likewise.
17855
17856 2008-09-29  Bruno Haible  <bruno@clisp.org>
17857
17858         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
17859
17860 2008-09-29  Bruno Haible  <bruno@clisp.org>
17861
17862         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
17863         Set LIBSOCKET instead of augmenting LIBS.
17864         * modules/sockets (Link): New section.
17865         * modules/sockets-tests (test_sockets_LDADD): New variable.
17866         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
17867         * modules/poll-tests (test_poll_LDADD): New variable.
17868         * NEWS: Document the change.
17869
17870 2008-09-29  Bruno Haible  <bruno@clisp.org>
17871
17872         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
17873         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
17874         ARPA_INET_H directly.
17875         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
17876
17877 2008-09-28  Bruno Haible  <bruno@clisp.org>
17878
17879         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
17880         from gl_HEADER_SYS_SOCKET.
17881         (gl_HEADER_SYS_SOCKET): Invoke it.
17882         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
17883
17884 2008-09-28  Bruno Haible  <bruno@clisp.org>
17885
17886         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
17887         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
17888         Needed on OSF/1 4.0.
17889
17890 2008-09-28  Bruno Haible  <bruno@clisp.org>
17891
17892         Override open more carefully.
17893         * lib/open.c (orig_open): New function.
17894         (rpl_open): Use orig_open instead of open.
17895         * lib/fcntl.in.h: Add special invocation convention.
17896         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
17897         (gl_FUNC_OPEN): Invoke it.
17898
17899         Override freopen more carefully.
17900         * lib/freopen.c (orig_freopen): New function.
17901         (rpl_freopen): Use orig_freopen instead of freopen.
17902         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
17903         (gl_FUNC_FREOPEN): Invoke it.
17904
17905         Override fopen more carefully.
17906         * lib/fopen.c (orig_fopen): New function.
17907         (rpl_fopen): Use orig_fopen instead of fopen.
17908         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
17909         (gl_FUNC_FOPEN): Invoke it.
17910         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
17911
17912 2008-09-28  Bruno Haible  <bruno@clisp.org>
17913
17914         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
17915         SIGPIPE.
17916
17917 2008-09-28  Bruno Haible  <bruno@clisp.org>
17918
17919         * tests/test-sigaction.c (handler, main): Disable the check whether
17920         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
17921         glibc systems with LinuxThreads.
17922
17923 2008-09-28  Bruno Haible  <bruno@clisp.org>
17924
17925         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
17926
17927         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
17928         with AIX xlc.
17929         * lib/fcntl.in.h (open): Likewise.
17930         Reported by Rainer Tammer <tammer@tammer.net>.
17931
17932 2008-09-28  Bruno Haible  <bruno@clisp.org>
17933
17934         * modules/posix_spawnp-tests: New file.
17935         * tests/test-posix_spawn.c: New file.
17936         * tests/test-posix_spawn.in.sh: New file.
17937
17938         New module 'posix_spawnp'.
17939         * modules/posix_spawnp: New file.
17940         * lib/spawnp.c: New file, from GNU libc with modifications.
17941         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
17942
17943         New module 'posix_spawn'.
17944         * modules/posix_spawn: New file.
17945         * lib/spawn.c: New file, from GNU libc with modifications.
17946         * doc/posix-functions/posix_spawn.texi: Mention the new module.
17947
17948         New module 'posix_spawnattr_destroy'.
17949         * modules/posix_spawnattr_destroy: New file.
17950         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
17951         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
17952         module.
17953
17954         New module 'posix_spawnattr_setsigmask'.
17955         * modules/posix_spawnattr_setsigmask: New file.
17956         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
17957         modifications.
17958         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
17959         new module.
17960
17961         New module 'posix_spawnattr_getsigmask'.
17962         * modules/posix_spawnattr_getsigmask: New file.
17963         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
17964         modifications.
17965         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
17966         new module.
17967
17968         New module 'posix_spawnattr_setsigdefault'.
17969         * modules/posix_spawnattr_setsigdefault: New file.
17970         * lib/spawnattr_setdefault.c: New file, from GNU libc with
17971         modifications.
17972         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
17973         new module.
17974
17975         New module 'posix_spawnattr_getsigdefault'.
17976         * modules/posix_spawnattr_getsigdefault: New file.
17977         * lib/spawnattr_getdefault.c: New file, from GNU libc with
17978         modifications.
17979         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
17980         new module.
17981
17982         New module 'posix_spawnattr_setschedpolicy'.
17983         * modules/posix_spawnattr_setschedpolicy: New file.
17984         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
17985         modifications.
17986         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
17987         new module.
17988
17989         New module 'posix_spawnattr_getschedpolicy'.
17990         * modules/posix_spawnattr_getschedpolicy: New file.
17991         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
17992         modifications.
17993         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
17994         new module.
17995
17996         New module 'posix_spawnattr_setschedparam'.
17997         * modules/posix_spawnattr_setschedparam: New file.
17998         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
17999         modifications.
18000         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
18001         new module.
18002
18003         New module 'posix_spawnattr_getschedparam'.
18004         * modules/posix_spawnattr_getschedparam: New file.
18005         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
18006         modifications.
18007         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
18008         new module.
18009
18010         New module 'posix_spawnattr_setpgroup'.
18011         * modules/posix_spawnattr_setpgroup: New file.
18012         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
18013         modifications.
18014         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
18015         module.
18016
18017         New module 'posix_spawnattr_getpgroup'.
18018         * modules/posix_spawnattr_getpgroup: New file.
18019         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
18020         modifications.
18021         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
18022         module.
18023
18024         New module 'posix_spawnattr_setflags'.
18025         * modules/posix_spawnattr_setflags: New file.
18026         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
18027         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
18028         module.
18029
18030         New module 'posix_spawnattr_getflags'.
18031         * modules/posix_spawnattr_getflags: New file.
18032         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
18033         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
18034         module.
18035
18036         New module 'posix_spawnattr_init'.
18037         * modules/posix_spawnattr_init: New file.
18038         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
18039         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
18040         module.
18041
18042         New module 'posix_spawn_file_actions_destroy'.
18043         * modules/posix_spawn_file_actions_destroy: New file.
18044         * lib/spawn_faction_destroy.c: New file, from GNU libc with
18045         modifications.
18046         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
18047         the new module.
18048
18049         New module 'posix_spawn_file_actions_addopen'.
18050         * modules/posix_spawn_file_actions_addopen: New file.
18051         * lib/spawn_faction_addopen.c: New file, from GNU libc with
18052         modifications.
18053         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
18054         the new module.
18055
18056         New module 'posix_spawn_file_actions_adddup2'.
18057         * modules/posix_spawn_file_actions_adddup2: New file.
18058         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
18059         modifications.
18060         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
18061         the new module.
18062
18063         New module 'posix_spawn_file_actions_addclose'.
18064         * modules/posix_spawn_file_actions_addclose: New file.
18065         * lib/spawn_faction_addclose.c: New file, from GNU libc with
18066         modifications.
18067         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
18068         the new module.
18069
18070         New module 'posix_spawn_file_actions_init'.
18071         * modules/posix_spawn_file_actions_init: New file.
18072         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
18073         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
18074         new module.
18075
18076         New module 'posix_spawn-internal'.
18077         * modules/posix_spawn-internal: New file.
18078         * lib/spawn_int.h: New file, from GNU libc with modifications.
18079         * lib/spawni.c: New file, from GNU libc with modifications.
18080         * m4/posix_spawn.m4: New file.
18081
18082         New module 'spawn'.
18083         * modules/spawn: New file.
18084         * lib/spawn.in.h: New file, from GNU libc with modifications.
18085         * m4/spawn_h.m4: New file.
18086         * doc/posix-headers/spawn.texi: Mention the new module.
18087
18088 2008-09-28  Bruno Haible  <bruno@clisp.org>
18089
18090         * modules/sched-tests: New file.
18091         * tests/test-sched.c: New file.
18092
18093         New module 'sched'.
18094         * modules/sched: New file.
18095         * lib/sched.in.h: New file.
18096         * m4/sched_h.m4: New file.
18097         * doc/posix-headers/sched.texi: Mention the new module.
18098
18099 2008-09-27  Eric Blake  <ebb9@byu.net>
18100
18101         Fix previous patch, and tweak references to $0.
18102         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
18103         (func_version, func_gnulib_dir): Don't call this program
18104         gnulib-tool.
18105         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
18106         with using $0 in function.
18107         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
18108         (func_fatal_error): Reuse the name the user invoked us with.
18109
18110 2008-09-27  Bruno Haible  <bruno@clisp.org>
18111
18112         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
18113         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
18114         (gl_ICONV_H): Not here.
18115         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
18116         instead of assigning ICONV_H directly.
18117
18118         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
18119         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
18120         WCHAR_H directly.
18121
18122 2008-09-27  Bruno Haible  <bruno@clisp.org>
18123
18124         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
18125         * modules/arpa_inet (Depends-on): Add link-warning.
18126         (Makefile.am): Insert the definition of GL_LINK-WARNING.
18127         * modules/unistd (Makefile.am): Likewise.
18128
18129 2008-09-26  Bruno Haible  <bruno@clisp.org>
18130
18131         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
18132         variables.
18133         (func_version): Essentially copied from gnulib-tool.
18134         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
18135         func_readlink): Copied from gnulib-tool.
18136
18137 2008-09-26  Bruno Haible  <bruno@clisp.org>
18138
18139         * gnulib-tool (func_version): Change directory to $gnulib_dir before
18140         invoking git-version-gen.
18141
18142 2008-09-26  Bruno Haible  <bruno@clisp.org>
18143
18144         * posix-modules: Update to directory names changed on 2008-01-19.
18145         Remove commas in output before splitting into words. No more need to
18146         avoid 'ftruncate' since 2007-02-19.
18147
18148 2008-09-26  Bruno Haible  <bruno@clisp.org>
18149
18150         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
18151
18152 2008-09-26  Bruno Haible  <bruno@clisp.org>
18153
18154         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
18155         * modules/fwriteerror (Depends-on): Add errno.
18156
18157 2008-09-26  Bruno Haible  <bruno@clisp.org>
18158
18159         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
18160         * tests/test-vc-list-files-cvs.sh: Likewise.
18161
18162 2008-09-26  Bruno Haible  <bruno@clisp.org>
18163
18164         * doc/posix-headers/sys_resource.texi: Reorder items.
18165
18166 2008-09-26  Jim Meyering  <meyering@redhat.com>
18167
18168         fts: tweak inode comparison function
18169         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
18170         inode numbers, as documented.
18171
18172         fts: sort dirent entries on inode number before traversing
18173         This avoids a quadratic, seek-related performance penalty when
18174         operating on a directory containing many entries (measurable at 10k;
18175         3.5 hours at 2 million entries with a cold cache) on certain types
18176         of file systems, including ext3 and ext4, but not tmpfs.
18177         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
18178         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
18179         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
18180         (fs_handles_readdir_ordered_dirents_efficiently): New function.
18181         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
18182         (fts_build): Set the stat.st_ino member from D_INO.
18183         If it is likely to be useful, sort dirent entries on inode number.
18184
18185         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
18186         and the struct statfs.f_type member.
18187         * modules/fts (Depends-on): Add d-ino.
18188
18189 2008-09-26  Bruno Haible  <bruno@clisp.org>
18190
18191         * modules/sigpipe-die (Depends-on): Add sigpipe.
18192
18193         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
18194         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
18195         and GNULIB_STDIO_H_SIGPIPE are set.
18196         * lib/stdio-write.c: New file.
18197         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
18198         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
18199         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
18200         REPLACE_STDIO_WRITE_FUNCS.
18201         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
18202         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
18203         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
18204         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
18205         * modules/stdio (Files): Add lib/stdio-write.c.
18206         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
18207         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
18208         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
18209         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
18210         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
18211         REPLACE_FPRINTF_POSIX.
18212         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
18213         REPLACE_PRINTF_POSIX.
18214         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
18215         REPLACE_VFPRINTF_POSIX.
18216         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
18217         REPLACE_VPRINTF_POSIX.
18218         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
18219         SIGPIPE issue.
18220         * doc/posix-functions/fputc.texi: Likewise.
18221         * doc/posix-functions/fputs.texi: Likewise.
18222         * doc/posix-functions/fwrite.texi: Likewise.
18223         * doc/posix-functions/printf.texi: Likewise.
18224         * doc/posix-functions/putc.texi: Likewise.
18225         * doc/posix-functions/putchar.texi: Likewise.
18226         * doc/posix-functions/puts.texi: Likewise.
18227         * doc/posix-functions/vfprintf.texi: Likewise.
18228         * doc/posix-functions/vprintf.texi: Likewise.
18229
18230         * modules/safe-write (Depends-on): Add write.
18231
18232         * modules/sigpipe-tests: New file.
18233         * tests/test-sigpipe.c: New file.
18234         * tests/test-sigpipe.sh: New file.
18235
18236         * modules/write: New file.
18237         * lib/unistd.in.h: Include <sys/types.h>.
18238         (write): New declaration.
18239         * lib/write.c: New file.
18240         * m4/write.m4: New file.
18241         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
18242         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
18243         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
18244         GNULIB_WRITE, REPLACE_WRITE.
18245         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
18246         and the SIGPIPE issue.
18247
18248         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
18249         (raise): New declaration.
18250         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
18251         (ext_signal): New function.
18252         (rpl_raise): New function.
18253         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
18254         GNULIB_SIGNAL_H_SIGPIPE.
18255         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
18256         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
18257
18258         * modules/sigpipe: New file.
18259         * m4/sigpipe.m4: New file.
18260
18261 2008-09-25  Derek Price  <derek@ximbiot.com>
18262             Bruno Haible  <bruno@clisp.org>
18263
18264         * gnulib-tool (func_import): Report all license incompatibilities, not
18265         just the first one.
18266
18267 2008-09-25  Bruno Haible  <bruno@clisp.org>
18268
18269         * gnulib-tool (func_import): When computing the edits, consider not
18270         only the Makefile.ams that exist but also those that will be generated.
18271
18272 2008-09-25  Simon Josefsson  <simon@josefsson.org>
18273
18274         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
18275         fixes gnulib-tool --test warning about duplicate dependency.
18276
18277 2008-09-25  Bruno Haible  <bruno@clisp.org>
18278
18279         * gnulib-tool: Don't ask the user to perform edits in the generated
18280         Makefile.ams.
18281         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
18282         apply to the Makefile.am being generated.
18283         (func_emit_tests_Makefile_am): Execute edits that apply to the
18284         Makefile.am being generated.
18285         (func_import): Setup list of Makefile.am edits before emitting the
18286         Makefile.ams, not at the end.
18287         (func_create_testdir): Update.
18288         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
18289
18290 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
18291
18292         * gnulib-tool (func_import): Store the --tests-base option in the
18293         comment in gnulib-cache.m4.
18294
18295 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
18296
18297         * NEWS: Document increased portability that sys_select now provides.
18298
18299         * lib/sys_select.in.h: Install select wrapper.
18300         * lib/sys_socket.in.h: Use more descriptive name when there is no
18301         select wrapper.
18302         * lib/winsock-select.c: New.
18303         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
18304         Require gl_HEADER_SYS_SOCKET.
18305         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
18306         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
18307         * tests/test-sys_select.c: Add functional tests.
18308
18309 2008-09-24  Eric Blake  <ebb9@byu.net>
18310
18311         open, fopen: close fd leak in last patch
18312         * lib/open.c (rpl_open): Close fd before returning error.
18313         * lib/fopen.c (rpl_fopen): Close fd before returning error.
18314         * doc/posix-functions/open.texi (open): Document that Irix also
18315         has the bug.
18316         * doc/posix-functions/fopen.texi (fopen): Likewise.
18317         Reported by Paolo Bonzini.
18318
18319 2008-09-24  Bruno Haible  <bruno@clisp.org>
18320
18321         Ensure that a filename ending in a slash cannot be used to access a
18322         non-directory.
18323         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
18324         to check whether it's really a directory.
18325         * lib/fopen.c: Include fcntl.h, unistd.h.
18326         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
18327         and fdopen().
18328         * modules/fopen (Depends-on): Add unistd.
18329         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
18330         * tests/test-fopen.c (main): Likewise.
18331         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
18332         * doc/posix-functions/fopen.texi: Likewise.
18333         Reported by Eric Blake.
18334
18335 2008-09-23  Eric Blake  <ebb9@byu.net>
18336
18337         c-stack: avoid compiler optimizations when provoking overflow
18338         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
18339         recursion harder to optimize, to ensure a stack overflow occurs.
18340         * tests/test-c-stack.c (recurse): Likewise.
18341         Borrowed from libsigsegv.
18342
18343         c-stack: work around Irix sigaltstack bug
18344         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
18345         whether sigaltstack uses wrong end of stack_t (copied in part from
18346         libsigsegv).
18347         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
18348         Irix bug, without requiring an over-allocation.
18349         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
18350         bug.
18351
18352         fopen: document mingw bug on directories
18353         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
18354         not allowing a stream visiting a directory, even though reading
18355         from such a stream is not portable.
18356
18357 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
18358
18359         * lib/poll.c: Rewrite.
18360         * modules/poll: Depend on alloca.
18361
18362 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
18363
18364         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
18365         instead define prototypes for a full set of wrappers.  Ensure
18366         that Cygwin does not use the compatibility code, which is only
18367         for MinGW.
18368         * lib/winsock.c: New.
18369         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
18370         * modules/sys_socket: Add lib/winsock.c.
18371
18372         * modules/poll-tests: Add errno and perror.
18373         * tests/test-poll.c: Use ioctl, not ioctlsocket.
18374
18375 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
18376
18377         * tests/test-poll.c: Downgrade minimum needed Winsock version.
18378
18379 2008-09-23  Bruno Haible  <bruno@clisp.org>
18380
18381         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
18382         * doc/glibc-functions/*: Likewise.
18383
18384 2008-09-23  Simon Josefsson  <simon@josefsson.org>
18385
18386         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
18387         success.
18388
18389 2008-09-22  Eric Blake  <ebb9@byu.net>
18390             Bruno Haible  <bruno@clisp.org>
18391
18392         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
18393         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
18394         supply %A but mishandle pseudo-NaN.
18395         Reported by Simon Josefsson.
18396
18397 2008-09-21  Bruno Haible  <bruno@clisp.org>
18398
18399         * tests/test-lock.c (main): Tweak skip message.
18400         * tests/test-tls.c (main): Likewise.
18401
18402 2008-09-21  Bruno Haible  <bruno@clisp.org>
18403
18404         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
18405         whether 'struct sigaction' has sa_sigaction here...
18406         (gl_PREREQ_SIG_HANDLER_H): ... not here.
18407         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
18408
18409 2008-09-21  Bruno Haible  <bruno@clisp.org>
18410
18411         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
18412         section.
18413         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
18414         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
18415         the new section.
18416         (Support for obsolete systems lacking POSIX:2001): New section.
18417         (String handling <string.h>): Move strdup to the new section.
18418         Suggested by Simon Josefsson and Paolo Bonzini.
18419
18420 2008-09-21  Bruno Haible  <bruno@clisp.org>
18421
18422         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
18423         exponents in %e and %g results on 'long double'. Needed for mingw's
18424         improved *printf functions.
18425         * tests/test-vasprintf-posix.c (test_function): Likewise.
18426         * tests/test-snprintf-posix.h (test_function): Likewise.
18427         * tests/test-sprintf-posix.h (test_function): Likewise.
18428         Reported by Eric Blake.
18429
18430 2008-09-21  Bruno Haible  <bruno@clisp.org>
18431
18432         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
18433         * tests/test-sprintf-posix.h (test_function): Likewise.
18434
18435 2008-09-21  Bruno Haible  <bruno@clisp.org>
18436
18437         * modules/getpass (Depends-on): Add strdup-posix.
18438
18439         New module 'strdup-posix'.
18440         * modules/strdup-posix: New file.
18441         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
18442         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
18443         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
18444         REPLACE_STRDUP.
18445         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
18446         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
18447         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
18448         strdup-posix.
18449
18450         * modules/strdup (Depends-on): Remove malloc-posix.
18451
18452 2008-09-20  Bruno Haible  <bruno@clisp.org>
18453
18454         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
18455         Wildenhues.
18456
18457 2008-09-20  Bruno Haible  <bruno@clisp.org>
18458
18459         Ensure that wint_t gets defined on IRIX 5.3.
18460         * lib/wchar.in.h (wint_t): Define if not defined by the system.
18461         * lib/wctype.in.h (wint_t): Likewise.
18462         (__wctype_wint_t): Remove type.
18463         (isw*): Use wint_t instead of __wctype_wint_t.
18464         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
18465         * modules/wchar (Files): Add m4/wint_t.m4.
18466         (Makefile.am): Substitute HAVE_WINT_T.
18467         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
18468         * tests/test-wctype.c: Check that wint_t is defined.
18469         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
18470         * doc/posix-headers/wctype.texi: Likewise.
18471         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
18472
18473 2008-09-18  Bruno Haible  <bruno@clisp.org>
18474
18475         * gnulib-tool (func_exit): Update comment.
18476
18477 2008-09-18  Simon Josefsson  <simon@josefsson.org>
18478
18479         * modules/getaddrinfo (Depends-on): Remove strdup, this module
18480         assumes strdup exists and does not depend on strdup to return
18481         ENOMEM on out of memory conditions.
18482
18483 2008-09-18  Bruno Haible  <bruno@clisp.org>
18484
18485         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
18486         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
18487         digits for the exponent.
18488
18489 2008-09-18  Jim Meyering  <meyering@redhat.com>
18490             Bruno Haible  <bruno@clisp.org>
18491
18492         * lib/vasnprintf.c (decimal_point_char): Define also if
18493         NEED_PRINTF_INFINITE_LONG_DOUBLE.
18494
18495 2008-09-16  Bruno Haible  <bruno@clisp.org>
18496         and Eric Blake  <ebb9@byu.net>
18497
18498         vasnprintf: support Irix 5.3
18499         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
18500         that mishandle long double infinity.
18501         Reported by Tom G. Christensen.
18502
18503 2008-09-16  Bruno Haible  <bruno@clisp.org>
18504
18505         * doc/glibc-functions/scandir.texi: Mention the function is missing on
18506         Solaris 9.
18507         * doc/glibc-functions/alphasort.texi: Likewise.
18508         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
18509
18510 2008-09-16  Jim Meyering  <meyering@redhat.com>
18511
18512         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
18513         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
18514         a umask modification leak out of a subshell.  Otherwise, the
18515         opensolaris /bin/sh would be accepted and thus cause unwarranted
18516         failures in the coreutils test suite.
18517
18518 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
18519
18520         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
18521         to succeed.
18522
18523 2008-09-16  Jim Meyering  <meyering@redhat.com>
18524
18525         avoid spurious test failure when library is built without ACL support
18526         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
18527         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
18528         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
18529         * tests/test-copy-acl.sh: Likewise.
18530
18531 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18532
18533         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
18534         based on character occurrence counts.
18535
18536 2008-09-15  Eric Blake  <ebb9@byu.net>
18537
18538         tests: avoid some compiler warnings
18539         * tests/test-memchr.c (main): Pass NULL indirectly.
18540         * tests/test-closein.c (main): Avoid unused variable.
18541
18542 2008-09-15  Bruno Haible  <bruno@clisp.org>
18543
18544         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
18545         are missing on OpenBSD 4.0 individually.
18546         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
18547
18548 2008-09-15  Bruno Haible  <bruno@clisp.org>
18549
18550         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
18551         * doc/posix-functions/strerror.texi: Mention also Cygwin.
18552         * doc/posix-functions/perror.texi: Likewise.
18553         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
18554         is missing.
18555         Reported by Eric Blake.
18556
18557         * lib/errno.in.h: Use replacement values >= 2000.
18558         Reported by Eric Blake.
18559
18560 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18561
18562         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
18563         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
18564         limit.
18565         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
18566         compareseq was aborted.
18567
18568 2008-09-14  Bruno Haible  <bruno@clisp.org>
18569
18570         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
18571         yvec_edit_count.
18572         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
18573         (fstrcmp_bounded): Simplify result computation accordingly.
18574
18575 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18576
18577         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
18578         (fstrcmp): Define in terms of fstrcmp_bounded.
18579         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
18580         lower_bound argument.
18581         Return quickly if the result is certainly < lower_bound.
18582         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
18583
18584 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18585
18586         * lib/diffseq.h (EARLY_ABORT): New macro.
18587         (compareseq): Change return type to bool. Return true when EARLY_ABORT
18588         evaluates to true.
18589
18590 2008-09-14  Bruno Haible  <bruno@clisp.org>
18591
18592         * modules/perror-tests: New file.
18593         * tests/test-perror.sh: New file.
18594         * tests/test-perror.c: New file.
18595
18596         New module 'perror'.
18597         * lib/stdio.in.h (perror): New declaration.
18598         * lib/perror.c: New file.
18599         * m4/perror.m4: New file.
18600         * modules/perror: New file.
18601         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
18602         * doc/posix-functions/perror.texi: Mention the perror module.
18603         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
18604         REPLACE_PERROR.
18605         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
18606         REPLACE_PERROR.
18607
18608 2008-09-14  Bruno Haible  <bruno@clisp.org>
18609
18610         * modules/stdio (Makefile.am): Reorder to match the order in
18611         lib/stdio.in.h.
18612         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
18613
18614 2008-09-13  Bruno Haible  <bruno@clisp.org>
18615
18616         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
18617
18618 2008-09-13  Bruno Haible  <bruno@clisp.org>
18619
18620         Extend strerror to cover the added errno values.
18621         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
18622         (rpl_strerror): Provide error messages for the added errno values and
18623         for the WSA* values.
18624         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
18625         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
18626         strerror.
18627         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
18628         * modules/strerror (Depends-on): Add errno.
18629         * doc/posix-functions/strerror.texi: Document the change.
18630         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
18631         and EOVERFLOW.
18632
18633 2008-09-13  Bruno Haible  <bruno@clisp.org>
18634
18635         * modules/EOVERFLOW: Remove file.
18636         * m4/eoverflow.m4: Remove file.
18637         * modules/EOVERFLOW-tests: Remove file.
18638         * tests/test-EOVERFLOW.c: Remove file.
18639         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
18640         * modules/ftell (Depends-on): Likewise.
18641         * modules/getdelim (Depends-on): Likewise.
18642         * modules/getugroups (Depends-on): Likewise.
18643         * modules/poll (Depends-on): Likewise.
18644         * modules/snprintf (Depends-on): Likewise.
18645         * modules/sprintf-posix (Depends-on): Likewise.
18646         * modules/vasnprintf (Depends-on): Likewise.
18647         * modules/vasprintf (Depends-on): Likewise.
18648         * modules/vfprintf-posix (Depends-on): Likewise.
18649         * modules/vsnprintf (Depends-on): Likewise.
18650         * modules/vsprintf-posix (Depends-on): Likewise.
18651         * modules/xvasprintf (Depends-on): Likewise.
18652         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
18653         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
18654         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
18655         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
18656         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
18657         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
18658         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
18659         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
18660         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
18661         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
18662         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
18663         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
18664         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
18665         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
18666         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
18667         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
18668         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
18669         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
18670         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
18671         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
18672         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
18673         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
18674         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
18675         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
18676         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
18677         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
18678         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
18679         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
18680         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
18681         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
18682         * MODULES.html.sh: Remove EOVERFLOW.
18683         * NEWS: Mention the change.
18684
18685 2008-09-13  Bruno Haible  <bruno@clisp.org>
18686
18687         * modules/errno-tests: New file.
18688         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
18689
18690         * lib/errno.in.h: New file.
18691         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
18692         * modules/errno: New file.
18693         * doc/posix-headers/errno.texi: Update documentation.
18694         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
18695
18696 2008-09-13  Bruno Haible  <bruno@clisp.org>
18697
18698         * tests/test-poll.c: Use #if for native Windows, rather than testing
18699         __MSVCRT__.
18700
18701 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
18702             Bruno Haible  <bruno@clisp.org>
18703
18704         * lib/glob.c: Don't include <pwd.h> on native Windows.
18705         (WINDOWS32): New macro.
18706         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
18707
18708 2008-09-13  Bruno Haible  <bruno@clisp.org>
18709
18710         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
18711         (ETIMEDOUT): Remove macro.
18712         (glthread_cond_timedwait_multithreaded): New declaration.
18713         (glthread_cond_timedwait): Use it.
18714         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
18715         (glthread_cond_timedwait_multithreaded): New function.
18716
18717 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
18718
18719         * modules/poll-tests: Do not check for io.h.
18720         * tests/test-poll.c: Check for __MSVCRT__ instead.
18721
18722 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
18723
18724         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
18725         * modules/poll-tests: Add inet_pton, stdbool, sockets.
18726         * tests/test-poll.c: Use them.  Use _pipe on Windows.
18727
18728 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
18729
18730         * modules/poll-tests: New.
18731         * tests/test-poll.c: New.
18732
18733 2008-09-12  Eric Blake  <ebb9@byu.net>
18734
18735         frexp: test for NetBSD failure on -0.0
18736         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
18737         not all, bugs from NetBSD 3.0 have been fixed.
18738         * doc/posix-functions/frexp.texi (frexp): Document bug.
18739         Reported by Thomas Klausner.
18740
18741         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
18742         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
18743         literal -0.0.
18744         Reported by Jonathan C. Patschke <jp@centtech.com>.
18745
18746 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
18747
18748         * lib/glthread/cond.h: Use dummy implementation also if
18749         USE_WIN32_THREADS.
18750
18751 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
18752
18753         * modules/fnmatch-posix (License): Change to LGPLv2+.
18754         * modules/fnmatch-gnu (License): Likewise.
18755
18756 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
18757
18758         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
18759
18760 2008-09-11  Jim Meyering  <meyering@redhat.com>
18761
18762         * users.txt: Add gtk-vnc.
18763
18764 2008-09-08  Simon Josefsson  <simon@josefsson.org>
18765
18766         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
18767         rotate amounts.
18768
18769         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
18770         required for 16-bit and 8-bit rotates.
18771         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
18772         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
18773         UINT8_MAX instead of hard-coded constants.
18774         Suggested by Paul Eggert.
18775
18776 2008-09-07  Bruno Haible  <bruno@clisp.org>
18777
18778         * tests/test-striconveh.c (main): Check behaviour when converting from
18779         UTF-7.
18780
18781         Make striconveh work better with stateful encodings.
18782         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
18783         that iconv does not increment the inptr when returning -1/EINVAL.
18784
18785 2008-09-07  Bruno Haible  <bruno@clisp.org>
18786
18787         * build-aux/config.rpath: Update according to libtool-2.2.6.
18788         * build-aux/config.libpath: Likewise.
18789
18790 2008-09-06  Bruno Haible  <bruno@clisp.org>
18791
18792         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
18793         * lib/freadptr.c (freadptr): Likewise.
18794         * lib/freadseek.c (freadptrinc): Likewise.
18795         Reported by Simon Josefsson.
18796
18797 2008-09-06  Bruno Haible  <bruno@clisp.org>
18798
18799         * modules/freadptr (License): Change to LGPLv2+.
18800         * modules/freadseek (License): Likewise.
18801         Suggested by Eric Blake.
18802
18803         * modules/memchr2 (License): Change to LGPLv2+.
18804         Approved by Eric Blake.
18805
18806 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18807             Bruno Haible  <bruno@clisp.org>
18808
18809         Make gnulib-tool work with native 'sed' on AIX.
18810         * gnulib-tool (sed_noop): New variable.
18811         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
18812         func_add_or_update, func_create_testdir): Use it to initialize sed
18813         script variables.
18814         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
18815
18816 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
18817             Bruno Haible  <bruno@clisp.org>
18818
18819         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
18820         also works after #include directives.
18821
18822 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
18823
18824         getdate.y: reject an out-of-range timezone value
18825         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
18826         the range [-24...+24].  When specified with only one or two digits,
18827         * tests/test-getdate.c: Tests for the fix.
18828         * doc/getdate.texi: Document this change.
18829
18830 2008-09-03  Bruno Haible  <bruno@clisp.org>
18831
18832         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
18833
18834 2008-09-02  Simon Josefsson  <simon@josefsson.org>
18835
18836         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
18837         <bruce.korb@gmail.com> with ideas from Ben Pfaff
18838         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
18839         Blake <ebb9@byu.net>.
18840
18841         * tests/test-bitrotate.c: Add more test vectors.
18842
18843 2008-09-02  Eric Blake  <ebb9@byu.net>
18844
18845         vasnprintf-posix: handle large precision via %.*d
18846         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
18847         when handling it ourselves.
18848         * tests/test-vasnprintf-posix.c (test_function): Add test.
18849         * tests/test-snprintf-posix.h (test_function): Likewise.
18850         * tests/test-sprintf-posix.h (test_function): Likewise.
18851         * tests/test-vasprintf-posix.c (test_function): Likewise.
18852         Reported by Alain Guibert.
18853
18854 2008-09-01  Eric Blake  <ebb9@byu.net>
18855
18856         c-stack: make configure-time check more robust
18857         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
18858         successful sigaction call.
18859         Reported by Tom G. Christensen.
18860
18861 2008-09-01  Bruno Haible  <bruno@clisp.org>
18862
18863         New module 'findprog-lgpl'.
18864         * modules/findprog-lgpl: New file.
18865         * lib/findprog-lgpl.c: New file.
18866         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
18867         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
18868         to decide whether to use strdup or xstrdup, concatenated_filename or
18869         xconcatenated_filename.
18870
18871 2008-09-01  Bruno Haible  <bruno@clisp.org>
18872
18873         Split module 'concat-filename' into 'concat-filename' (LGPL) and
18874         'xconcat-filename' (GPL).
18875         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
18876         (License): Change to LGPLv2+.
18877         * modules/xconcat-filename: New file.
18878         * lib/concat-filename.h (concatenated_filename): Change specification.
18879         (xconcatenated_filename): New declaration.
18880         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
18881         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
18882         memory situations.
18883         * lib/xconcat-filename.c: New file.
18884         * NEWS: Mention the change.
18885         * lib/findprog.c: Include concat-filename.h, not filename.h.
18886         (find_in_path): Use xconcatenated_filename instead of
18887         concatenated_filename.
18888         * lib/javacomp.c: Include concat-filename.h, not filename.h.
18889         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
18890         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
18891         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
18892         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
18893         instead of concatenated_filename.
18894         * lib/javaexec.c: Include concat-filename.h, not filename.h.
18895         (execute_java_class): Use xconcatenated_filename instead of
18896         concatenated_filename.
18897         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
18898         * modules/javacomp (Depends-on): Likewise.
18899         * modules/javaexec (Depends-on): Likewise.
18900
18901 2008-09-01  Bruno Haible  <bruno@clisp.org>
18902
18903         Split module 'filename' into 'filename' and 'concat-filename'.
18904         * modules/filename: Keep only lib/filename.h.
18905         (License): Change to LGPLv2+.
18906         * modules/concat-filename: New file, extracted from modules/filename.
18907         * lib/filename.h (concatenated_filename): Remove declaration.
18908         * lib/concat-filename.h: New file, extracted from lib/filename.h.
18909         * lib/concat-filename.c: Include concat-filename.h.
18910         * NEWS: Mention the change.
18911
18912 2008-09-01  Simon Josefsson  <simon@josefsson.org>
18913
18914         * lib/bitrotate.h (rotl8, rotr8): Add.
18915
18916         * modules/bitrotate (configure.ac): Need
18917         AC_REQUIRE([AC_C_INLINE]).
18918         (Description): Mention stdint.h.  Reported by Bruno Haible
18919         <bruno@clisp.org>.
18920
18921         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
18922         Paolo Bonzini <bonzini@gnu.org>.
18923
18924 2008-08-31  Bruno Haible  <bruno@clisp.org>
18925
18926         Assume Solaris specific bi-arch conventions on Solaris systems.
18927         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
18928         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
18929         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
18930         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
18931         like acl_libdirstem.
18932         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
18933         acl_libdirstem.
18934         * NEWS: Mention the change.
18935         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
18936
18937 2008-08-31  Jim Meyering  <meyering@redhat.com>
18938
18939         * lib/strftime.h: Add comments describing the two added arguments.
18940
18941         remove duplicate #include directives
18942         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
18943         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
18944
18945 2008-08-31  Bruno Haible  <bruno@clisp.org>
18946
18947         New module 'sigpipe-die'.
18948         * modules/sigpipe-die: New file.
18949         * lib/sigpipe-die.h: New file.
18950         * lib/sigpipe-die.c: New file.
18951         * MODULES.html.sh (Signal handling): Add sigpipe-die.
18952
18953 2008-08-31  Bruno Haible  <bruno@clisp.org>
18954
18955         Don't override previously installed signal handlers.
18956         * lib/fatal-signal.c (saved_sigactions): New variable.
18957         (uninstall_handlers): Reset the signal to the saved handler, not
18958         to SIG_DFL (except when ignored).
18959         (install_handlers): Save the previous handlers.
18960
18961 2008-08-30  Bruno Haible  <bruno@clisp.org>
18962
18963         * gnulib-tool (func_reset_sigpipe): New function.
18964         (func_get_automake_snippet, func_modules_transitive_closure,
18965         func_import): Invoke it before a join command that reads from stdin,
18966         to avoid "echo: write error: Broken pipe" error messages on stderr.
18967         Reported by Sam Steingold <sds@gnu.org>.
18968
18969 2008-08-30  Bruno Haible  <bruno@clisp.org>
18970
18971         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
18972         Code copied from m4/open.m4.
18973         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
18974         access and the filename ends in a slash. Code copied from lib/open.c.
18975         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
18976         * tests/test-fopen.c (main): Check against bug with trailing slash.
18977
18978 2008-08-29  Bruno Haible  <bruno@clisp.org>
18979
18980         Avoid some "gcc -pedantic" warnings.
18981         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
18982         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
18983         * lib/dirent.in.h: Likewise.
18984         * lib/fcntl.in.h: Likewise.
18985         * lib/float.in.h: Likewise.
18986         * lib/iconv.in.h: Likewise.
18987         * lib/inttypes.in.h: Likewise.
18988         * lib/locale.in.h: Likewise.
18989         * lib/math.in.h: Likewise.
18990         * lib/netinet_in.in.h: Likewise.
18991         * lib/search.in.h: Likewise.
18992         * lib/signal.in.h: Likewise.
18993         * lib/stdarg.in.h: Likewise.
18994         * lib/stdint.in.h: Likewise.
18995         * lib/stdio.in.h: Likewise.
18996         * lib/stdlib.in.h: Likewise.
18997         * lib/string.in.h: Likewise.
18998         * lib/strings.in.h: Likewise.
18999         * lib/sys_select.in.h: Likewise.
19000         * lib/sys_socket.in.h: Likewise.
19001         * lib/sys_stat.in.h: Likewise.
19002         * lib/sys_time.in.h: Likewise.
19003         * lib/sysexits.in.h: Likewise.
19004         * lib/time.in.h: Likewise.
19005         * lib/unistd.in.h: Likewise.
19006         * lib/wchar.in.h: Likewise.
19007         * lib/wctype.in.h: Likewise.
19008         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
19009         * modules/fchdir (Makefile.am): Likewise.
19010         * modules/fcntl (Makefile.am): Likewise.
19011         * modules/float (Makefile.am): Likewise.
19012         * modules/iconv_open (Makefile.am): Likewise.
19013         * modules/inttypes (Makefile.am): Likewise.
19014         * modules/locale (Makefile.am): Likewise.
19015         * modules/math (Makefile.am): Likewise.
19016         * modules/netinet_in (Makefile.am): Likewise.
19017         * modules/search (Makefile.am): Likewise.
19018         * modules/signal (Makefile.am): Likewise.
19019         * modules/stdarg (Makefile.am): Likewise.
19020         * modules/stdint (Makefile.am): Likewise.
19021         * modules/stdio (Makefile.am): Likewise.
19022         * modules/stdlib (Makefile.am): Likewise.
19023         * modules/string (Makefile.am): Likewise.
19024         * modules/strings (Makefile.am): Likewise.
19025         * modules/sys_select (Makefile.am): Likewise.
19026         * modules/sys_socket (Makefile.am): Likewise.
19027         * modules/sys_stat (Makefile.am): Likewise.
19028         * modules/sys_time (Makefile.am): Likewise.
19029         * modules/sysexits (Makefile.am): Likewise.
19030         * modules/time (Makefile.am): Likewise.
19031         * modules/unistd (Makefile.am): Likewise.
19032         * modules/wchar (Makefile.am): Likewise.
19033         * modules/wctype (Makefile.am): Likewise.
19034         Reported by Reuben Thomas <rrt@sc3d.org>.
19035
19036 2008-08-29  Bruno Haible  <bruno@clisp.org>
19037
19038         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
19039         any more.
19040
19041 2008-08-29  Simon Josefsson  <simon@josefsson.org>
19042
19043         * MODULES.html.sh (Misc): Add bitrotate.
19044
19045         * modules/bitrotate: New file.
19046
19047         * lib/bitrotate.h: New file.
19048
19049         * modules/bitrotate-tests: New file.
19050
19051         * tests/test-bitrotate.c: New file.
19052
19053         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
19054         on the bitrotate module.
19055
19056         * lib/arctwo.c: Use new bitrotate module.
19057
19058 2008-08-29  Jim Meyering  <meyering@redhat.com>
19059
19060         bootstrap: merge changes from coreutils
19061         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
19062         of copied files.  Remove a kludge, now that this is fixed.
19063         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
19064         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
19065         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
19066
19067 2008-08-29  Bruno Haible  <bruno@clisp.org>
19068
19069         * MODULES.html.sh: Remove --cvs-urls option.
19070
19071 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
19072
19073         maint.mk: adjust to file name change
19074         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
19075
19076 2008-08-28  Jim Meyering  <meyering@redhat.com>
19077
19078         * modules/getndelim2 (License): Relicense to LGPLv2+.
19079         Approved by Richard Stallman for the version of 1995, and by
19080         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
19081
19082 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
19083
19084         * lib/getdelim.c (flockfile, funlockfile): Make all of them
19085         dummy if one is not available.  Do not touch them if
19086         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
19087         (getc_maybe_unlocked): New.
19088         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
19089
19090 2008-08-26  Eric Blake  <ebb9@byu.net>
19091
19092         doc/INSTALL: resync from autoconf
19093         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
19094         (INSTALL_PRELUDE): Delete; this is done more efficiently by
19095         moving...
19096         * install.texi [!autoconf]: ...here.  Resync from autoconf.
19097         * INSTALL: Regenerate.
19098         * INSTALL.ISO: New file.
19099         * INSTALL.UTF-8: Likewise.
19100
19101 2008-08-26  Jim Meyering  <meyering@redhat.com>
19102
19103         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
19104         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
19105         these definitions conditional, so that they may be overridden, too.
19106
19107 2008-08-26  Bruno Haible  <bruno@clisp.org>
19108
19109         Generate INSTALL file variants with prettier quotes.
19110         * doc/Makefile (INSTALL_PRELUDE): New macro.
19111         (INSTALL): Use it.
19112         (INSTALL.ISO, INSTALL.UTF-8): New rules.
19113
19114 2008-08-26  Bruno Haible  <bruno@clisp.org>
19115
19116         Run makeinfo in an English locale.
19117         * doc/Makefile (MAKEINFO): New variable.
19118
19119 2008-08-26  Bruno Haible  <bruno@clisp.org>
19120
19121         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
19122         Suggested by Eric Blake.
19123
19124 2008-08-25  Bruno Haible  <bruno@clisp.org>
19125
19126         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
19127
19128 2008-08-25  Eric Blake  <ebb9@byu.net>
19129
19130         c-stack: test that stack overflow can be caught
19131         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
19132         that platform allows handling stack overflow; at least OS/2 EMX
19133         has sigaltstack, but crashes before transferring control to
19134         handler on stack overflow.
19135         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
19136         check for HAVE_STACK_OVERFLOW_HANDLING.
19137         Reported by Elbert Pol.
19138
19139 2008-08-25  Bruno Haible  <bruno@clisp.org>
19140
19141         * doc/posix-functions/strftime.texi: Fix description of strftime
19142         module.
19143
19144 2008-08-24  Bruno Haible  <bruno@clisp.org>
19145
19146         * tests/uniwidth/test-uc_width2.c: New file.
19147         * tests/uniwidth/test-uc_width2.sh: New file.
19148         * modules/uniwidth/width-tests (Files): Add the new files.
19149         (TESTS): Add uniwidth/test-uc_width2.sh.
19150         (TESTS_ENVIRONMENT): New variable.
19151         (check_PROGRAMS): Add test-uc_width2.
19152         (test_uc_width2_SOURCES): New variable.
19153
19154         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
19155         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
19156         not 0x00AB.
19157         Reported by Alexander V. Lukyanov <lav@netis.ru>.
19158
19159 2008-08-22  Eric Blake  <ebb9@byu.net>
19160
19161         test-lock, test-tls: mention why a test is skipped
19162         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
19163         skipped.
19164         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
19165
19166         count-one-bits: relax license
19167         * modules/count-one-bits (License): Relicense to LGPLv2+.
19168         Suggested by Ludovic Courtès, approved by Ben Pfaff.
19169
19170 2008-08-22  Andreas Schwab  <schwab@suse.de>
19171
19172         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
19173         Remove spurious space in assignment.
19174
19175 2008-08-21  Simon Josefsson  <simon@josefsson.org>
19176
19177         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
19178         Paul Eggert <eggert@CS.UCLA.EDU>.
19179
19180 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
19181
19182         * modules/gettext: Add m4/threadlib.m4.
19183
19184 2008-08-19  Eric Blake  <ebb9@byu.net>
19185
19186         test-c-stack: fix compilation failure on FreeBSD 5.0
19187         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
19188         headers before <sys/resource.h>.
19189         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
19190         the bug.
19191         Reported by Nelson H. F. Beebe.
19192
19193         strverscmp: migrate from "strverscmp.h" to <string.h>
19194         * modules/string (Makefile.am): Add new hooks.
19195         * modules/strverscmp (Files): Remove strverscmp.h.
19196         (Depends-on): Add string.
19197         (configure.ac): Add indicator.
19198         (Include): Mention new header.
19199         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
19200         defaults.
19201         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
19202         results.
19203         * lib/strverscmp.h: Delete.
19204         * lib/string.in.h (strverscmp): Provide declaration, when needed.
19205         * tests/test-strverscmp.c (includes): Adjust client.
19206         * lib/check-version.c (includes): Likewise.
19207         * NEWS: Document the change.
19208
19209         strverscmp: add unit test
19210         * modules/strverscmp-tests: New file.
19211         * tests/test-strverscmp.c: Likewise.
19212
19213 2008-08-19  Simon Josefsson  <simon@josefsson.org>
19214
19215         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
19216         regarding Windows crypto stuff, from Mono.
19217
19218 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
19219
19220         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
19221         if present, for intel RND.  Return error on failures.
19222
19223 2008-08-18  Ben Pfaff  <blp@gnu.org>
19224
19225         gitlog-to-changelog: give better diagnostic for failed pipe-open
19226         * build-aux/gitlog-to-changelog: Improve error message: suggest
19227         that the version of Git may be too old.
19228
19229 2008-08-18  Simon Josefsson  <simon@josefsson.org>
19230
19231         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
19232         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
19233
19234 2008-08-18  Bruno Haible  <bruno@clisp.org>
19235
19236         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
19237         pthread_in_use().
19238
19239 2008-08-18  Bruno Haible  <bruno@clisp.org>
19240
19241         * lib/glthread/threadlib.c: Include <pthread.h>.
19242
19243 2008-08-18  Bruno Haible  <bruno@clisp.org>
19244
19245         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
19246         glthread_recursive_lock_* macros.
19247         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
19248         Fix syntax error.
19249
19250 2008-08-18  Bruno Haible  <bruno@clisp.org>
19251
19252         * lib/glthread/thread.c: Avoid forcing a context switch right after
19253         thread creation.
19254
19255 2008-08-17  Bruno Haible  <bruno@clisp.org>
19256
19257         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
19258         * lib/glthread/thread.h: Provide Win32 specific implementation.
19259         * modules/thread (Files): Add lib/glthread/thread.c.
19260         (Depends-on): Add lock.
19261         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
19262
19263 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19264
19265         New module 'yield'.
19266         * modules/yield: New file.
19267         * lib/glthread/yield.h: New file.
19268         * m4/yield.m4: New file.
19269         * MODULES.html.sh (Multithreading): Add yield.
19270
19271 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19272
19273         New module 'thread'.
19274         * modules/thread: New file.
19275         * lib/glthread/thread.h: New file.
19276         * m4/thread.m4: New file.
19277         * MODULES.html.sh (Multithreading): Add thread.
19278
19279 2008-08-17  Bruno Haible  <bruno@clisp.org>
19280
19281         * lib/glthread/lock.h: Include <stdlib.h> always.
19282         * lib/glthread/tls.h: Likewise.
19283         * lib/glthread/cond.h: Likewise.
19284
19285 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19286
19287         New module 'cond'.
19288         * modules/cond: New file.
19289         * lib/glthread/cond.h: New file.
19290         * lib/glthread/cond.c: New file.
19291         * m4/cond.m4: New file.
19292         * MODULES.html.sh (Multithreading): Add cond.
19293
19294 2008-08-16  Eric Blake  <ebb9@byu.net>
19295
19296         c-stack: fix regression on Irix 5.3 from 2008-06-21
19297         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
19298         sa_sigaction...
19299         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
19300         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
19301         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
19302         * modules/signal (Makefile.am): Use the value.
19303         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
19304         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
19305         * doc/posix-headers/signal.texi (signal.h): Document this
19306         portability issue.
19307         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
19308         Reported by Tom G. Christensen.
19309
19310 2008-08-17  Bruno Haible  <bruno@clisp.org>
19311
19312         New module 'threadlib'.
19313         * modules/threadlib: New file.
19314         * lib/glthread/threadlib.c: New file, extracted from
19315         lib/glthread/lock.c.
19316         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
19317         functions.
19318         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
19319         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
19320         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
19321         macros.
19322         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
19323         (gl_DISABLE_THREADS): Remove macro.
19324         * modules/lock (Files): Remove build-aux/config.rpath.
19325         (Depends-on): Remove havelib. Add threadlib.
19326         (configure.ac-early): Remove section.
19327         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
19328         * modules/tls (Depends-on): Remove lock. Add threadlib.
19329         (Link): New section, copied from threadlib.
19330         * MODULES.html.sh (Multithreading): Add threadlib.
19331
19332 2008-08-14  Bruno Haible  <bruno@clisp.org>
19333
19334         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
19335         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
19336         glthread_rwlock_unlock, glthread_rwlock_destroy,
19337         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
19338         glthread_recursive_lock_destroy): Define as macros always.
19339         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
19340         glthread_lock_lock.
19341         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
19342         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
19343         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
19344         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
19345         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
19346         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
19347         (glthread_recursive_lock_lock_func): Renamed from
19348         glthread_recursive_lock_lock.
19349         (glthread_recursive_lock_unlock_func): Renamed from
19350         glthread_recursive_lock_unlock.
19351         (glthread_recursive_lock_destroy_func): Renamed from
19352         glthread_recursive_lock_destroy.
19353
19354 2008-08-14  Bruno Haible  <bruno@clisp.org>
19355
19356         * lib/glthread/lock.h: Renamed from lib/lock.h.
19357         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
19358         * lib/glthread/tls.h: Renamed from lib/tls.h.
19359         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
19360         * lib/fstrcmp.c: Update includes.
19361         * lib/strsignal.c: Update includes.
19362         * modules/lock (Files, Makefile.am): Update.
19363         (Include): Change to "glthread/lock.h".
19364         * modules/tls (Files, Makefile.am): Update.
19365         (Include): Change to "glthread/tls.h".
19366         * tests/test-lock.c: Update includes.
19367         * tests/test-tls.c: Update includes.
19368         * NEWS: Mention the renamed header files.
19369
19370 2008-08-11  Jim Meyering  <meyering@redhat.com>
19371
19372         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
19373
19374 2008-08-11  Eric Blake  <ebb9@byu.net>
19375
19376         test-c-stack: avoid C99-ism
19377         * tests/test-c-stack.c (main): Fix whitespace, move declaration
19378         before statement.
19379         Reported by Alain Guibert.
19380
19381 2008-08-10  Jim Meyering  <meyering@redhat.com>
19382
19383         ensure that return value of uinttostr et al are not ignored
19384         * lib/inttostr.h (__GNUC_PREREQ): Define.
19385         (__attribute_warn_unused_result__): Define.
19386         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
19387
19388 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
19389
19390         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
19391         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
19392
19393 2008-08-07  Jim Meyering  <meyering@redhat.com>
19394
19395         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
19396
19397         * modules/mkstemp (License): Relicense under LGPLv2+.
19398         * modules/tempname (License): Likewise.
19399
19400 2008-08-06  Bruno Haible  <bruno@clisp.org>
19401
19402         * lib/poll.c (poll): Further micro-optimization.
19403
19404 2008-08-06  Jim Meyering  <meyering@redhat.com>
19405
19406         inet_pton.c: use locale-independent tolower
19407         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
19408         (inet_pton6): Use c_tolower rather than tolower.
19409         * modules/inet_pton (Depends-on): Add c-ctype.
19410
19411 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
19412
19413         * lib/poll.c (poll): Avoid division when timeout is 0, cache
19414         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
19415
19416 2008-08-06  Jim Meyering  <meyering@redhat.com>
19417
19418         * modules/inet_pton (License): Relicense under LGPLv2+.
19419
19420 2008-08-03  Bruno Haible  <bruno@clisp.org>
19421
19422         Additional non-aborting API for lock and tls.
19423         * lib/lock.h: Include <errno.h>.
19424         (glthread_lock_init): New macro/function.
19425         (gl_lock_init): Define as wrapper around glthread_lock_init.
19426         (glthread_lock_lock): New macro/function.
19427         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
19428         (glthread_lock_unlock): New macro/function.
19429         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
19430         (glthread_lock_destroy): New macro/function.
19431         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
19432         (glthread_rwlock_init): New macro/function.
19433         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
19434         (glthread_rwlock_rdlock): New macro/function.
19435         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
19436         (glthread_rwlock_wrlock): New macro/function.
19437         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
19438         (glthread_rwlock_unlock): New macro/function.
19439         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
19440         (glthread_rwlock_destroy): New macro/function.
19441         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
19442         (glthread_recursive_lock_init): New macro/function.
19443         (gl_recursive_lock_init): Define as wrapper around
19444         glthread_recursive_lock_init.
19445         (glthread_recursive_lock_lock): New macro/function.
19446         (gl_recursive_lock_lock): Define as wrapper around
19447         glthread_recursive_lock_lock.
19448         (glthread_recursive_lock_unlock): New macro/function.
19449         (gl_recursive_lock_unlock): Define as wrapper around
19450         glthread_recursive_lock_unlock.
19451         (glthread_recursive_lock_destroy): New macro/function.
19452         (gl_recursive_lock_destroy): Define as wrapper around
19453         glthread_recursive_lock_destroy.
19454         (glthread_once): New macro/function.
19455         (gl_once): Define as wrapper around glthread_once.
19456         Update function declarations.
19457         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
19458         glthread_rwlock_init. Return error code.
19459         (glthread_rwlock_rdlock_multithreaded): Renamed from
19460         glthread_rwlock_rdlock. Return error code.
19461         (glthread_rwlock_wrlock_multithreaded): Renamed from
19462         glthread_rwlock_wrlock. Return error code.
19463         (glthread_rwlock_unlock_multithreaded): Renamed from
19464         glthread_rwlock_unlock. Return error code.
19465         (glthread_rwlock_destroy_multithreaded): Renamed from
19466         glthread_rwlock_destroy. Return error code.
19467         (glthread_recursive_lock_init_multithreaded): Renamed from
19468         glthread_recursive_lock_init. Return error code.
19469         (glthread_recursive_lock_lock_multithreaded): Renamed from
19470         glthread_recursive_lock_lock. Return error code.
19471         (glthread_recursive_lock_unlock_multithreaded): Renamed from
19472         glthread_recursive_lock_unlock. Return error code.
19473         (glthread_recursive_lock_destroy_multithreaded): Renamed from
19474         glthread_recursive_lock_destroy. Return error code.
19475         (glthread_once_call): Make static.
19476         (glthread_once_multithreaded): Renamed from glthread_once.
19477         * lib/tls.h: Include <errno.h>.
19478         (glthread_tls_key_init): New macro/function.
19479         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
19480         (glthread_tls_set): New macro/function.
19481         (gl_tls_set): Define as wrapper around glthread_tls_set.
19482         (glthread_tls_key_destroy): New macro/function.
19483         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
19484         Update function declarations.
19485         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
19486         glthread_tls_get.
19487         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
19488
19489 2008-08-04  Eric Blake  <ebb9@byu.net>
19490
19491         gnumakefile: use space, not TAB, outside of targets
19492         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
19493
19494 2008-08-02  Jim Meyering  <meyering@redhat.com>
19495
19496         getdate.y: avoid locale-dependent date parsing failure
19497         In Turkish locales, getdate would fail to recognize keywords
19498         containing a lowercase "i".  The solution is not to rely on
19499         locale-sensitive case-conversion.
19500         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
19501         (lookup_word): Use c_toupper in place of toupper.
19502         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
19503         Reported by Vefa Bicakci <bicave@superonline.com> in
19504         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
19505         * modules/getdate (Depends-on): Add c-ctype.
19506
19507 2008-08-02  Bruno Haible  <bruno@clisp.org>
19508
19509         * gnulib-tool (func_import): When updating or creating a .gitignore
19510         file, prepend each added line with a slash, and ignore leading slashes
19511         from the existing lines.
19512         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
19513
19514 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19515
19516         Portability fix for GNU make 3.79.1.
19517         * top/GNUmakefile: Avoid 'else COND', which older GNU make
19518         versions do not understand.
19519
19520 2008-08-01  Bruno Haible  <bruno@clisp.org>
19521
19522         Work around bug of HP-UX 10.20 cc with -0.0 literal.
19523         * tests/test-isnanf.h (zero): New variable.
19524         (main): Avoid literal -0.0f.
19525         * tests/test-isnand.h (zero): New variable.
19526         (main): Avoid literal -0.0.
19527         * tests/test-isnanl.h (zero): New variable.
19528         (main): Avoid literal -0.0L.
19529         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
19530         (test_float, test_double, test_long_double): Avoid literals -0.0f,
19531         -0.0, -0.0L.
19532         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
19533         (test_signbitd): Avoid literal -0.0.
19534         (test_signbitl): Avoid literal -0.0L.
19535         * tests/test-ceilf1.c (zero): New variable.
19536         (main): Avoid literal -0.0f.
19537         * tests/test-ceill.c (zero): New variable.
19538         (main): Avoid literal -0.0L.
19539         * tests/test-floorf1.c (zero): New variable.
19540         (main): Avoid literal -0.0f.
19541         * tests/test-floorl.c (zero): New variable.
19542         (main): Avoid literal -0.0L.
19543         * tests/test-roundf1.c (zero): New variable.
19544         (main): Avoid literal -0.0f.
19545         * tests/test-round1.c (zero): New variable.
19546         (main): Avoid literal -0.0.
19547         * tests/test-roundl.c (zero): New variable.
19548         (main): Avoid literal -0.0L.
19549         * tests/test-truncf1.c (zero): New variable.
19550         (main): Avoid literal -0.0f.
19551         * tests/test-trunc1.c (zero): New variable.
19552         (main): Avoid literal -0.0.
19553         * tests/test-truncl.c (zero): New variable.
19554         (main): Avoid literal -0.0L.
19555         * tests/test-frexp.c (zero): New variable.
19556         (main): Avoid literal -0.0.
19557         * tests/test-frexpl.c (zero): New variable.
19558         (main): Avoid literal -0.0L.
19559         * tests/test-ldexpl.c (zero): New variable.
19560         (main): Avoid literal -0.0L.
19561         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
19562         (zerod, zerol): New variables.
19563         (test_function): Avoid literals -0.0, -0.0L.
19564         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
19565         (zerod, zerol): New variables.
19566         (test_function): Avoid literals -0.0, -0.0L.
19567         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
19568         (zerod, zerol): New variables.
19569         (test_function): Avoid literals -0.0, -0.0L.
19570         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
19571         (zerod, zerol): New variables.
19572         (test_function): Avoid literals -0.0, -0.0L.
19573         * tests/test-strtod.c (zero): New variable.
19574         (main): Avoid literal -0.0.
19575         Reported by Jonathan C. Patschke <jp@centtech.com>.
19576
19577 2008-07-31  Jim Meyering  <meyering@redhat.com>
19578
19579         sha256.h: correct definition of SHA224_DIGEST_SIZE
19580         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
19581         Reported by Paulie Pena IV <paulie4@gmail.com>.
19582         Define as 224 / 8, rather than as a literal.
19583         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
19584         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
19585         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
19586
19587 2008-07-31  Bruno Haible  <bruno@clisp.org>
19588
19589         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
19590         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
19591         Reported by Jonathan Patschke <jp@centtech.com>.
19592
19593 2008-07-31  Bruno Haible  <bruno@clisp.org>
19594
19595         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
19596         Reported by Paolo Bonzini <bonzini@gnu.org>.
19597
19598 2008-07-30  Eric Blake  <ebb9@byu.net>
19599
19600         test-strtod: allow compilation without -lm
19601         * tests/test-strtod.c (main): Avoid link dependence on fabs.
19602         Reported by Dennis Clarke <blastwave@gmail.com>.
19603
19604 2008-07-28  Jim Meyering  <meyering@redhat.com>
19605
19606         bootstrap: work also when there are no .po files in po/
19607         * build-aux/bootstrap (update_po_files): Complete the change
19608         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
19609
19610 2008-07-27  Jim Meyering  <meyering@redhat.com>
19611
19612         * users.txt: Add zile.
19613
19614 2008-07-26  Ben Pfaff  <blp@gnu.org>
19615
19616         Add missing dependencies on new m4/exponent[fdl].m4 files.
19617         * modules/isnanf-nolibm: Add m4/exponentf.m4.
19618         * modules/isnand-nolibm: Add m4/exponentd.m4.
19619         * modules/isnanl-nolibm: Add m4/exponentl.m4.
19620         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
19621         m4/isnan[fdl].m4, because the macros actually used moved.
19622         Reported by Jim Meyering.
19623
19624 2008-07-14  Ben Pfaff  <blp@gnu.org>
19625
19626         Add isinf module.
19627         * lib/isinf.c: New file.
19628         * lib/math.in.h: Define isinf macro if we have decided to replace
19629         it.
19630         * m4/isinf.m4: New file.
19631         * m4/math_h.m4: Initialize and substitute variables for isinf
19632         module.
19633         * modules/isinf: New file.
19634         * modules/isinf-tests: New file.
19635         * modules/math: Add substitutions for new module.
19636         * tests/test-isinf.c: New file.
19637         * doc/posix-functions/isinf.texi: Mention new module.
19638         * MODULES.html.sh: Mention new module.
19639
19640 2008-07-14  Ben Pfaff  <blp@gnu.org>
19641
19642         Factor out some macros for use by additional modules.
19643         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
19644         exponentf.m4.
19645         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
19646         exponentd.m4.
19647         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
19648         file exponentl.m4.
19649         * m4/exponentf.m4: New file.
19650         * m4/exponentd.m4: New file.
19651         * m4/exponentl.m4: New file.
19652         * modules/isnanf: Use new file m4/exponentf.m4.
19653         * modules/isnand: Use new file m4/exponentd.m4.
19654         * modules/isnanl: Use new file m4/exponentl.m4.
19655
19656 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
19657
19658         mktime.c: normalize tp->tm_isdst value to -1/0/1.
19659         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
19660         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
19661         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
19662
19663         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
19664         readlink on platforms without PATH_MAX.
19665
19666 2008-07-21  Eric Blake  <ebb9@byu.net>
19667
19668         Warn, not fail, on stale version.
19669         * top/GNUmakefile (_curr-ver): Tone down previous patch.
19670
19671         Don't allow installation with stale devel version number.
19672         * top/GNUmakefile (_is-install-target): New macro.
19673         (_curr-ver): Forbid installation with stale version number.
19674
19675 2008-07-20  Bruno Haible  <bruno@clisp.org>
19676
19677         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
19678         TESTS_ENVIRONMENT.
19679         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
19680
19681 2008-07-20  Bruno Haible  <bruno@clisp.org>
19682
19683         * lib/c-stack.h (c_stack_action): Add documentation.
19684         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
19685
19686 2008-07-20  Bruno Haible  <bruno@clisp.org>
19687
19688         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
19689         * modules/readlink (License): Likewise.
19690
19691 2008-07-17  Eric Blake  <ebb9@byu.net>
19692
19693         * modules/c-stack (Link): Fix typo.
19694
19695         Make c-stack use libsigsegv, when available.
19696         * modules/c-stack (Depends-on): Add libsigsegv.
19697         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
19698         needed.
19699         * lib/c-stack.c (SIGSTKSZ): Define fallback.
19700         (segv_handler, overflow_handler, c_stack_action)
19701         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
19702         implementation when libsigsegv is available, but only when using
19703         the library is necessary.
19704         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
19705         comment, explaining why XSI check fails on Linux.
19706         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
19707         * tests/test-c-stack2.sh: Tweak skip message.
19708         * NEWS: Document new link-time requirements.
19709
19710 2008-07-16  Eric Blake  <ebb9@byu.net>
19711
19712         c-stack: Expose false positives when not using libsigsegv.
19713         * modules/c-stack-tests (Files): Expand test.
19714         * tests/test-c-stack.c (main): Add means to conditionally trigger
19715         non-overflow SIGSEGV.
19716         * tests/test-c-stack2.sh: New file.
19717
19718 2008-07-14  Bruno Haible  <bruno@clisp.org>
19719
19720         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
19721         Reported by Eric Blake.
19722
19723 2008-07-14  Sam Steingold  <sds@gnu.org>
19724             Bruno Haible  <bruno@clisp.org>
19725
19726         New module libsigsegv.
19727         * modules/libsigsegv: New file.
19728         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
19729         modifications.
19730         * MODULES.html.sh (Signal handling): New section.
19731
19732 2008-07-14  Bruno Haible  <bruno@clisp.org>
19733
19734         * modules/unictype/ctype-* (Description): Add the word "function".
19735         Improves the resulting doc in MODULES.html.
19736
19737 2008-07-12  Ben Pfaff  <blp@gnu.org>
19738
19739         Add longlong module.
19740         * modules/longlong: New file.
19741
19742 2008-07-12  Bruno Haible  <bruno@clisp.org>
19743
19744         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
19745         to empty.
19746
19747 2008-07-10  Ben Pfaff  <blp@gnu.org>
19748
19749         Add isnan module.
19750         * doc/posix-functions/isnan.texi: Mention new module.
19751         * lib/math.in.h: Define isnan macro if we have decided to replace
19752         it.
19753         * m4/isnan.m4: New file.
19754         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
19755         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
19756         also.
19757         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
19758         redundancy.
19759         * m4/math_h.m4: Initialize and substitute variables for isnan
19760         module.
19761         * modules/isnan: New file.
19762         * modules/isnan-tests: New file.
19763         * modules/math: Add substitutions for new module.
19764         * tests/test-isnan.c: New file.
19765         * MODULES.html.sh: Mention new module.
19766
19767 2008-07-10  Ben Pfaff  <blp@gnu.org>
19768
19769         Add isnanf module.
19770         * lib/isnanf.m4: New file.
19771         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
19772         (gl_HAVE_ISNANF_IN_LIBM): New macro.
19773         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
19774         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
19775         * modules/isnanf: New file.
19776         * modules/isnanf-tests: New file.
19777         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
19778         files.
19779         * tests/test-isnanf-nolibm.c: factored most of its contents into
19780         new file tests/test-isnanf.h.
19781         * tests/test-isnanf.h: New file.
19782         * tests/test-isnanf.c: New file.
19783         * MODULES.html.sh: Mention new module.
19784         * doc/glibc-functions/isnanf.texi: Mention new module.
19785
19786 2008-07-10  Ben Pfaff  <blp@gnu.org>
19787
19788         Add isnand module.
19789         * lib/isnand.h: New file.
19790         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
19791         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
19792         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
19793         functionality also.
19794         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
19795         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
19796         (gl_HAVE_ISNAND_IN_LIBM): New macro.
19797         * modules/isnand: New file.
19798         * modules/isnand-tests: New file.
19799         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
19800         files.
19801         * tests/test-isnand-nolibm.c: factored most of its contents into
19802         new file tests/test-isnand.h.
19803         * tests/test-isnand.h: New file.
19804         * tests/test-isnand.c: New file.
19805         * MODULES.html.sh: Mention new module.
19806
19807 2008-07-10  Ben Pfaff  <blp@gnu.org>
19808
19809         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
19810         * lib/isnand.h: Rename lib/isnand-nolibm.h.
19811         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
19812         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
19813         * modules/isnanf-nolibm: Update references to renamed files.
19814         * modules/isnand-nolibm: Likewise.
19815         * modules/isnanf-nolibm-tests: Likewise.
19816         * modules/isnand-nolibm-tests: Likewise.
19817         * lib/frexp.c: Likewise.
19818         * lib/isfinite.c: Likewise.
19819         * lib/signbitd.c: Likewise.
19820         * lib/signbitf.c: Likewise.
19821         * lib/vasnprintf.c: Likewise.
19822         * tests/test-ceilf1.c: Likewise.
19823         * tests/test-ceilf2.c: Likewise.
19824         * tests/test-floorf1.c: Likewise.
19825         * tests/test-floorf2.c: Likewise.
19826         * tests/test-frexp.c: Likewise.
19827         * tests/test-round1.c: Likewise.
19828         * tests/test-round2.c: Likewise.
19829         * tests/test-roundf1.c: Likewise.
19830         * tests/test-strtod.c: Likewise.
19831         * tests/test-trunc1.c: Likewise.
19832         * tests/test-trunc2.c: Likewise.
19833         * tests/test-truncf1.c: Likewise.
19834         * tests/test-truncf2.c: Likewise.
19835         * NEWS: Mention the renamed header files.
19836
19837 2008-07-11  Jim Meyering  <meyering@redhat.com>
19838
19839         vc-list-files: make the last-resort awk code more portable
19840         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
19841         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
19842         does not support it.
19843
19844 2008-07-10  Eric Blake  <ebb9@byu.net>
19845
19846         Work with tar's bootstrap.
19847         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
19848         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
19849         an m4 comment.
19850
19851 2008-07-09  Jim Meyering  <meyering@redhat.com>
19852
19853         posix-shell.m4: fix typo that made this test malfunction
19854         * m4/posix-shell.m4: Remove capitalization in variable name.
19855
19856 2008-07-08  Bruno Haible  <bruno@clisp.org>
19857
19858         * m4/onceonly.m4: Update comments.
19859         Reported by Ben Pfaff <blp@cs.stanford.edu>.
19860
19861 2008-07-04  Jim Meyering  <meyering@redhat.com>
19862
19863         * users.txt: Add vc-dwim.
19864         (bison, coreutils): Use the gitweb URL.
19865
19866 2008-07-03  Jim Meyering  <meyering@redhat.com>
19867
19868         * users.txt: Add libffcall.  From Sam Steingold.
19869
19870 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
19871
19872         getdate.y: do not ignore TZ with relative day, month or year offset
19873         * lib/getdate.y (get_date): Move the tz-handling block to follow the
19874         relative-date-handling, since otherwise, the latter would clobber the
19875         sole output (an updated Start value) of the tz-handling block.
19876         * tests/test-getdate.c: Tests for the fix
19877
19878 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19879
19880         Recognize 'foo_LIBRARIES += libgnu.a'.
19881         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
19882         makefile snippet has already specified an installation location,
19883         also using '+='.
19884
19885 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
19886
19887         getdate.y: factor out common actions
19888         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
19889         Use them in place of open-coded actions.
19890
19891 2008-07-01  Simon Josefsson  <simon@josefsson.org>
19892
19893         Add self-test for getdate module.
19894         * modules/getdate-tests: New file.
19895         * tests/test-getdate.c: New file.
19896
19897 2008-06-29  Bruno Haible  <bruno@clisp.org>
19898
19899         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
19900         .gitignore.
19901         Reported by Sylvain Beucler <beuc@beuc.net>.
19902
19903 2008-06-29  Bruno Haible  <bruno@clisp.org>
19904
19905         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
19906         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
19907
19908 2008-06-29  Bruno Haible  <bruno@clisp.org>
19909
19910         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
19911         EXTRA_DIST.
19912         Reported by Sylvain Beucler <beuc@beuc.net>.
19913
19914 2008-06-26  Jim Meyering  <meyering@redhat.com>
19915
19916         make several modules depend on the "open" module
19917         This provides slightly increased consistency when opening-for-write
19918         the name of a non-directory spelled with a trailing slash.
19919         * modules/chdir-safer: Likewise.
19920         * modules/chown: Likewise.
19921         * modules/clean-temp: Likewise.
19922         * modules/copy-file: Likewise.
19923         * modules/fchdir: Likewise.
19924         * modules/fcntl-safer: Likewise.
19925         * modules/pipe: Likewise.
19926         * modules/utime: Likewise.
19927         Prompted by Eric Blake and Bruno Haible.
19928
19929 2008-06-24  Andreas Schwab  <schwab@suse.de>
19930
19931         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
19932         literals can be used as initializers for global variables.
19933
19934 2008-06-23  Eric Blake  <ebb9@byu.net>
19935
19936         Make gnulib-cache.m4 easier to diff.
19937         * gnulib-tool (func_import): Allow newlines when reading cached
19938         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
19939
19940 2008-06-23  Bruno Haible  <bruno@clisp.org>
19941
19942         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
19943         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
19944         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
19945         m4/signalblocking.m4.
19946         (gl_PREREQ_SIGACTION): Don't invoke it.
19947         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
19948         gl_PREREQ_SIG_HANDLER_H.
19949         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
19950         Don't check for sigaction here.
19951
19952 2008-06-23  Bruno Haible  <bruno@clisp.org>
19953
19954         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
19955         (install_handlers): Don't set the SA_RESETHAND flag.
19956
19957 2008-06-23  Bruno Haible  <bruno@clisp.org>
19958
19959         * m4/sigaction.m4: Comment fixes.
19960         * lib/signal.in.h: Likewise.
19961
19962 2008-06-23  Eric Blake  <ebb9@byu.net>
19963
19964         Fix typo.
19965         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
19966
19967         Avoid SA_ namespace.
19968         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
19969         Reported by Ralf Wildenhues.
19970
19971         Avoid test failure due to SA_RESTORER.
19972         * tests/test-sigaction.c (SA_MASK): New macro.
19973         (main): Avoid failing due to extension flags being set.
19974         Reported by Jim Meyering.
19975
19976         Revert use of sig-handler.h in sigprocmask.c.
19977         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
19978         it requires the existence of struct sigaction.
19979         * lib/sigprocmask.c (handler_t): Restore typedef.
19980         (rpl_signal, old_handlers): Use local type.
19981
19982 2008-06-22  Bruno Haible  <bruno@clisp.org>
19983
19984         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
19985         conditionally.
19986         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
19987
19988 2008-06-22  Bruno Haible  <bruno@clisp.org>
19989
19990         * doc/posix-functions/siginterrupt.texi: Move note.
19991
19992         * lib/signal.in.h (SA_RESTART): New macro.
19993         * lib/sigaction.c: Update comment.
19994
19995         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
19996
19997         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
19998         (gl_PREREQ_SIGPROCMASK): Invoke it.
19999         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
20000
20001         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
20002
20003         * lib/sigprocmask.c: Update a comment.
20004
20005 2008-06-21  Eric Blake  <ebb9@byu.net>
20006
20007         Use sigaction module rather than signal().
20008         * modules/c-stack (Depends-on): Add sigaction.
20009         * modules/fatal-signal (Depends-on): Likewise.
20010         * modules/nanosleep (Depends-on): Likewise.
20011         * modules/sigprocmask (Files): Add sig-handler.h.
20012         * modules/sigaction (Files): Likewise.
20013         * lib/sig-handler.h (get_handler): New file, suggested by Paul
20014         Eggert.
20015         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
20016         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
20017         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
20018         (init_fatal_signals): Likewise.
20019         * lib/nanosleep.c (rpl_nanosleep): Likewise.
20020         (siginterrupt): Delete fallback.
20021         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
20022         instead.
20023         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
20024         siginterrupt.
20025
20026         New module sigaction, for mingw.
20027         * modules/sigaction: New module...
20028         * modules/sigaction-tests: ...and its test.
20029         * m4/sigaction.m4: New file.
20030         * lib/sigaction.c: Likewise.
20031         * tests/test-sigaction.c: Likewise.
20032         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
20033         * modules/signal (Makefile.am): Likewise.
20034         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
20035         needed.
20036         * doc/posix-headers/signal.texi (signal.h): Mention provided
20037         types.
20038         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
20039         that sigaction is preferable.
20040         * doc/posix-functions/sigaction.texi (sigaction): Mention new
20041         module.
20042         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
20043         sigaction.
20044
20045         Improve robustness of sigprocmask by overriding signal.
20046         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
20047         is in use.
20048         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
20049         (SIGKILL, SIGSTOP): Provide fallbacks.
20050         (rpl_signal): Implement.
20051         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
20052         signal can be called inside handlers.
20053
20054         Fix nanosleep module on mingw.
20055         * modules/nanosleep (Depends-on): Add sys_select.
20056         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
20057
20058         Fix licensing of sigprocmask.
20059         * modules/raise (License): Relicense as LGPL.
20060
20061 2008-06-21  Bruno Haible  <bruno@clisp.org>
20062
20063         * lib/propername.c (proper_name_utf8): Don't use the transliterated
20064         result if it contains question marks.
20065         Reported by Michael Geng <linux@michaelgeng.de>.
20066
20067 2008-06-19  Bruno Haible  <bruno@clisp.org>
20068
20069         Fix CVS-ism.
20070         * doc/gnulib.texi: Include updated-stamp.texi.
20071         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
20072         (updated-stamp.texi): New rule.
20073         (gnulib.info): Depend on it.
20074         * doc/.gitignore: Add updated-stamp.texi.
20075         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
20076
20077 2008-06-19  Bruno Haible  <bruno@clisp.org>
20078
20079         * doc/Makefile (gnulib.info): Update and simplify dependencies.
20080         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
20081
20082 2008-06-19  Eric Blake  <ebb9@byu.net>
20083
20084         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
20085         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
20086         Reported by Stepan Kasal.
20087
20088 2008-06-18  Bruno Haible  <bruno@clisp.org>
20089
20090         * lib/fatal-signal.c (init_fatal_signals): Add comment.
20091         Reported by Eric Blake.
20092
20093 2008-06-18  Eric Blake  <ebb9@byu.net>
20094
20095         Work around cygwin 1.5.25 strsignal bug.
20096         * tests/test-strsignal.c: Allow for const char *.
20097         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
20098
20099 2008-06-18  Simon Josefsson  <simon@josefsson.org>
20100
20101         * users.txt: Update URL to article and add author/date
20102         information.
20103
20104 2008-06-17  Bruno Haible  <bruno@clisp.org>
20105
20106         New macro gl_DISABLE_THREADS.
20107         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
20108         if the user did not pass --enable-threads or --disable-threads option.
20109         (gl_DISABLE_THREADS): New macro.
20110         Reported by Eric Blake <ebb9@byu.net>.
20111
20112 2008-06-17  Bruno Haible  <bruno@clisp.org>
20113
20114         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
20115         when the macro ignores it.
20116         Based on a patch by Eric Blake <ebb9@byu.net>.
20117
20118 2008-06-17  Bruno Haible  <bruno@clisp.org>
20119
20120         * modules/tls (License): Change to LGPLv2+.
20121         Reported by Eric Blake.
20122
20123 2008-06-17  Eric Blake  <ebb9@byu.net>
20124
20125         Simplify c-stack prerequisites.
20126         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
20127         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
20128         no longer requires <ucontext.h> to exist.  Optimize setrlimit
20129         check.
20130         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
20131         <sys/resource.h>.
20132
20133         Move c-stack test into testsuite.
20134         * modules/c-stack-tests: New file.
20135         * lib/c-stack.c [DEBUG]: Move test program...
20136         * tests/test-c-stack.c: ...into this new file.  Skip rather than
20137         fail test if sigaltstack is lacking.
20138         * tests/test-c-stack.sh: New driver file.
20139
20140 2008-06-16  Eric Blake  <ebb9@byu.net>
20141
20142         Use raise module consistently.
20143         * modules/fatal-signal (Depends-on): Add raise.
20144         * modules/sigprocmask (Depends-on): Likewise.
20145         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
20146         * lib/sigprocmask.c (sigprocmask): Likewise.
20147         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
20148         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
20149
20150         Fix compliance bug in sigpending.
20151         * lib/sigprocmask.c (sigpending): Return pending array via
20152         parameter, not return value.
20153
20154 2008-06-14  Eric Blake  <ebb9@byu.net>
20155
20156         Improve obstack-printf test code.
20157         * tests/test-obstack-printf.c (test_function): Fix comment, and
20158         simplify usage of obstack_* in macros.  Add a test for coverage.
20159         Reported by Bruno Haible.
20160
20161 2008-06-14  Bruno Haible  <bruno@clisp.org>
20162
20163         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
20164         array size as a constant, not as a const variable.
20165         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
20166         AC_USE_SYSTEM_EXTENSIONS.
20167         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
20168         Test whether the obstack_printf function actually exists.
20169         * modules/obstack-printf (Depends-on): Add extensions.
20170         (Include): Remove obstack.h.
20171         * modules/obstack-printf-posix (Depends-on): Add extensions.
20172         (Include): Remove obstack.h.
20173
20174 2008-06-13  Eric Blake  <ebb9@byu.net>
20175
20176         Add obstack-printf and obstack-printf-posix modules.
20177         * modules/obstack-printf: New file.
20178         * modules/obstack-printf-posix: Likewise.
20179         * MODULES.html.sh (Misc): Mention them.
20180         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
20181         Likewise.
20182         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
20183         Likewise.
20184         * modules/stdio (Makefile.am): Accomodate new modules.
20185         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
20186         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
20187         Declare.
20188         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
20189         functions.
20190         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
20191         (gl_REPLACE_OBSTACK_PRINTF): New macros
20192         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
20193         * tests/test-obstack-printf.c: New file.
20194         * modules/obstack-printf-tests: Likewise.
20195         * modules/obstack-printf-posix-tests: Likewise.
20196
20197 2008-06-11  Bruno Haible  <bruno@clisp.org>
20198
20199         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
20200         * lib/open.c: Include errno.h.
20201         (open): Fail when attempting to write to a file that has a trailing
20202         slash.
20203         * tests/test-open.c (main): Test against trailing slash bug.
20204         * doc/posix-functions/open.texi: Mention the trailing slash bug.
20205
20206 2008-06-10  Bruno Haible  <bruno@clisp.org>
20207
20208         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
20209         for $? to work inside the trap command, with various /bin/sh-s.
20210         * tests/test-vc-list-files-cvs.sh: Likewise.
20211
20212 2008-06-10  Bruno Haible  <bruno@clisp.org>
20213
20214         * lib/acl-internal.h: Don't include gettext.h here.
20215         * lib/set-mode-acl.c: Include gettext.h here.
20216         * lib/copy-acl.c: Likewise.
20217
20218 2008-06-10  Bruno Haible  <bruno@clisp.org>
20219
20220         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
20221         * lib/wait-process.c (wait_subprocess): Likewise.
20222         * lib/execute.h (execute): Add termsigp argument.
20223         * lib/execute.c (execute): Likewise.
20224         * lib/csharpcomp.c (compile_csharp_using_pnet,
20225         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
20226         * lib/csharpexec.c (execute_csharp_using_pnet,
20227         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
20228         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
20229         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
20230         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
20231         is_jikes_present): Update.
20232         * lib/javaexec.c (execute_java_class): Update.
20233         * lib/javaversion.c (execute_and_read_line): Update.
20234         * NEWS: Document the changes.
20235         Reported by Eric Blake.
20236
20237 2008-06-10  Eric Blake  <ebb9@byu.net>
20238
20239         Add missing include.
20240         * tests/test-strstr.c (includes): Add <signal.h>.
20241         * tests/test-strcasestr.c (includes): Likewise.
20242         * tests/test-memmem.c (includes): Likewise.
20243
20244 2008-06-10  Bruno Haible  <bruno@clisp.org>
20245
20246         * lib/wait-process.c (wait_subprocess): Add an assertion.
20247
20248 2008-06-10  Bruno Haible  <bruno@clisp.org>
20249
20250         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
20251
20252 2008-06-10  Bruno Haible  <bruno@clisp.org>
20253
20254         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
20255         using alarm().
20256         * tests/test-strcasestr.c (main): Likewise.
20257         * tests/test-strstr.c (main): Likewise.
20258
20259 2008-06-09  Bruno Haible  <bruno@clisp.org>
20260
20261         Work around the Solaris 10 ACE ACLs ABI change.
20262         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
20263         declare if ACL_NO_TRIVIAL is present.
20264         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
20265         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
20266         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
20267         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
20268         define if ACL_NO_TRIVIAL is present.
20269         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
20270         and use the current ABI.
20271         (file_has_acl): Use same #if condition as elsewhere.
20272         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
20273         in use, and use the current ABI.
20274         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
20275         Reported by Jim Meyering.
20276
20277 2008-06-09  Eric Blake  <ebb9@byu.net>
20278
20279         Work around environments that (stupidly) ignore SIGALRM.
20280         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
20281         before using alarm().
20282         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
20283         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
20284         Reported by Ian Beckwith <ianb@erislabs.net>.
20285
20286         Produce autobuild blurb earlier in log.
20287         * modules/autobuild (configure.ac-early): Move AB_INIT here.
20288
20289 2008-06-09  Jim Meyering  <meyering@redhat.com>
20290         and OndÅ™ej Vašík  <ovasik@redhat.com>
20291
20292         utimens.c: correct kernel bug work-around
20293         OndÅ™ej Vašík found that the invalid return value of 280 indicates
20294         failure, not success, and the kernel bug we're trying to work
20295         around affects not just the utimensat call, but also the fallback
20296         futimens call.
20297         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
20298         not success.
20299         [HAVE_FUTIMENS]: Use the same work-around, here.
20300
20301 2008-06-09  Jim Meyering  <meyering@redhat.com>
20302
20303         add more guards around definition of ACE_-related code
20304         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
20305         ALLOW and ACE_OWNER are also defined.
20306
20307 2008-06-08  Bruno Haible  <bruno@clisp.org>
20308
20309         * lib/acl-internal.h: Add me as co-author.
20310         * lib/file-has-acl.c: Likewise.
20311         * lib/set-mode-acl.c: Likewise.
20312         * lib/copy-acl.c: Likewise.
20313
20314 2008-06-08  Bruno Haible  <bruno@clisp.org>
20315
20316         Add support for AIX ACLs.
20317         * lib/acl-internal.h (acl_nontrivial): New declaration.
20318         * lib/file-has-acl.c (acl_nontrivial): New function.
20319         (file_has_acl): Add implementation using AIX 4 ACL API.
20320         * lib/set-mode-acl.c (qset_acl): Likewise.
20321         * lib/copy-acl.c (qcopy_acl): Likewise.
20322
20323 2008-06-08  Bruno Haible  <bruno@clisp.org>
20324
20325         Add support for HP-UX ACLs.
20326         * lib/acl-internal.h (acl_nontrivial): New declaration.
20327         * lib/file-has-acl.c (acl_nontrivial): New function.
20328         (file_has_acl): Add implementation using HP-UX 11 ACL API.
20329         * lib/set-mode-acl.c (qset_acl): Likewise.
20330         * lib/copy-acl.c (qcopy_acl): Likewise.
20331
20332 2008-06-08  Bruno Haible  <bruno@clisp.org>
20333
20334         Add support for Cygwin ACLs.
20335         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
20336         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
20337         the chmod_or_fchmod call.
20338         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
20339
20340 2008-06-08  Bruno Haible  <bruno@clisp.org>
20341
20342         Fix bug with setuid modes in Solaris 10+ code.
20343         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
20344         succeeded, when the mode contains some special bits.
20345
20346 2008-06-08  Bruno Haible  <bruno@clisp.org>
20347
20348         Add support for Solaris 7..10 ACLs.
20349         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
20350         declarations.
20351         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
20352         functions.
20353         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
20354         * lib/set-mode-acl.c (qset_acl): Likewise.
20355         * lib/copy-acl.c (qcopy_acl): Likewise.
20356
20357 2008-06-08  Bruno Haible  <bruno@clisp.org>
20358
20359         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
20360         declaration.
20361         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
20362         (acl_access_nontrivial): Remove MacOS X case.
20363         (file_has_acl): Use acl_extended_nontrivial.
20364         * lib/copy-acl.c (qcopy_acl): Likewise.
20365
20366 2008-06-08  Bruno Haible  <bruno@clisp.org>
20367
20368         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
20369
20370 2008-06-08  Jim Meyering  <meyering@redhat.com>
20371
20372         * modules/acl (Maintainer): Add Bruno Haible.
20373
20374 2008-06-07  Bruno Haible  <bruno@clisp.org>
20375
20376         Improve support for Tru64 ACLs.
20377         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
20378         ACL on OSF/1.
20379
20380 2008-06-07  Bruno Haible  <bruno@clisp.org>
20381
20382         Add support for MacOS X ACLs.
20383         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
20384         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
20385         * lib/set-mode-acl.c (qset_acl): Likewise.
20386         * lib/copy-acl.c (qcopy_acl): Likewise.
20387
20388 2008-06-07  Bruno Haible  <bruno@clisp.org>
20389
20390         Fix memory leak introduced on 2008-05-22.
20391         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
20392         use.
20393
20394 2008-06-07  Bruno Haible  <bruno@clisp.org>
20395
20396         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
20397         to construct an empty ACL.
20398
20399 2008-06-07  Bruno Haible  <bruno@clisp.org>
20400
20401         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
20402         precisely.
20403         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
20404
20405 2008-06-07  Bruno Haible  <bruno@clisp.org>
20406
20407         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
20408         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
20409
20410 2008-06-07  Bruno Haible  <bruno@clisp.org>
20411
20412         * doc/posix-functions/_setjmp.texi: Explain the use of this function
20413         regardless of POSIX.
20414         * doc/posix-functions/_longjmp.texi: Likewise.
20415         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
20416         SystemV platform in this case.
20417
20418 2008-06-06  Eric Blake  <ebb9@byu.net>
20419
20420         Document abort() bugs.
20421         * doc/posix-functions/abort.texi (abort): Mention anomalies.
20422
20423         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
20424         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
20425         sigsetjmp.
20426         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
20427         siglongjmp, but only as a macro.
20428         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
20429         is obsolete.
20430         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
20431
20432         Tweak documentation to cover cygwin argz bugs.
20433         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
20434         argz bug fix; no code change needed since no cygwin releases
20435         occurred between the last fix and the bug being tested.
20436         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
20437         module and recently fixed cygwin bugs.
20438         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
20439         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
20440         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
20441         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
20442         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
20443         Likewise.
20444         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
20445         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
20446         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
20447         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
20448         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
20449         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
20450         Likewise.
20451
20452         Avoid gcc warning on cygwin.
20453         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
20454         !ACL_NO_TRIVIAL]: Avoid unused variable.
20455
20456 2008-06-05  Eric Blake  <ebb9@byu.net>
20457
20458         Be tolerant of UNKNOWN version in gnulib-tool test dir.
20459         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
20460         git-version-gen fails to come up with a version.
20461         Reported by Simon Josefsson.
20462
20463 2008-06-05  Jim Meyering  <meyering@redhat.com>
20464             Paul Eggert  <eggert@cs.ucla.edu>
20465
20466         utimens.c: work around a probable Linux kernel bug
20467         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
20468         appears to be a kernel bug that causes utimensat to return 280
20469         instead of 0, indicating success.
20470
20471 2008-06-04  Bruno Haible  <bruno@clisp.org>
20472
20473         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
20474         2008-06-01 commit.
20475
20476 2008-06-04  Bruno Haible  <bruno@clisp.org>
20477
20478         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
20479         * lib/file-has-acl.c (acl_access_nontrivial): New function.
20480         (file_has_acl): Use it. Save errno afterwards.
20481         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
20482
20483 2008-06-03  Bruno Haible  <bruno@clisp.org>
20484
20485         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
20486         draft code. Simplify #ifs.
20487         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
20488         Put Solaris code after POSIX-draft code. Fix comments regarding
20489         Solaris 10, HP-UX. Mention Cygwin.
20490         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
20491
20492 2008-06-03  Eric Blake  <ebb9@byu.net>
20493
20494         Provide fallback for older kernels.
20495         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
20496         Provide runtime fallback if kernel lacks support.
20497         Reported by Mike Frysinger.
20498
20499 2008-06-02  Bruno Haible  <bruno@clisp.org>
20500
20501         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
20502         it exists.
20503
20504 2008-06-02  Bruno Haible  <bruno@clisp.org>
20505
20506         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
20507         * lib/copy-acl.c (qcopy_acl): Update comment.
20508
20509 2008-06-02  Bruno Haible  <bruno@clisp.org>
20510
20511         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
20512         like ACL APIs.
20513
20514 2008-06-02  Bruno Haible  <bruno@clisp.org>
20515
20516         * tests/test-file-has-acl.sh: Use different code for Cygwin.
20517         * tests/test-set-mode-acl.sh: Likewise.
20518         * tests/test-copy-acl.sh: Likewise.
20519         * tests/test-copy-file.sh: Likewise.
20520
20521 2008-06-02  Bruno Haible  <bruno@clisp.org>
20522
20523         * tests/test-file-has-acl.sh: Remove unused code.
20524
20525 2008-06-01  Bruno Haible  <bruno@clisp.org>
20526
20527         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
20528         (copy_acl): Just a wrapper around qcopy_acl that emits the error
20529         messages.
20530         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
20531
20532 2008-06-01  Bruno Haible  <bruno@clisp.org>
20533
20534         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
20535         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
20536         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
20537         APIs.
20538         * modules/acl-tests (configure.ac): Remove tests now contained in
20539         m4/acl.m4.
20540
20541 2008-06-02  Jim Meyering  <meyering@redhat.com>
20542
20543         announce-gen: use a better key-server host name
20544         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
20545         it may be more consistently reliable.  Suggested by Werner Koch
20546         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
20547
20548 2008-06-01  Bruno Haible  <bruno@clisp.org>
20549
20550         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
20551         Reported by Voroskoi Andras <voroskoi@gmail.com>.
20552
20553 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
20554
20555         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
20556
20557 2008-06-01  Bruno Haible  <bruno@clisp.org>
20558
20559         New ACL tests.
20560         * tests/test-file-has-acl.sh: New file.
20561         * tests/test-file-has-acl.c: New file.
20562         * tests/test-set-mode-acl.sh: New file.
20563         * tests/test-set-mode-acl.c: New file.
20564         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
20565         * tests/test-copy-acl.c: New file.
20566         * modules/acl-tests: New file, based on modules/copy-file-tests.
20567         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
20568         (Depends-on): Add acl-tests.
20569         (configure.ac): Remove checks.
20570         (Makefile.am): Don't create test-sameacls program here any more.
20571
20572 2008-06-01  Bruno Haible  <bruno@clisp.org>
20573
20574         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
20575         * tests/test-sameacls.c: Include progname.h.
20576         (main): Invoke set_program_name. Portability fixes for MacOS X,
20577         Solaris, HP-UX.
20578
20579 2008-06-01  Bruno Haible  <bruno@clisp.org>
20580
20581         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
20582         function.
20583         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
20584
20585 2008-06-01  Bruno Haible  <bruno@clisp.org>
20586
20587         * modules/rpmatch (Depends-on): Add strdup.
20588
20589 2008-06-01  Bruno Haible  <bruno@clisp.org>
20590
20591         * lib/pipe.c: Include unistd-safer.h.
20592         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
20593         * modules/pipe (Depends-on): Add unistd-safer.
20594
20595 2008-05-30  Simon Josefsson  <simon@josefsson.org>
20596
20597         * modules/autobuild (configure.ac): Call AB_INIT.
20598
20599 2008-05-30  Simon Josefsson  <simon@josefsson.org>
20600
20601         * tests/test-getaddrinfo.c: Don't print debug messages by default.
20602         Suggested by Bruno Haible <bruno@clisp.org>.
20603
20604 2008-05-30  Simon Josefsson  <simon@josefsson.org>
20605
20606         * tests/test-base64.c: Cast size_t to unsigned long when invoking
20607         printf.  Use %lu instead of %d.  Reported by Bruno Haible
20608         <bruno@clisp.org>.
20609
20610 2008-05-29  Eric Blake  <ebb9@byu.net>
20611
20612         Prefer new POSIX 200x interfaces over futimesat.
20613         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
20614         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
20615         when available.
20616         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
20617
20618 2008-05-28  Bruno Haible  <bruno@clisp.org>
20619
20620         * modules/stpcpy (License): Change to LGPLv2+.
20621         Requested by David Lutterkort <dlutter@redhat.com>.
20622
20623 2008-05-27  Bruno Haible  <bruno@clisp.org>
20624
20625         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
20626         current mingw.
20627         Reported by Jose E. Marchesi <jemarch@gnu.org>.
20628
20629 2008-05-27  Bruno Haible  <bruno@clisp.org>
20630
20631         * modules/iconv_open (Link): New section, from module 'iconv'.
20632         * modules/striconv (Link): Likewise.
20633         * modules/striconveh (Link): Likewise.
20634         * modules/xstriconv (Link): Likewise.
20635         * modules/unicodeio (Link): Likewise.
20636         * modules/propername (Link): Likewise.
20637         Reported by Jim Meyering.
20638
20639 2008-05-26  Jim Meyering  <meyering@redhat.com>
20640
20641         sha256: do not artificially restrict buffer length to be < 2^32
20642         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
20643         uint32_t to size_t.
20644         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
20645         to match.
20646
20647         avoid unaligned access errors, e.g., on sparc
20648         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
20649         direct access through a possibly-unaligned uint64* pointer.
20650         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
20651         direct access through a possibly-unaligned uint32* pointer.
20652         Prompted by this patch from Tom "spot" Callaway:
20653         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
20654
20655         sha512.c: fix typo in comment
20656         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
20657
20658 2008-05-25  Bruno Haible  <bruno@clisp.org>
20659
20660         * lib/set-mode-acl.c: Renamed from lib/acl.c.
20661         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
20662         (Makefile.am): Update lib_SOURCES.
20663
20664 2008-05-25  Bruno Haible  <bruno@clisp.org>
20665
20666         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
20667
20668 2008-05-25  Jim Meyering  <meyering@redhat.com>
20669
20670         useless-if-before-free: freed expr may have white-space differences
20671         * build-aux/useless-if-before-free: Recognize cases in which the
20672         freed expression differs from the tested one in embedded white
20673         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
20674         $1 was used, so we can't make any regexp shy.  Improved tests now
20675         detect this.
20676
20677         useless-if-before-free: accept white space in the expression.
20678         * build-aux/useless-if-before-free: For now, any white space
20679         in the expression must be identical in the free argument.
20680
20681         useless-if-before-free: efficiency tweak
20682         * build-aux/useless-if-before-free: Make the expression-matching
20683         regexp "shy".
20684         Make the *outer* regexp shy, not the expr-matching one.
20685
20686         update code-in-comment to accept cast of free arg
20687         * build-aux/useless-if-before-free: Update regexp.
20688
20689 2008-05-25  Bruno Haible  <bruno@clisp.org>
20690
20691         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
20692         * modules/copy-file-tests (Files, Makefile.am): Update.
20693         * tests/test-copy-file.c (func_test_copy): Update.
20694
20695 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
20696
20697         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
20698
20699 2008-05-23  Bruno Haible  <bruno@clisp.org>
20700
20701         Improve support for ACLs on OSF/1.
20702         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
20703         Remove fallback for unknown flavors of ACLs.
20704
20705 2008-05-22  Bruno Haible  <bruno@clisp.org>
20706
20707         Add support for ACLs on OSF/1.
20708         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
20709         replacements.
20710         (acl_free_text): New macro fallback.
20711         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
20712         acl_free.
20713         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
20714         acl_free_text function. Require AC_C_INLINE.
20715
20716 2008-05-22  Bruno Haible  <bruno@clisp.org>
20717
20718         Make copy_acl work on MacOS X 10.5.
20719         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
20720         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
20721         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
20722         If MODE_INSIDE_ACL, don't assume that every system has the same text
20723         representation for ACLs as FreeBSD.
20724         * lib/copy-acl.c (copy_acl): Add support for platforms with
20725         !MODE_INSIDE_ACL.
20726         * lib/file-has-acl.c (file_has_acl): Likewise.
20727         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
20728         FreeBSD, MacOS X, or IRIX, respectively.
20729
20730 2008-05-22  Bruno Haible  <bruno@clisp.org>
20731
20732         * lib/acl.h: Don't include <sys/acl.h>.
20733         (GETACLCNT): Move fallback to lib/acl-internal.h.
20734         * lib/acl-internal.h: Include <sys/acl.h> here.
20735         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
20736
20737 2008-05-22  Bruno Haible  <bruno@clisp.org>
20738
20739         Split off copy_acl function to separate file.
20740         * lib/copy-acl.c: New file, extracted from lib/acl.c.
20741         * lib/acl.c (copy_acl): Moved function to separate file.
20742         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
20743         * modules/acl (Files): Add lib/copy-acl.c.
20744         (Makefiles.am): Augment lib_SOURCES.
20745
20746 2008-05-22  Bruno Haible  <bruno@clisp.org>
20747
20748         * modules/copy-file-tests: New file.
20749         * tests/test-copy-file.sh: New file.
20750         * tests/test-copy-file.c: New file.
20751         * tests/test-copy-file-sameacls.c: New file.
20752
20753 2008-05-22  Eric Blake  <ebb9@byu.net>
20754
20755         Avoid gcc warning.
20756         * tests/test-memcmp.c (main): Pass NULL indirectly.
20757
20758 2008-05-21  Bruno Haible  <bruno@clisp.org>
20759
20760         Add reference doc about ACLs.
20761         * doc/acl-resources.txt: New file.
20762         * doc/acl-cygwin.txt: New file.
20763
20764 2008-05-21  Bruno Haible  <bruno@clisp.org>
20765
20766         Avoid one more warning from gcc.
20767         * lib/vasnprintf.c (IF_LINT): Update comments.
20768         (VASNPRINTF): Use it also for the 'prefix' array initializer.
20769
20770 2008-05-21  Jim Meyering  <meyering@redhat.com>
20771
20772         avoid a warning from gcc
20773         * lib/vasnprintf.c (IF_LINT): Define.
20774         (scale10_round_decimal_long_double):
20775         Use it to avoid a "may be used uninitialized" warning.
20776         (scale10_round_decimal_double): Likewise.
20777
20778 2008-05-21  Simon Josefsson  <simon@josefsson.org>
20779
20780         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
20781         declared.
20782
20783 2008-05-20  Bruno Haible  <bruno@clisp.org>
20784
20785         * tests/test-memcmp.c (main): Test also the sign of the result. Test
20786         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
20787
20788 2008-05-20  Simon Josefsson  <simon@josefsson.org>
20789
20790         * modules/memcmp-tests: New file.
20791         * tests/test-memcmp.c: New file.
20792
20793 2008-05-19  Bruno Haible  <bruno@clisp.org>
20794
20795         * modules/propername (Notice, configure.ac): Put quoted "..." into
20796         --keyword option.
20797         * lib/propername.h: Update comments accordingly.
20798         Reported by Eric Blake.
20799
20800 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
20801
20802         * modules/getpass-gnu (Depends-on): Add fseeko.
20803
20804 2008-05-19  Simon Josefsson  <simon@josefsson.org>
20805
20806         * modules/base64-tests: New file.
20807
20808 2008-05-19  Bo Borgerson <gigabo@gmail.com>
20809
20810         * lib/base64.c (base64_decode_ctx): If a decode context structure
20811         was passed in use it to ignore newlines.  If a context structure
20812         was _not_ passed in, continue to treat newlines as garbage (this
20813         is the historical behavior).  Formerly base64_decode.
20814         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
20815         takes a decode context structure.
20816         * lib/base64.h (base64_decode): Macro for four-argument calls.
20817         (base64_decode_alloc): Likewise.
20818         * lib/base64.c (base64_decode_ctx): If a decode context structure
20819         was passed in use it to ignore newlines.  If a context structure
20820         was _not_ passed in, continue to treat newlines as garbage (this
20821         is the historical behavior).  Formerly base64_decode.
20822         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
20823         takes a decode context structure.
20824         * lib/base64.h (base64_decode): Macro for four-argument calls.
20825         (base64_decode_alloc): Likewise.
20826
20827 2008-05-19  Jim Meyering  <meyering@redhat.com>
20828
20829         avoid a warning from gcc
20830         * lib/trim.c (IF_LINT): Define.
20831         (trim2): Use it to avoid a "may be used uninitialized" warning.
20832
20833         Fix doc typo.
20834         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
20835
20836 2008-05-19  Bruno Haible  <bruno@clisp.org>
20837
20838         * doc/glibc-functions/getpass.texi: Document limits of other
20839         implementations.
20840
20841 2008-05-19  Simon Josefsson  <simon@josefsson.org>
20842             Bruno Haible <bruno@clisp.org>
20843
20844         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
20845
20846 2008-05-18  Bruno Haible  <bruno@clisp.org>
20847
20848         * modules/propername: New file, from GNU gettext.
20849         * lib/propername.h: New file, from GNU gettext.
20850         * lib/propername.c: New file, from GNU gettext.
20851         * MODULES.html.sh (Internationalization functions): Add propername.
20852
20853 2008-05-16  Jim Meyering  <meyering@redhat.com>
20854             Bruno Haible  <bruno@clisp.org>
20855
20856         Avoid some warnings from "gcc -Wshadow".
20857         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
20858
20859 2008-05-15  Eric Blake  <ebb9@byu.net>
20860
20861         Extend previous patch to cygwin 1.7.0.
20862         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
20863         fast implementation in cygwin >= 1.7.0.
20864         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
20865         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
20866
20867 2008-05-15  Bruno Haible  <bruno@clisp.org>
20868
20869         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
20870         implementation in glibc >= 2.9.
20871         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
20872         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
20873
20874 2008-05-15  Bruno Haible  <bruno@clisp.org>
20875
20876         * MODULES.html.sh (Internationalization functions): Remove linebreak.
20877         (Unicode string functions): Add unilbrk/*.
20878         Reported by Karl Berry.
20879
20880 2008-05-15  Eric Blake  <ebb9@byu.net>
20881
20882         Fix violation of <stdbool.h> replacement in regex.
20883         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
20884         * lib/regexec.c (re_search_internal): Likewise.
20885         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
20886
20887 2008-05-15  Jim Meyering  <meyering@redhat.com>
20888
20889         avoid distracting test output when git or cvs is not found
20890         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
20891         * tests/test-vc-list-files-git.sh: Likewise.
20892
20893 2008-05-15  Eric Blake  <ebb9@byu.net>
20894
20895         Glibc finally accepted the memmem speedup code, bugzilla #5514.
20896         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
20897         glibc version.
20898         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
20899         * doc/posix-functions/strstr.texi (strstr): Likewise.
20900         * lib/str-two-way.h (MAX): Sychronize with glibc.
20901
20902 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
20903
20904         * lib/regcomp.c (optimize_utf8): Add a note on why we test
20905         opr.ctx_type.
20906         (calc_first): Initialize constraint field.
20907         (duplicate_node_closure): Use it instead of special casing ANCHORS.
20908         Fix grammar.
20909         (duplicate_node): Merge constraint field for all node types.
20910         (calc_eclosure_iter): Look at constraint field for all node types.
20911         * lib/regex_internal.c (create_cd_newstate): Don't look at
20912         opr.ctx_type.
20913
20914 2008-05-14  Bruno Haible  <bruno@clisp.org>
20915
20916         Help GCC to do better code generation.
20917         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
20918         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
20919         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
20920         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
20921         Declare with attribute 'malloc' if supported.
20922
20923 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
20924
20925         use "echo STR|wc -c" rather than unportable "expr length STR"
20926         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
20927         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
20928
20929 2008-05-14  Jim Meyering  <meyering@redhat.com>
20930
20931         use dd ibs=$n count=1 ... rather than less-portable head -c$n
20932         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
20933         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
20934         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
20935         via Collin Lasse.
20936
20937 2008-05-14  Eric Blake  <ebb9@byu.net>
20938
20939         Avoid quadratic growth in gl_LIBSOURCES.
20940         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
20941         Suggested by Bruno Haible.
20942
20943         Test xmemdup0.
20944         * modules/xmemdup0-tests: New file.
20945         * tests/test-xmemdup0.c: Likewise.
20946
20947 2008-05-13  Eric Blake  <ebb9@byu.net>
20948
20949         Split xmemdup0 into its own module.
20950         * modules/xmemdup0: New file.
20951         * lib/xmemdup0.h: Likewise.
20952         * lib/xmemdup0.c: Likewise.
20953         * MODULES.html.sh (Memory management functions): Add xmemdup0.
20954         * lib/xalloc.h (xmemdup0): Remove.
20955         * lib/xmalloc.c (xmemdup0): Likewise.
20956
20957 2008-05-13  Eric Blake  <ebb9@byu.net>
20958             Bruno Haible  <bruno@clisp.org>
20959
20960         Reduce number of forks required during autoconf.
20961         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
20962         and gl_LIBSOURCES_DIR.
20963         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
20964         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
20965         m4_syscmd per file.
20966         <m4_foreach_w>: Move...
20967         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
20968
20969 2008-05-13  Eric Blake  <ebb9@byu.net>
20970
20971         * gnulib-tool: Fix various comment typos.
20972
20973 2008-05-12  Bruno Haible  <bruno@clisp.org>
20974
20975         Tailor the linebreaking algorithm.
20976         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
20977
20978 2008-05-12  Bruno Haible  <bruno@clisp.org>
20979
20980         Update to Unicode 5.0.0.
20981         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
20982         LBP_JV, LBP_JT. Redistribute values.
20983         (unilbrk_table): Change size.
20984         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
20985         Unicode TR#14 rev. 22.
20986         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
20987         LBP_JV, LBP_JT. Redistribute values.
20988         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
20989         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
20990         Update.
20991         * lib/unilbrk/lbrkprop1.h: Regenerated.
20992         * lib/unilbrk/lbrkprop2.h: Regenerated.
20993         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
20994         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
20995         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
20996         Likewise.
20997         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
20998         Likewise.
20999         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
21000         result.
21001         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
21002         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
21003         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
21004         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
21005         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
21006         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
21007
21008 2008-05-11  Bruno Haible  <bruno@clisp.org>
21009
21010         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
21011
21012 2008-05-11  Bruno Haible  <bruno@clisp.org>
21013
21014         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
21015         * modules/unilbrk/gen-lbrk: New file.
21016
21017 2008-05-11  Bruno Haible  <bruno@clisp.org>
21018
21019         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
21020         * m4/sha512.m4 (gl_SHA512): Likewise.
21021
21022 2008-05-11  Jim Meyering  <meyering@redhat.com>
21023
21024         New modules: crypto/sha256, crypto/sha512 (from coreutils)
21025         * modules/crypto/sha256: New file.
21026         * modules/crypto/sha512: Likewise.
21027         * lib/sha256.c: Likewise.
21028         * lib/sha256.h: Likewise.
21029         * lib/sha512.c: Likewise.
21030         * lib/sha512.h: Likewise.
21031         * lib/u64.h: Likewise.
21032         * m4/sha256.m4: Likewise.
21033         * m4/sha512.m4: Likewise.
21034         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
21035
21036 2008-05-10  Bruno Haible  <bruno@clisp.org>
21037
21038         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
21039         (Input/Output <stdio.h>): Add xprintf.
21040         (Signal handling <signal.h>): Add strsignal.
21041         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
21042         (Core language properties): Add func.
21043         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
21044         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
21045         strings.
21046         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
21047         (Input/output): New section.
21048         (File system functions): Add openat-die, stat-macros.
21049         (Networking functions): Add sockets.
21050         (Unicode string functions): Add unictype/*.
21051         (Support for building libraries and executables): Add gperf.
21052         (Support for building documentation): Add agpl-3.0.
21053         (Misc): Add nocrash.
21054
21055 2008-05-10  Bruno Haible  <bruno@clisp.org>
21056
21057         * modules/unictype/gen-ctype: New file.
21058
21059 2008-05-10  Jim Meyering  <meyering@redhat.com>
21060
21061         Make chdir-safer.c more efficient on a system with no symlinks.
21062         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
21063         also if ELOOP is zero.  Suggested by Bruno Haible.
21064
21065         Make chdir-safer.c slightly safer.
21066         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
21067         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
21068
21069         Avoid compile failure on systems without ELOOP (like mingw).
21070         * lib/chdir-safer.c (ELOOP): Define if not already defined.
21071         Reported by Bruno Haible.
21072
21073 2008-05-10  Bruno Haible  <bruno@clisp.org>
21074
21075         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
21076         (is_utf8_encoding): Use a case-insensitive comparison.
21077         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
21078         streq.
21079
21080 2008-05-10  Bruno Haible  <bruno@clisp.org>
21081
21082         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
21083         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
21084         * lib/unilbrk/ulc-common.h (iconv_string_length,
21085         iconv_string_keeping_offsets): Remove declarations.
21086         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
21087         Don't include <iconv.h>, streq.h, xsize.h.
21088         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
21089         conversion.
21090         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
21091         <iconv.h>, streq.h, xsize.h.
21092         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
21093         conversion.
21094         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
21095         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
21096         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
21097         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
21098
21099 2008-05-10  Bruno Haible  <bruno@clisp.org>
21100
21101         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
21102         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
21103
21104         * modules/unilbrk/u32-width-linebreaks-tests: New file.
21105         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
21106
21107         * modules/unilbrk/u16-width-linebreaks-tests: New file.
21108         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
21109
21110         * modules/unilbrk/u8-width-linebreaks-tests: New file.
21111         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
21112
21113         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
21114         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
21115
21116         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
21117         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
21118
21119         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
21120         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
21121
21122         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
21123         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
21124
21125 2008-05-10  Bruno Haible  <bruno@clisp.org>
21126
21127         Split up 'linebreak' module.
21128         * lib/unilbrk.h: New file, based on lib/linebreak.h.
21129         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
21130         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
21131         modifications.
21132         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
21133         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
21134         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
21135         lib/linebreak.c.
21136         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
21137         lib/linebreak.c.
21138         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
21139         lib/linebreak.c.
21140         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
21141         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
21142         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
21143         lib/linebreak.c.
21144         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
21145         lib/linebreak.c.
21146         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
21147         lib/linebreak.c.
21148         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
21149         lib/linebreak.c.
21150         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
21151         lib/linebreak.c.
21152         * modules/unilbrk/base: New file.
21153         * modules/unilbrk/tables: New file.
21154         * modules/unilbrk/u8-possible-linebreaks: New file.
21155         * modules/unilbrk/u16-possible-linebreaks: New file.
21156         * modules/unilbrk/u32-possible-linebreaks: New file.
21157         * modules/unilbrk/ulc-common: New file.
21158         * modules/unilbrk/ulc-possible-linebreaks: New file.
21159         * modules/unilbrk/u8-width-linebreaks: New file.
21160         * modules/unilbrk/u16-width-linebreaks: New file.
21161         * modules/unilbrk/u32-width-linebreaks: New file.
21162         * modules/unilbrk/ulc-width-linebreaks: New file.
21163         * lib/linebreak.h: Remove file.
21164         * lib/linebreak.c: Remove file.
21165         * m4/linebreak.m4: Remove file.
21166         * modules/linebreak: Remove file.
21167         * NEWS: Mention the changes.
21168
21169 2008-05-09  Eric Blake  <ebb9@byu.net>
21170
21171         Add xmemdup0.
21172         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
21173         implementation.
21174         * lib/xmalloc.c (xmemdup0): New C implementation.
21175
21176 2008-05-08  Bruno Haible  <bruno@clisp.org>
21177
21178         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
21179
21180 2008-05-07  Eric Blake  <ebb9@byu.net>
21181
21182         Support cross-compilation of <wctype.h>.
21183         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
21184         AC_CACHE_CHECK.
21185
21186 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
21187
21188         * build-aux/vc-list-files: Add support for bzr.
21189
21190 2008-05-03  Jim Meyering  <meyering@redhat.com>
21191
21192         avoid failed assertion with tight malloc
21193         * tests/test-getndelim2.c: Correct an off-by-one assertion.
21194
21195 2008-05-03  Simon Josefsson  <simon@josefsson.org>
21196
21197         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
21198         are needed from arpa/inet.h.
21199         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
21200         Reported by Bruno Haible.
21201
21202 2008-05-02  Jim Meyering  <meyering@redhat.com>
21203
21204         avoid compilation error on FreeBSD 6
21205         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
21206
21207 2008-05-01  Jim Meyering  <meyering@redhat.com>
21208
21209         useless-if-before-free: correct --help's exit status description
21210         * build-aux/useless-if-before-free (usage): Like grep, exit 0
21211         for one or more matches, etc.  Reported by Bruno Haible.
21212
21213         vc-list-files: make the stand-alone gnulib test work
21214         * modules/vc-list-files-tests (configure.ac):
21215         Define and AC_SUBST abs_aux_dir.
21216         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
21217         $(abs_top_srcdir) to each script and having each of them
21218         duplicate the work of setting PATH, set PATH here, using
21219         the new variable, abs_aux_dir instead.
21220         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
21221         * tests/test-vc-list-files-git.sh: Likewise.
21222         Reported by Bruno Haible.
21223
21224 2008-05-01  Bruno Haible  <bruno@clisp.org>
21225
21226         * lib/getndelim2.c (getndelim2): Fix newsize computation during
21227         reallocation. Rename 'done' to 'found_delimiter'.
21228
21229 2008-05-01  Jim Meyering  <meyering@redhat.com>
21230
21231         vc-list-files: accommodate /bin/sh like the one from Solaris 10
21232         * build-aux/vc-list-files: Use `...`, not $(...).
21233
21234 2008-04-30  Jim Meyering  <meyering@redhat.com>
21235
21236         add tests for vc-list-files
21237         * modules/vc-list-files-tests: New module.
21238         * tests/test-vc-list-files-cvs.sh: New file.
21239         * tests/test-vc-list-files-git.sh: New file.
21240
21241         avoid a warning from gcc
21242         * lib/getndelim2.c (IF_LINT): Define.
21243         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
21244
21245         vc-list-files: work properly with build-aux/cvsu, too
21246         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
21247         to all cvs-based clauses.
21248
21249         vc-list-files: work properly in the CVS+awk case, too
21250         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
21251
21252         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
21253         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
21254         take more than one file argument, so .  Add quotes, just in case $dir
21255         ever contains a shell meta-character.  Prompted by Soren Hansen in
21256         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
21257
21258 2008-04-29  Eric Blake  <ebb9@byu.net>
21259
21260         Optimize getndelim2 to use block operations when possible.
21261         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
21262         freadseek, and memchr2.
21263         * lib/getndelim2.c (getndelim2): Use them for block reads.
21264
21265 2008-04-29  Bruno Haible  <bruno@clisp.org>
21266
21267         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
21268         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
21269         * modules/inet_ntop (Depends-on): Add extensions.
21270         * modules/inet_pton (Depends-on): Likewise.
21271         Reported by Simon Josefsson.
21272
21273 2008-04-29  Jim Meyering  <meyering@redhat.com>
21274
21275         When the is more than one match in a block, match all of them.
21276         * build-aux/useless-if-before-free: Iterate through each block
21277         until there are no more matches.
21278
21279         Fix broken useless-if-before-free script.
21280         * build-aux/useless-if-before-free: Fix typo: missing "?" after
21281         the expression to match cast of argument to free-like function.
21282
21283 2008-04-29  Eric Blake  <ebb9@byu.net>
21284
21285         Use new header.
21286         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
21287
21288 2008-04-29  Jim Meyering  <meyering@redhat.com>
21289
21290         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
21291         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
21292         by gnulib to exist and to declare e.g., inet_ntop.
21293         Don't include "inet_ntop.h", now removed.
21294
21295         * m4/arpa_inet_h.m4: Remove trailing blanks.
21296
21297 2008-04-29  Eric Blake  <ebb9@byu.net>
21298
21299         Silence valgrind on safe reads beyond potential array bounds.
21300         * lib/rawmemchr.valgrind: New file.
21301         * lib/strchrnul.valgrind: Likewise.
21302         * modules/rawmemchr (Files): Distribute new file.
21303         * modules/strchrnul (Files): Likewise.
21304         Suggested by Bruno Haible.
21305
21306 2008-04-29  Bruno Haible  <bruno@clisp.org>
21307
21308         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
21309         (inet_ntop, inet_pton): Change portability warning's wording.
21310         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
21311         Invoke gl_CHECK_NEXT_HEADERS.
21312         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
21313         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
21314         set ARPA_INET_H.
21315         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
21316         * modules/arpa_inet (Description): No longer only for systems that
21317         lack it.
21318         (Depends-on): Add include_next.
21319         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
21320         HAVE_ARPA_INET_H.
21321
21322 2008-04-29  Jim Meyering  <meyering@redhat.com>
21323
21324         * modules/mkdir (License): Re-license as LGPLv2+.
21325
21326 2008-04-29  Bruno Haible  <bruno@clisp.org>
21327
21328         * modules/rawmemchr (Maintainer): Set to Eric.
21329         * modules/strchrnul (Maintainer): Likewise.
21330
21331 2008-04-29  Simon Josefsson  <simon@josefsson.org>
21332
21333         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
21334         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
21335
21336         * modules/arpa_inet (arpa/inet.h): Use them.
21337
21338 2008-04-28  Eric Blake  <ebb9@byu.net>
21339
21340         Test getndelim2.
21341         * modules/getndelim2-tests: New file.
21342         * tests/test-getndelim2.c: Likewise.
21343         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
21344         stream.
21345         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
21346
21347         * MODULES.html.sh: Document new module.
21348
21349 2008-04-20  Bruno Haible  <bruno@clisp.org>
21350
21351         * lib/c-stack.c (die): Use raise.
21352         * modules/c-stack (Depends-on): Add raise.
21353
21354 2008-04-28  Bruno Haible  <bruno@clisp.org>
21355
21356         Expect rpmatch to be declared.
21357         * lib/yesno.c (rpmatch): Remove declaration.
21358
21359         Declare rpmatch.
21360         * lib/stdlib.in.h (rpmatch): New declaration.
21361         * lib/rpmatch.c: Include <stdlib.h> first.
21362         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
21363         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
21364         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
21365         HAVE_RPMATCH.
21366         * modules/rpmatch (Depends-on): Add stdlib, extensions.
21367         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
21368         (Include): Set to <stdlib.h>.
21369         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
21370         HAVE_RPMATCH.
21371         * NEWS: Document the change.
21372
21373 2008-04-28  Bruno Haible  <bruno@clisp.org>
21374
21375         Change rpmatch to use nl_langinfo when appropriate.
21376         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
21377         (N_): New macro.
21378         (localized_pattern): New function/macro.
21379         (try): Remove match, nomatch arguments. Copy the pattern into safe
21380         memory before caching it.
21381         (rpmatch): Use localized_pattern. Add translator comments.
21382         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
21383         Suggested by Eric Blake.
21384         * modules/rpmatch (Depends-on): Add stdbool.
21385
21386 2008-04-28  Eric Blake  <ebb9@byu.net>
21387
21388         Add rawmemchr module, matching glibc.
21389         * modules/string (Makefile.am): New indicator.
21390         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
21391         * lib/string.in.h (rawmemchr): Declare when appropriate.
21392         * modules/rawmemchr: New file.
21393         * m4/rawmemchr.m4: Likewise.
21394         * lib/rawmemchr.c: Likewise.
21395         * modules/rawmemchr-tests: Likewise.
21396         * tests/test-rawmemchr.c: Likewise.
21397         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
21398         module.
21399         * modules/strchrnul (Depends-on): Add rawmemchr.
21400         * lib/strchrnul.c (strchrnul): Optimize a corner case.
21401
21402         Whitespace cleanup.
21403         * tests/test-strchrnul.c: Reindent.
21404         * lib/strchrnul.c: Likewise.
21405
21406         Optimize and test strchrnul.
21407         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
21408         * modules/strchrnul-tests: New file.
21409         * tests/test-strchrnul.c: Likewise.
21410
21411         Remove intprops dependency.
21412         * modules/memchr (Depends-on): Remove intprops.
21413         * modules/memrchr (Depends-on): Likewise.
21414         * modules/memchr2 (Depends-on): Likewise.
21415         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
21416         * lib/memrchr.c (__memrchr): Likewise.
21417         * lib/memrchr2.c (memchr2): Likewise.
21418         Reported by Simon Josefsson.
21419
21420 2008-04-28  Simon Josefsson  <simon@josefsson.org>
21421
21422         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
21423         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
21424
21425 2008-04-28  Simon Josefsson  <simon@josefsson.org>
21426
21427         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
21428
21429         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
21430
21431         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
21432
21433         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
21434         declarations.
21435         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
21436
21437         * m4/inet_pton.m4: Don't check for header files.
21438
21439         * m4/inet_ntop.m4: Don't check for header files.
21440
21441 2008-04-28  Simon Josefsson  <simon@josefsson.org>
21442
21443         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
21444         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
21445         trigger for cygwin).
21446         Reported by Bruno Haible  <bruno@clisp.org>.
21447
21448 2008-04-28  Bruno Haible  <bruno@clisp.org>
21449
21450         * doc/posix-functions/strdup.texi: Mention mingw problem.
21451
21452 2008-04-27  Bruno Haible  <bruno@clisp.org>
21453
21454         * modules/stat-time-tests (Depends-on): Add sleep.
21455         * tests/test-stat-time.c (force_unlink): New function.
21456         (cleanup): Use it.
21457         (test_mtime): Remove the ctime related tests.
21458         (test_ctime): New function, containing the ctime related tests.
21459         (main): Call test_ctime, except on native Windows platforms.
21460
21461 2008-04-27  Bruno Haible  <bruno@clisp.org>
21462
21463         * lib/rpmatch.c (rpmatch): Add some comments.
21464         Reported by James Youngman <jay@gnu.org>.
21465
21466 2008-04-27  Bruno Haible  <bruno@clisp.org>
21467
21468         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
21469         quiet NaNs.
21470
21471 2008-04-27  Bruno Haible  <bruno@clisp.org>
21472
21473         Make test-yesno.sh work on mingw.
21474         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
21475         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
21476         (main): Set stdin to binary mode.
21477         * modules/yesno-tests (Depends-on): Add binary-io.
21478
21479 2008-04-27  Bruno Haible  <bruno@clisp.org>
21480
21481         Fix 'isfinite' on x86, x86_64, ia64 platforms.
21482         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
21483         argument that lie outside the IEEE 854 domain.
21484         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
21485         (gl_ISFINITE): Use it.
21486         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
21487
21488 2008-04-27  Bruno Haible  <bruno@clisp.org>
21489
21490         Allow local renaming in config.h.
21491         * lib/memrchr.c (memrchr): Don't undefine outside libc.
21492
21493 2008-04-27  Bruno Haible  <bruno@clisp.org>
21494
21495         * lib/memchr.c (__memchr): Change type of 'i'.
21496         * lib/memchr2.c (memchr2): Likewise.
21497
21498 2008-04-26  Eric Blake  <ebb9@byu.net>
21499         and Bruno Haible  <bruno@clisp.org>
21500
21501         Optimize and test memrchr.
21502         * modules/memrchr (Depends-on): Add intprops.
21503         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
21504         * modules/memrchr-tests: New file.
21505         * tests/test-memrchr.c: New file.
21506
21507 2008-04-26  Bruno Haible  <bruno@clisp.org>
21508
21509         Add tentative support for DragonFly BSD.
21510         * lib/stdio-impl.h: Add macros for DragonFly BSD.
21511         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
21512         fp.
21513         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
21514         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
21515         * lib/fpurge.c (fpurge): Likewise.
21516         * lib/freadable.c (freaadable): Likewise.
21517         * lib/freadahead.c (freadahead): Likewise.
21518         * lib/freading.c (freading): Likewise.
21519         * lib/freadptr.c (freadptr): Likewise.
21520         * lib/freadseek.c (freadptrinc): Likewise.
21521         * lib/fseeko.c (fseeko): Likewise.
21522         * lib/fseterr.c (fseterr): Likewise.
21523         * lib/fwritable.c (fwritable): Likewise.
21524         * lib/fwriting.c (fwriting): Likewise.
21525
21526 2008-04-26  Bruno Haible  <bruno@clisp.org>
21527
21528         * lib/stdio-impl.h: New file.
21529         * lib/fbufmode.c: Include stdio-impl.h.
21530         (fbufmode): Use fp_, remove redundant #defines.
21531         * lib/fflush.c: Include stdio-impl.h.
21532         (clear_ungetc_buffer): Remove redundant #defines.
21533         * lib/fpurge.c: Include stdio-impl.h.
21534         (fpurge): Remove redundant #defines.
21535         * lib/freadable.c: Include stdio-impl.h.
21536         (freadable): Remove redundant #defines.
21537         * lib/freadahead.c: Include stdio-impl.h.
21538         (freadahead): Remove redundant #defines.
21539         * lib/freading.c: Include stdio-impl.h.
21540         (freading): Remove redundant #defines.
21541         * lib/freadptr.c: Include stdio-impl.h.
21542         (freadptr): Remove redundant #defines.
21543         * lib/freadseek.c: Include stdio-impl.h.
21544         (freadptrinc): Remove redundant #defines.
21545         * lib/fseeko.c: Include stdio-impl.h.
21546         (rpl_fseeko): Remove redundant #defines.
21547         * lib/fseterr.c: Include stdio-impl.h.
21548         (fseterr): Remove redundant #defines.
21549         * lib/fwritable.c: Include stdio-impl.h.
21550         (fwritable: Remove redundant #defines.
21551         * lib/fwriting.c: Include stdio-impl.h.
21552         (fwriting): Remove redundant #defines.
21553         * modules/fbufmode (Files): Add lib/stdio-impl.h.
21554         * modules/fflush (Files): Likewise.
21555         * modules/fpurge (Files): Likewise.
21556         * modules/freadable (Files): Likewise.
21557         * modules/freadahead (Files): Likewise.
21558         * modules/freading (Files): Likewise.
21559         * modules/freadptr (Files): Likewise.
21560         * modules/freadseek (Files): Likewise.
21561         * modules/fseeko (Files): Likewise.
21562         * modules/fseterr (Files): Likewise.
21563         * modules/fwritable (Files): Likewise.
21564         * modules/fwriting (Files): Likewise.
21565
21566 2008-04-26  Bruno Haible  <bruno@clisp.org>
21567
21568         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
21569         restore_seek_optimization, update_fpos_cache): New functions, extracted
21570         from rpl_fflush.
21571         (rpl_fflush): Use them.
21572         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
21573         (gl_REPLACE_FFLUSH): Use it.
21574
21575 2008-04-26  Bruno Haible  <bruno@clisp.org>
21576
21577         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
21578         on Solaris.
21579         * tests/test-xstrtoimax.sh: Likewise.
21580         * tests/test-xstrtoumax.sh: Likewise.
21581         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
21582
21583 2008-04-26  Bruno Haible  <bruno@clisp.org>
21584
21585         * modules/memchr-tests: New file.
21586         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
21587
21588 2008-04-26  Eric Blake  <ebb9@byu.net>
21589             Bruno Haible  <bruno@clisp.org>
21590
21591         * lib/memchr.c: Include intprops.h.
21592         (__memchr): Optimize parallel detection of matching bytes. Rename local
21593         variables. Add explanatory comments.
21594
21595 2008-04-26  Bruno Haible  <bruno@clisp.org>
21596
21597         Fix module 'memchr', broken since 2000-10-28.
21598         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
21599
21600 2008-04-26  Bruno Haible  <bruno@clisp.org>
21601
21602         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
21603         comments.
21604
21605 2008-04-25  Eric Blake  <ebb9@byu.net>
21606
21607         Use native fstatat on cygwin 1.7.0.
21608         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
21609         first.
21610
21611 2008-04-23  Eric Blake  <ebb9@byu.net>
21612
21613         Improve memchr2 performance.
21614         * lib/memchr2.c (memchr2): Further optimize parallel detection of
21615         NUL bytes.
21616         * modules/memchr2 (Depends-on): Use intprops.h.
21617
21618 2008-04-23  Simon Josefsson  <simon@josefsson.org>
21619
21620         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
21621         an inline function instead of a CPP macro.  Patch by Ben Pfaff
21622         <blp@cs.stanford.edu>.
21623
21624 2008-04-23  Simon Josefsson  <simon@josefsson.org>
21625
21626         * lib/arpa_inet.in.h: New file.
21627
21628         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
21629         (Makefile.am): Sed in substitute header file.
21630
21631         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
21632         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
21633
21634         * modules/inet_ntop (configure.ac): Use
21635         gl_ARPA_INET_MODULE_INDICATOR.
21636
21637         * modules/inet_pton (configure.ac): Use
21638         gl_ARPA_INET_MODULE_INDICATOR.
21639
21640 2008-04-22  Jim Meyering  <meyering@redhat.com>
21641
21642         * modules/verify (License): Re-license as LGPLv2+.
21643
21644 2008-04-22  Simon Josefsson  <simon@josefsson.org>
21645
21646         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
21647         parameter to void* as per POSIX standard (MinGW uses char*).
21648
21649 2008-04-21  Bruno Haible  <bruno@clisp.org>
21650
21651         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
21652         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
21653         Define to replacements if REPLACE_ISWCNTRL is 1.
21654         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
21655         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
21656         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
21657         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
21658         what it fixes.
21659         * doc/posix-functions/iswalpha.texi: Likewise.
21660         * doc/posix-functions/iswblank.texi: Likewise.
21661         * doc/posix-functions/iswcntrl.texi: Likewise.
21662         * doc/posix-functions/iswdigit.texi: Likewise.
21663         * doc/posix-functions/iswgraph.texi: Likewise.
21664         * doc/posix-functions/iswlower.texi: Likewise.
21665         * doc/posix-functions/iswprint.texi: Likewise.
21666         * doc/posix-functions/iswpunct.texi: Likewise.
21667         * doc/posix-functions/iswspace.texi: Likewise.
21668         * doc/posix-functions/iswupper.texi: Likewise.
21669         * doc/posix-functions/iswxdigit.texi: Likewise.
21670         Reported by Alain Guibert.
21671
21672 2008-04-21  Bruno Haible  <bruno@clisp.org>
21673
21674         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
21675         Patch by Alain Guibert.
21676
21677 2008-04-21  Bruno Haible  <bruno@clisp.org>
21678
21679         Fix test failures on mingw.
21680         * tests/test-xstrtol.c (print_no_progname): New function.
21681         (main): Install it in error_print_progname hook.
21682         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
21683         * tests/test-xstrtoimax.sh: Likewise.
21684         * tests/test-xstrtoumax.sh: Likewise.
21685
21686 2008-04-21  Bruno Haible  <bruno@clisp.org>
21687
21688         Fix test failure on mingw.
21689         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
21690
21691 2008-04-21  Bruno Haible  <bruno@clisp.org>
21692
21693         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
21694         Actually assign a value.
21695
21696 2008-04-20  Bruno Haible  <bruno@clisp.org>
21697
21698         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
21699         take 2.
21700         * lib/canonicalize.c (canonicalize_file_name): Elide if the
21701         'canonicalize-lgpl' module is also used.
21702         * lib/canonicalize-lgpl.c: Undo last change.
21703         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
21704
21705 2008-04-20  Bruno Haible  <bruno@clisp.org>
21706
21707         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
21708         config.h. Provide _mkdir based fallback for mingw.
21709         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
21710         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
21711         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
21712         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
21713         rather than defining mkdir in config.h.
21714         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
21715         (gl_SYS_STAT_H_DEFAULTS): New macro.
21716         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
21717         HAVE_IO_H any more.
21718         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
21719         HAVE_DECL_MKDIR and HAVE_IO_H.
21720
21721 2008-04-20  Bruno Haible  <bruno@clisp.org>
21722
21723         * lib/isapipe.c: Port to native Windows platforms.
21724
21725 2008-04-20  Bruno Haible  <bruno@clisp.org>
21726
21727         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
21728
21729 2008-04-21  Eric Blake  <ebb9@byu.net>
21730
21731         Work around preprocessors that don't handle UINTMAX_MAX.
21732         * lib/memchr2.c (memchr2): Avoid embedded #if.
21733         Reported by Alain Guibert, fix suggested by Bruno Haible.
21734
21735 2008-04-21  Simon Josefsson  <simon@josefsson.org>
21736
21737         * doc/posix-functions/strftime.texi (strftime): Explain better
21738         Windows incompatibility.  Suggested by Micah Cowan
21739         <micah@cowan.name>.
21740
21741 2008-04-20  Bruno Haible  <bruno@clisp.org>
21742
21743         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
21744         unistr/u8-mblen.
21745
21746 2008-04-20  Bruno Haible  <bruno@clisp.org>
21747
21748         Fix test failure on platforms with non-GNU iconv.
21749         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
21750         (U_TO_U8): Use it, rather than u16_to_u8.
21751         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
21752         units at the end of the input string.
21753         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
21754
21755 2008-04-20  Bruno Haible  <bruno@clisp.org>
21756
21757         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
21758         when the resulting length is 0.
21759         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
21760
21761 2008-04-20  Bruno Haible  <bruno@clisp.org>
21762
21763         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
21764         works.
21765         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
21766
21767 2008-04-20  Bruno Haible  <bruno@clisp.org>
21768
21769         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
21770         * modules/tsearch-tests (configure.ac): Test for initstate function.
21771
21772 2008-04-20  Bruno Haible  <bruno@clisp.org>
21773
21774         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
21775         for nlink_t if missing.
21776         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
21777
21778 2008-04-19  Bruno Haible  <bruno@clisp.org>
21779
21780         Work around snprintf bug on Linux libc5.
21781         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
21782         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
21783         gl_SNPRINTF_SIZE1.
21784         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
21785         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
21786         that test failed.
21787         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
21788         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
21789         * modules/snprintf (Files): Add m4/printf.m4.
21790         * modules/vsnprintf (Files): Likewise.
21791         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
21792         * doc/posix-functions/vsnprintf.texi: Likewise.
21793
21794 2008-04-19  Bruno Haible  <bruno@clisp.org>
21795
21796         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
21797         from 0.0058 to less than 10^-7.
21798
21799 2008-04-19  Bruno Haible  <bruno@clisp.org>
21800
21801         Fix rounding when a precision is given.
21802         * lib/vasnprintf.c (is_borderline): New function.
21803         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
21804         9...9x.
21805         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
21806         %e, %g.
21807         * tests/test-vasprintf-posix.c (test_function): Likewise.
21808         * tests/test-snprintf-posix.h (test_function): Likewise.
21809         * tests/test-sprintf-posix.h (test_function): Likewise.
21810         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
21811         * tests/test-printf-posix.h (test_function): Likewise.
21812         * tests/test-printf-posix.output: Update.
21813         Reported by John Darrington <john@darrington.wattle.id.au> via
21814         Ben Pfaff <blp@cs.stanford.edu>.
21815
21816 2008-04-18  Simon Josefsson  <simon@josefsson.org>
21817
21818         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
21819         Suggested by Bruno Haible <bruno@clisp.org>.
21820
21821 2008-04-17  Bruno Haible  <bruno@clisp.org>
21822
21823         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
21824         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
21825         implementation.
21826         Patch by Bruce Merry <bmerry@gmail.com>.
21827
21828 2008-04-17  Simon Josefsson  <simon@josefsson.org>
21829
21830         * doc/posix-functions/strftime.texi (strftime): Mention that %e
21831         doesn't work under Windows.
21832
21833 2008-04-16  Bruno Haible  <bruno@clisp.org>
21834
21835         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
21836         New macros.
21837         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
21838         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
21839         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
21840         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
21841         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
21842         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
21843         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
21844         macros.
21845         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
21846         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
21847         Northern Sotho, Uighur.
21848
21849 2008-04-16  Bruno Haible  <bruno@clisp.org>
21850
21851         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
21852         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
21853         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
21854         Reported by Daniel Bergström <daniel@octocode.com>.
21855
21856 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
21857             Bruno Haible  <bruno@clisp.org>
21858
21859         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
21860         function.
21861         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
21862         New functions, mostly extracted from gl_locale_name_default.
21863         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
21864
21865 2008-04-16  Eric Blake  <ebb9@byu.net>
21866
21867         Adjust strtod detection to catch glibc 2.7 bug.
21868         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
21869         Reported by John Gatewood Ham.
21870
21871 2008-04-16  Bruno Haible  <bruno@clisp.org>
21872
21873         Add tentative support for Linux libc5.
21874         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
21875         * lib/fpurge.c (fpurge): Likewise.
21876         * lib/freadable.c (freadable): Likewise.
21877         * lib/freadahead.c (freadahead): Likewise.
21878         * lib/freading.c (freading): Likewise.
21879         * lib/freadptr.c (freadptr): Likewise.
21880         * lib/freadseek.c (freadptrinc): Likewise.
21881         * lib/fseeko.c (rpl_fseeko): Likewise.
21882         * lib/fseterr.c (fseterr): Likewise.
21883         * lib/fwritable.c (fwritable): Likewise.
21884         * lib/fwriting.c (fwriting): Likewise.
21885         Reported by Alain Guibert <alguibert+bts@free.fr>.
21886
21887 2008-04-15  Bruno Haible  <bruno@clisp.org>
21888
21889         * modules/mathl (configure.ac): Define module indicator.
21890
21891 2008-04-15  Bruno Haible  <bruno@clisp.org>
21892
21893         * lib/logl.c (logl): Remove unused variables.
21894
21895 2008-04-15  Bruno Haible  <bruno@clisp.org>
21896
21897         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
21898         fails.
21899
21900 2008-04-15  Bruno Haible  <bruno@clisp.org>
21901
21902         * lib/trim.c (trim2): Fix argument of isspace() macro.
21903
21904 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
21905
21906         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
21907         to 0.
21908         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
21909
21910 2008-04-14  Bruno Haible  <bruno@clisp.org>
21911
21912         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
21913         AC_LANG_PROGRAM argument.
21914         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
21915         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
21916         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
21917         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
21918         * m4/math_h.m4 (gl_MATH_H): Likewise.
21919         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
21920         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
21921         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
21922         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
21923         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
21924         * m4/regex.m4 (gl_REGEX): Likewise.
21925         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
21926         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
21927         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
21928         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
21929         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
21930         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
21931         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
21932         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
21933
21934 2008-04-14  Jim Meyering  <meyering@redhat.com>
21935
21936         test-strtod: fix typos: s/abs/fabs/
21937         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
21938
21939 2008-04-13  Bruno Haible  <bruno@clisp.org>
21940
21941         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
21942         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
21943         module is also used and while not building the reloc-wrapper.
21944
21945 2008-04-13  Bruno Haible  <bruno@clisp.org>
21946
21947         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
21948
21949 2008-04-13  Bruno Haible  <bruno@clisp.org>
21950
21951         Fix AIX compilation failure introduced on 2008-04-02.
21952         * tests/test-frexp.c (exp): Undefine before redefining.
21953         * tests/test-frexpl.c (exp): Likewise.
21954
21955 2008-04-13  Bruno Haible  <bruno@clisp.org>
21956
21957         Work around a HP-UX stdio bug.
21958         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
21959         * tests/test-ftello.c (main): Likewise.
21960         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
21961         * doc/posix-functions/ftello.texi: Likewise.
21962
21963 2008-04-13  Bruno Haible  <bruno@clisp.org>
21964
21965         Make test-signbit pass on HP-UX/hppa.
21966         * tests/test-signbit.c (minus_zerol): New variable.
21967         (test_signbitl): Use it.
21968
21969 2008-04-13  Bruno Haible  <bruno@clisp.org>
21970
21971         Make truncl work on OSF/1 4.0.
21972         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
21973         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
21974         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
21975         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
21976         HAVE_DECL_TRUNCL.
21977         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
21978         HAVE_DECL_TRUNCL.
21979         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
21980
21981 2008-04-13  Bruno Haible  <bruno@clisp.org>
21982
21983         * lib/unictype.h: Remove trailing comma from enumeration definitions.
21984
21985 2008-04-13  Bruno Haible  <bruno@clisp.org>
21986
21987         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
21988         expression, so as to avoid HP-UX 11 cc compiler bug.
21989
21990 2008-04-13  Bruno Haible  <bruno@clisp.org>
21991
21992         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
21993
21994 2008-04-13  Bruno Haible  <bruno@clisp.org>
21995
21996         * lib/git-merge-changelog.c: Remove empty declaration outside of
21997         functions.
21998
21999 2008-04-13  Bruno Haible  <bruno@clisp.org>
22000
22001         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
22002
22003 2008-04-13  Bruno Haible  <bruno@clisp.org>
22004
22005         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
22006         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
22007         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
22008         also if it exists but lacks definitions of the SHUT_* macros.
22009         * modules/sys_socket (Description): Update.
22010         Reported by Elbert Pol <e.pol@chello.nl>.
22011
22012 2008-04-13  Bruno Haible  <bruno@clisp.org>
22013
22014         * lib/localcharset.c (OS2): Don't redefine if already defined.
22015         Reported by Elbert Pol <e.pol@chello.nl>.
22016
22017 2008-04-13  Bruno Haible  <bruno@clisp.org>
22018
22019         * lib/binary-io.h [__EMX__]: Include <io.h>.
22020         Reported by Elbert Pol <e.pol@chello.nl>.
22021
22022 2008-04-12  Bruno Haible  <bruno@clisp.org>
22023
22024         * lib/fpucw.h: Enable the definitions also for x86_64.
22025         Needed for NetBSD/x86_64.
22026         Reported by Thomas Klausner <tk@giga.or.at>.
22027
22028 2008-04-12  Bruno Haible  <bruno@clisp.org>
22029
22030         * tests/test-strtod.c: Include isnand.h.
22031         (main): Use isnand instead of isnan.
22032         Reported by Jim Meyering.
22033
22034 2008-04-12  Bruno Haible  <bruno@clisp.org>
22035
22036         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
22037         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
22038
22039 2008-04-12  Jim Meyering  <meyering@redhat.com>
22040
22041         * m4/math_h.m4 (gl_MATH_H): Fix typos.
22042
22043 2008-04-12  Bruno Haible  <bruno@clisp.org>
22044
22045         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
22046         Reported by Elbert Pol <e.pol@chello.nl>.
22047
22048 2008-04-12  Eric Blake  <ebb9@byu.net>
22049
22050         Work around Solaris 10 math.h bug.
22051         * m4/math_h.m4 (gl_MATH_H): Check for bug.
22052         (gl_MATH_H_DEFAULTS): Set up default.
22053         * modules/math (Makefile.am): Replace new indicators.
22054         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
22055         * tests/test-math.c (main): Test this.
22056         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
22057         * doc/posix-headers/math.texi (math.h): Mention bug.
22058         Reported by Nelson H. F. Beebe and Jim Meyering.
22059
22060 2008-04-11  Bruno Haible  <bruno@clisp.org>
22061
22062         Adapt to future versions of Apple GCC.
22063         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
22064         Reported by Peter O'Gorman <peter@pogma.com>.
22065
22066 2008-04-11  Bruno Haible  <bruno@clisp.org>
22067
22068         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
22069
22070 2008-04-11  Bruno Haible  <bruno@clisp.org>
22071
22072         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
22073
22074         * modules/getaddrinfo-tests (Makefile.am): Define
22075         test_getaddrinfo_LDADD.
22076
22077 2008-04-11  Bruno Haible  <bruno@clisp.org>
22078
22079         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
22080         (init): Fix syntax error.
22081         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
22082         is declared.
22083
22084 2008-04-11  Bruno Haible  <bruno@clisp.org>
22085
22086         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
22087         * modules/glob (Depends-on): Add stdbool.
22088
22089 2008-04-11  Bruno Haible  <bruno@clisp.org>
22090
22091         * lib/trim.c: Include <string.h>.
22092
22093 2008-04-11  Eric Blake  <ebb9@byu.net>
22094
22095         Avoid compile failure on OS/2.
22096         * lib/regex_internal.h (internal_function): Disable optimization
22097         on OS/2 (__EMX__), where it caused compiler error.
22098         Reported by Elbert Pol.
22099
22100 2008-04-11  Bruno Haible  <bruno@clisp.org>
22101
22102         Flush the standard error stream before aborting. Needed on mingw.
22103         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
22104         * tests/test-array_list.c (ASSERT): Likewise.
22105         * tests/test-array_oset.c (ASSERT): Likewise.
22106         * tests/test-avltree_list.c (ASSERT): Likewise.
22107         * tests/test-avltree_oset.c (ASSERT): Likewise.
22108         * tests/test-avltreehash_list.c (ASSERT): Likewise.
22109         * tests/test-binary-io.c (ASSERT): Likewise.
22110         * tests/test-byteswap.c (ASSERT): Likewise.
22111         * tests/test-c-ctype.c (ASSERT): Likewise.
22112         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
22113         * tests/test-c-strcasestr.c (ASSERT): Likewise.
22114         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
22115         * tests/test-c-strstr.c (ASSERT): Likewise.
22116         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
22117         * tests/test-canonicalize.c (ASSERT): Likewise.
22118         * tests/test-carray_list.c (ASSERT): Likewise.
22119         * tests/test-ceilf1.c (ASSERT): Likewise.
22120         * tests/test-ceilf2.c (ASSERT): Likewise.
22121         * tests/test-ceill.c (ASSERT): Likewise.
22122         * tests/test-count-one-bits.c (ASSERT): Likewise.
22123         * tests/test-fbufmode.c (ASSERT): Likewise.
22124         * tests/test-fflush2.c (ASSERT): Likewise.
22125         * tests/test-floorf1.c (ASSERT): Likewise.
22126         * tests/test-floorf2.c (ASSERT): Likewise.
22127         * tests/test-floorl.c (ASSERT): Likewise.
22128         * tests/test-fopen.c (ASSERT): Likewise.
22129         * tests/test-fpending.c (ASSERT): Likewise.
22130         * tests/test-fprintf-posix.c (ASSERT): Likewise.
22131         * tests/test-fpurge.c (ASSERT): Likewise.
22132         * tests/test-freadable.c (ASSERT): Likewise.
22133         * tests/test-freadahead.c (ASSERT): Likewise.
22134         * tests/test-freading.c (ASSERT): Likewise.
22135         * tests/test-freadptr.c (ASSERT): Likewise.
22136         * tests/test-freadptr2.c (ASSERT): Likewise.
22137         * tests/test-freadseek.c (ASSERT): Likewise.
22138         * tests/test-freopen.c (ASSERT): Likewise.
22139         * tests/test-frexp.c (ASSERT): Likewise.
22140         * tests/test-frexpl.c (ASSERT): Likewise.
22141         * tests/test-fseek.c (ASSERT): Likewise.
22142         * tests/test-fseeko.c (ASSERT): Likewise.
22143         * tests/test-fstrcmp.c (ASSERT): Likewise.
22144         * tests/test-ftell.c (ASSERT): Likewise.
22145         * tests/test-ftello.c (ASSERT): Likewise.
22146         * tests/test-func.c (ASSERT): Likewise.
22147         * tests/test-fwritable.c (ASSERT): Likewise.
22148         * tests/test-fwriting.c (ASSERT): Likewise.
22149         * tests/test-getdelim.c (ASSERT): Likewise.
22150         * tests/test-getline.c (ASSERT): Likewise.
22151         * tests/test-i-ring.c (ASSERT): Likewise.
22152         * tests/test-iconv-utf.c (ASSERT): Likewise.
22153         * tests/test-iconv.c (ASSERT): Likewise.
22154         * tests/test-isfinite.c (ASSERT): Likewise.
22155         * tests/test-isnand.c (ASSERT): Likewise.
22156         * tests/test-isnanf.c (ASSERT): Likewise.
22157         * tests/test-isnanl.h (ASSERT): Likewise.
22158         * tests/test-ldexpl.c (ASSERT): Likewise.
22159         * tests/test-linked_list.c (ASSERT): Likewise.
22160         * tests/test-linkedhash_list.c (ASSERT): Likewise.
22161         * tests/test-localename.c (ASSERT): Likewise.
22162         * tests/test-lseek.c (ASSERT): Likewise.
22163         * tests/test-mbscasecmp.c (ASSERT): Likewise.
22164         * tests/test-mbscasestr1.c (ASSERT): Likewise.
22165         * tests/test-mbscasestr2.c (ASSERT): Likewise.
22166         * tests/test-mbscasestr3.c (ASSERT): Likewise.
22167         * tests/test-mbscasestr4.c (ASSERT): Likewise.
22168         * tests/test-mbschr.c (ASSERT): Likewise.
22169         * tests/test-mbscspn.c (ASSERT): Likewise.
22170         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
22171         * tests/test-mbspbrk.c (ASSERT): Likewise.
22172         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
22173         * tests/test-mbsrchr.c (ASSERT): Likewise.
22174         * tests/test-mbsspn.c (ASSERT): Likewise.
22175         * tests/test-mbsstr1.c (ASSERT): Likewise.
22176         * tests/test-mbsstr2.c (ASSERT): Likewise.
22177         * tests/test-mbsstr3.c (ASSERT): Likewise.
22178         * tests/test-memchr2.c (ASSERT): Likewise.
22179         * tests/test-memmem.c (ASSERT): Likewise.
22180         * tests/test-open.c (ASSERT): Likewise.
22181         * tests/test-printf-frexp.c (ASSERT): Likewise.
22182         * tests/test-printf-frexpl.c (ASSERT): Likewise.
22183         * tests/test-printf-posix.c (ASSERT): Likewise.
22184         * tests/test-quotearg.c (ASSERT): Likewise.
22185         * tests/test-rbtree_list.c (ASSERT): Likewise.
22186         * tests/test-rbtree_oset.c (ASSERT): Likewise.
22187         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
22188         * tests/test-round1.c (ASSERT): Likewise.
22189         * tests/test-roundf1.c (ASSERT): Likewise.
22190         * tests/test-roundl.c (ASSERT): Likewise.
22191         * tests/test-signbit.c (ASSERT): Likewise.
22192         * tests/test-sleep.c (ASSERT): Likewise.
22193         * tests/test-snprintf-posix.c (ASSERT): Likewise.
22194         * tests/test-snprintf.c (ASSERT): Likewise.
22195         * tests/test-sprintf-posix.c (ASSERT): Likewise.
22196         * tests/test-stat-time.c (ASSERT): Likewise.
22197         * tests/test-strcasestr.c (ASSERT): Likewise.
22198         * tests/test-strerror.c (ASSERT): Likewise.
22199         * tests/test-striconv.c (ASSERT): Likewise.
22200         * tests/test-striconveh.c (ASSERT): Likewise.
22201         * tests/test-striconveha.c (ASSERT): Likewise.
22202         * tests/test-strsignal.c (ASSERT): Likewise.
22203         * tests/test-strstr.c (ASSERT): Likewise.
22204         * tests/test-strtod.c (ASSERT): Likewise.
22205         * tests/test-trunc1.c (ASSERT): Likewise.
22206         * tests/test-trunc2.c (ASSERT): Likewise.
22207         * tests/test-truncf1.c (ASSERT): Likewise.
22208         * tests/test-truncf2.c (ASSERT): Likewise.
22209         * tests/test-truncl.c (ASSERT): Likewise.
22210         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
22211         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
22212         * tests/test-vasnprintf.c (ASSERT): Likewise.
22213         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
22214         * tests/test-vasprintf.c (ASSERT): Likewise.
22215         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
22216         * tests/test-vprintf-posix.c (ASSERT): Likewise.
22217         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
22218         * tests/test-vsnprintf.c (ASSERT): Likewise.
22219         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
22220         * tests/test-wcwidth.c (ASSERT): Likewise.
22221         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
22222         * tests/test-xprintf-posix.c (ASSERT): Likewise.
22223         * tests/test-xvasprintf.c (ASSERT): Likewise.
22224         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
22225         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
22226         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
22227         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
22228         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
22229         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
22230         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
22231         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
22232         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
22233         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
22234         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
22235         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
22236         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
22237         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
22238         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
22239         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
22240         * tests/unictype/test-block_list.c (ASSERT): Likewise.
22241         * tests/unictype/test-block_of.c (ASSERT): Likewise.
22242         * tests/unictype/test-block_test.c (ASSERT): Likewise.
22243         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
22244         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
22245         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
22246         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
22247         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
22248         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
22249         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
22250         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
22251         * tests/unictype/test-combining.c (ASSERT): Likewise.
22252         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
22253         * tests/unictype/test-digit.c (ASSERT): Likewise.
22254         * tests/unictype/test-mirror.c (ASSERT): Likewise.
22255         * tests/unictype/test-numeric.c (ASSERT): Likewise.
22256         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
22257         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
22258         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
22259         * tests/unictype/test-scripts.c (ASSERT): Likewise.
22260         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
22261         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
22262         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
22263         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
22264         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
22265         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
22266         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
22267         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
22268         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
22269         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
22270         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
22271         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
22272         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
22273         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
22274         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
22275         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
22276         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
22277         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
22278         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
22279         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
22280         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
22281         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
22282         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
22283         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
22284         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
22285         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
22286         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
22287         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
22288         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
22289         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
22290         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
22291         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
22292         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
22293         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
22294         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
22295         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
22296         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
22297         Reported by Eric Blake.
22298
22299 2008-04-11  Bruno Haible  <bruno@clisp.org>
22300
22301         * lib/wchar.in.h: Tweak comment.
22302
22303 2008-04-11  Bruno Haible  <bruno@clisp.org>
22304
22305         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
22306         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
22307         gl_COMMON.
22308         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
22309
22310 2008-04-11  Bruno Haible  <bruno@clisp.org>
22311
22312         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
22313
22314 2008-04-11  Simon Josefsson  <simon@josefsson.org>
22315
22316         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
22317         of attempting to use non-existing /dev/*random.  Based on patch
22318         from Adam Strzelecki <ono@java.pl> in
22319         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
22320
22321 2008-04-08  Bruno Haible  <bruno@clisp.org>
22322
22323         Add tentative support for emx+gcc.
22324         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
22325         * lib/fpurge.c (fpurge): Likewise.
22326         * lib/freadable.c (freadable): Likewise.
22327         * lib/freadahead.c (freadahead): Likewise.
22328         * lib/freading.c (freading): Likewise.
22329         * lib/freadptr.c (freadptr): Likewise.
22330         * lib/freadseek.c (freadptrinc): Likewise.
22331         * lib/fseeko.c (rpl_fseeko): Likewise.
22332         * lib/fseterr.c (fseterr): Likewise.
22333         * lib/fwritable.c (fwritable): Likewise.
22334         * lib/fwriting.c (fwriting): Likewise.
22335         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
22336
22337 2008-04-09  Eric Blake  <ebb9@byu.net>
22338
22339         Avoid some autoconf warnings.
22340         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
22341         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
22342         * m4/afs.m4 (gl_AFS): Likewise.
22343         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
22344         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
22345         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
22346         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
22347         (gl_INTEGER_TYPE_SUFFIX): Likewise.
22348         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
22349         (AC_CHECK_DECLS_ONCE): Likewise.
22350         Rename file...
22351         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
22352         gnulib-tool requires autoconf 2.59 or better.
22353         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
22354
22355 2008-04-08  Eric Blake  <ebb9@byu.net>
22356
22357         Use 'git describe --match' if present (added in git 1.5.5).
22358         * build-aux/git-version-gen: Limit result to tags that match 'v*'
22359         if possible.
22360
22361 2008-04-08  Bruno Haible  <bruno@clisp.org>
22362
22363         Add tentative support for OpenServer.
22364         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
22365         _ptr, _cnt.
22366         * lib/fpurge.c (fpurge): Likewise.
22367         * lib/freadable.c (freadable): Likewise.
22368         * lib/freadahead.c (freadahead): Likewise.
22369         * lib/freading.c (freading): Likewise.
22370         * lib/freadptr.c (freadptr): Likewise.
22371         * lib/freadseek.c (freadptrinc): Likewise.
22372         * lib/fseeko.c (rpl_fseeko): Likewise.
22373         * lib/fseterr.c (fseterr): Likewise.
22374         * lib/fwritable.c (fwritable): Likewise.
22375         * lib/fwriting.c (fwriting): Likewise.
22376         Reported by Roger Cornelius <rac@tenzing.org> and
22377         Brian K. White <brian@aljex.com>.
22378
22379 2008-04-06  Jim Meyering  <meyering@redhat.com>
22380
22381         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
22382
22383 2008-04-06  Bruno Haible  <bruno@clisp.org>
22384
22385         Avoid possible error with non-ASCII bytes in UTF-8 locales.
22386         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
22387         * tests/test-printf-posix.sh: Likewise.
22388         * tests/test-vfprintf-posix.sh: Likewise.
22389         * tests/test-vprintf-posix.sh: Likewise.
22390         * tests/test-xprintf-posix.sh: Likewise.
22391
22392 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22393
22394         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
22395         hide error from 'ls', needed on OS/2.
22396         Report by Elbert Pol <elbert.pol@gmail.com>.
22397
22398 2008-04-04  Eric Blake  <ebb9@byu.net>
22399
22400         Make test-fseeko.c failures meaningful.
22401         * tests/test-fseeko.c: Print line number on failure.
22402         * tests/test-fseek.c: Likewise.
22403         Reported by Nelson H. F. Beebe.
22404
22405         Improve strtod bug detection check.
22406         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
22407         required for Solaris 10.
22408         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
22409
22410 2008-04-04  Bruno Haible  <bruno@clisp.org>
22411
22412         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
22413         by m4/setenv.m4.
22414
22415 2008-04-03  Eric Blake  <ebb9@byu.net>
22416
22417         Ensure sane .version contents.
22418         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
22419         version string.
22420         * build-aux/git-version-gen: Improve documentation.
22421
22422         Make GNU make output nicer.
22423         * top/GNUmakefile [!_have-Makefile]: Add dependency on
22424         MAKECMDGOALS to enforce message for all command line targets.  Set
22425         srcdir for use in maint.mk.
22426
22427         Another maintainer tweak.
22428         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
22429         a target that regenerates version.
22430
22431 2008-04-03  Jim Meyering  <meyering@redhat.com>
22432
22433         vc-list-files: don't cause coreutils "make po-check" failure
22434         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
22435
22436 2008-04-03  Eric Blake  <ebb9@byu.net>
22437
22438         Allow VPATH usage of vc-list-files.
22439         * build-aux/vc-list-files (scriptversion): Add timestamp.
22440         (options): Add --help, --version, -C.
22441         (CVS): Support installed cvsu.
22442
22443 2008-04-02  Bruno Haible  <bruno@clisp.org>
22444
22445         Avoid some "statement with no effect" warnings from gcc.
22446         * tests/test-wctype.c (main): Explicitly ignore unused values.
22447         Reported by Jim Meyering.
22448
22449 2008-04-02  Jim Meyering  <meyering@redhat.com>
22450
22451         Avoid some warnings from "gcc -Wshadow".
22452         * tests/test-frexp.c (exp): Define to a different identifier.
22453         * tests/test-frexpl.c (exp): Likewise.
22454
22455 2008-04-03  Jim Meyering  <meyering@redhat.com>
22456
22457         bootstrap: remove dangling *.[ch] symlinks from lib
22458         * build-aux/bootstrap [dangling symlink removal]: Move find's
22459         -depth option to precede all others, to avoid a warning.
22460         Remove *.[ch] files too, and from "$source_base" (usually lib/).
22461
22462 2008-04-02  Bruno Haible  <bruno@clisp.org>
22463
22464         Avoid some warnings from "gcc -Wshadow".
22465         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
22466         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
22467         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
22468         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
22469         Reported by Jim Meyering.
22470
22471 2008-04-01  Bruno Haible  <bruno@clisp.org>
22472
22473         Fix test to work on IRIX 6.5 with cc.
22474         * tests/test-math.c (numeric_equal): New function.
22475         (main): Use it.
22476
22477 2008-04-01  Bruno Haible  <bruno@clisp.org>
22478
22479         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
22480
22481 2008-04-01  Bruno Haible  <bruno@clisp.org>
22482
22483         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
22484         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
22485         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
22486         (Depends-on): Remove math.
22487
22488         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
22489         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
22490         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
22491         (Depends-on): Remove math.
22492
22493         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
22494         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
22495         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
22496         (Depends-on): Remove math.
22497         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
22498         (Depends-on): Remove math.
22499
22500         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
22501         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
22502         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
22503         (Depends-on): Remove math.
22504         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
22505         (Depends-on): Remove math.
22506
22507         * tests/test-round1.c: Include nan.h.
22508         (main): Use NaNd instead of NAN.
22509         * modules/round-tests (Files): Add tests/nan.h.
22510
22511         * tests/test-trunc1.c: Include nan.h.
22512         (main): Use NaNd instead of NAN.
22513         * modules/trunc-tests (Files): Add tests/nan.h.
22514
22515         * tests/test-roundf1.c: Include nan.h.
22516         (main): Use NaNf instead of NAN.
22517         * modules/roundf-tests (Files): Add tests/nan.h.
22518
22519         * tests/test-truncf1.c: Include nan.h.
22520         (main): Use NaNf instead of NAN.
22521         * modules/truncf-tests (Files): Add tests/nan.h.
22522
22523         * tests/test-ceilf1.c: Include nan.h.
22524         (main): Use NaNf instead of NAN.
22525         * modules/ceilf-tests (Files): Add tests/nan.h.
22526
22527         * tests/test-floorf1.c: Include nan.h.
22528         (main): Use NaNf instead of NAN.
22529         * modules/floorf-tests (Files): Add tests/nan.h.
22530
22531         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
22532         (main): Use NaNf instead of NAN.
22533         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
22534
22535         * tests/test-isnand.c: Include nan.h instead of <math.h>.
22536         (main): Use NaNd instead of NAN.
22537         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
22538
22539         * tests/test-frexp.c: Include nan.h.
22540         (main): Use NaNd instead of NAN.
22541         * modules/frexp-tests (Files): Add tests/nan.h.
22542
22543         * lib/isnan.c: Don't include <math.h>.
22544         (FUNC): Don't use NAN macro.
22545         * modules/isnand-nolibm (Depends-on): Remove math.
22546         * modules/isnanf-nolibm (Depends-on): Remove math.
22547         * modules/isnanl (Depends-on): Remove math.
22548         * modules/isnanl-nolibm (Depends-on): Remove math.
22549
22550         * tests/nan.h: New file.
22551
22552 2008-04-01  Eric Blake  <ebb9@byu.net>
22553
22554         Fix typos.
22555         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
22556         values to be the right type.
22557
22558         For now, cater to gnulib strtod inaccuracies.
22559         * tests/test-strtod.c (main): Allow 1-ulp error on expected
22560         fractional results.  While not as nice from a QoI perspective, it
22561         is a quicker patch than correctly implementing decimal to binary
22562         rounding.
22563
22564 2008-03-31  Eric Blake  <ebb9@byu.net>
22565
22566         Guarantee a definition of NAN.
22567         * lib/math.in.h (NAN): Define if missing.
22568         * tests/test-math.c (main): Test it.
22569         * doc/posix-headers/math.texi (math.h): Document this.
22570         * lib/isnan.c (rpl_isnand): Use it.
22571         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
22572         * tests/test-floorf1.c (NaN): Likewise.
22573         * tests/test-frexp.c (NaN): Likewise.
22574         * tests/test-isnand.c (NaN): Likewise.
22575         * tests/test-isnanf.c (NaN): Likewise.
22576         * tests/test-round1.c (NaN): Likewise.
22577         * tests/test-roundf1.c (NaN): Likewise.
22578         * tests/test-snprintf-posix.h (NaN): Likewise.
22579         * tests/test-sprintf-posix.h (NaN): Likewise.
22580         * tests/test-trunc1.c (NaN): Likewise.
22581         * tests/test-truncf1.c (NaN): Likewise.
22582         * tests/test-vasnprintf-posix.c (NaN): Likewise.
22583         * tests/test-vasprintf-posix.c (NaN): Likewise.
22584         * modules/isnand-nolibm (Depends-on): Add math.
22585         * modules/isnanf-nolibm (Depends-on): Likewise.
22586         * modules/isnanl (Depends-on): Likewise.
22587         * modules/isnanl-nolibm (Depends-on): Likewise.
22588         * modules/snprintf-posix-tests (Depends-on): Likewise.
22589         * modules/sprintf-posix-tests (Depends-on): Likewise.
22590         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
22591         * modules/vsprintf-posix-tests (Depends-on): Likewise.
22592         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
22593         * modules/vasprintf-posix-tests (Depends-on): Likewise.
22594
22595 2008-03-31  Bruno Haible  <bruno@clisp.org>
22596
22597         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
22598         * doc/posix-functions/strtod.texi: Likewise.
22599
22600 2008-03-31  Bruno Haible  <bruno@clisp.org>
22601
22602         * tests/test-strtod.c (main): Don't use C99 syntax.
22603
22604 2008-03-31  Bruno Haible  <bruno@clisp.org>
22605
22606         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
22607         Reported by Eric Blake.
22608
22609 2008-03-31  Jim Meyering  <meyering@redhat.com>
22610
22611         Don't compare actual signbit return values.
22612         * tests/test-strtod.c (main): Rather, compare only their
22613         zero/non-zero nature.
22614
22615 2008-03-31  Eric Blake  <ebb9@byu.net>
22616
22617         More strtod documentation.
22618         * doc/posix-functions/strtod.texi (strtod): Interpret more test
22619         failures as distinct bugs.
22620
22621 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
22622
22623         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
22624         Problem reported by Erik Benada in
22625         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
22626
22627 2008-03-30  Bruno Haible  <bruno@clisp.org>
22628
22629         * tests/test-strtod.c: Add comments about which assertion fails on which
22630         platform.
22631         * doc/posix-functions/strtod.texi: Add info about many more platforms.
22632
22633 2008-03-30  Eric Blake  <ebb9@byu.net>
22634
22635         Test signbit behavior on zeros.
22636         * tests/test-signbit.c (test_signbitf): Add tests for zero.
22637         (test_signbitd, test_signbitl): Likewise.
22638
22639         More strtod touchups.
22640         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
22641         sign of negative underflow, for now.  Use .5, not .1.
22642         * doc/posix-functions/strtod.texi (strtod): Mention these
22643         limitations.
22644         Reported by Jim Meyering.
22645
22646 2008-03-30  Bruno Haible  <bruno@clisp.org>
22647
22648         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
22649         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
22650
22651 2008-03-30  Bruno Haible  <bruno@clisp.org>
22652
22653         Avoid failure when attempting to return empty iconv results on some
22654         platforms.
22655         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
22656         allocation, don't report ENOMEM when the resulting string is empty.
22657
22658 2008-03-30  Bruno Haible  <bruno@clisp.org>
22659
22660         Fix buffer overrun.
22661         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
22662         Don't consider the width for tmp_length. Check count against tmp_length
22663         before doing the padding. Ensure enough allocation during padding.
22664
22665 2008-03-30  Eric Blake  <ebb9@byu.net>
22666
22667         strtod touchups.
22668         * lib/strtod.c (strtod): Avoid compiler warnings.
22669         Reported by Jim Meyering.
22670
22671 2008-03-30  Bruno Haible  <bruno@clisp.org>
22672
22673         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
22674         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
22675         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
22676         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
22677         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
22678         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
22679         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
22680         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
22681
22682         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
22683         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
22684         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
22685         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
22686         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
22687         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
22688         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
22689         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
22690
22691         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
22692         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
22693         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
22694         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
22695         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
22696         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
22697         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
22698         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
22699
22700         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
22701         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
22702
22703         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
22704         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
22705
22706         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
22707         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
22708
22709         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
22710         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
22711         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
22712
22713         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
22714         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
22715         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
22716
22717         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
22718         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
22719         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
22720
22721         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
22722         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
22723         * modules/vasprintf (Depends-on): Add EOVERFLOW.
22724
22725         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
22726         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
22727         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
22728         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
22729         (Depends-on): Add EOVERFLOW.
22730         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
22731         (Depends-on): Add EOVERFLOW.
22732         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
22733         (Depends-on): Add EOVERFLOW.
22734         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
22735         (Depends-on): Add EOVERFLOW.
22736         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
22737         (Depends-on): Add EOVERFLOW.
22738         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
22739         (Depends-on): Add EOVERFLOW.
22740         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
22741         (Depends-on): Add EOVERFLOW.
22742         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
22743         (Depends-on): Add EOVERFLOW.
22744
22745         * lib/sprintf.c (EOVERFLOW): Remove fallback.
22746         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
22747         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
22748
22749         * lib/snprintf.c (EOVERFLOW): Remove fallback.
22750         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
22751         * modules/snprintf (Depends-on): Add EOVERFLOW.
22752
22753         * lib/poll.c (EOVERFLOW): Remove fallback.
22754         * modules/poll (Depends-on): Add EOVERFLOW.
22755
22756         * lib/getugroups.c (EOVERFLOW): Remove fallback.
22757         * modules/getugroups (Depends-on): Add EOVERFLOW.
22758
22759         * lib/getdelim.c (EOVERFLOW): Remove fallback.
22760         * modules/getdelim (Depends-on): Add EOVERFLOW.
22761
22762         * lib/ftell.c (EOVERFLOW): Remove fallback.
22763         * modules/ftell (Depends-on): Add EOVERFLOW.
22764
22765         * lib/fprintf.c (EOVERFLOW): Remove fallback.
22766         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
22767         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
22768
22769         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
22770
22771         * modules/EOVERFLOW-tests: New file.
22772         * tests/test-EOVERFLOW.c: New file.
22773
22774         * modules/EOVERFLOW: New file.
22775         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
22776
22777 2008-03-30  Bruno Haible  <bruno@clisp.org>
22778
22779         Fix bug introduced on 2007-06-10.
22780         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
22781         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
22782
22783 2008-03-30  Bruno Haible  <bruno@clisp.org>
22784
22785         Improve freadseek's efficiency after ungetc.
22786         * lib/freadseek.c: Include freadahead.h.
22787         (freadptrinc): New function, extracted from freadseek.
22788         (freadseek): Use it in a loop. Use freadahead to determine the number
22789         of loop iterations.
22790         * modules/freadseek (Depends-on): Add freadahead.
22791         (configure.ac): Require AC_C_INLINE.
22792
22793 2008-03-30  Bruno Haible  <bruno@clisp.org>
22794
22795         * lib/freadseek.c (freadseek): Don't ignore the return value of
22796         freadptr.
22797
22798 2008-03-29  Eric Blake  <ebb9@byu.net>
22799
22800         Add hex float support.
22801         * modules/strtod (Depends-on): Add c-ctype.
22802         (Link): Mention POW_LIB.
22803         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
22804         whitespace between 'e' and exponent.
22805         * tests/test-strtod.c (main): Enable hex float tests.
22806         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
22807         now provides.
22808
22809         Document various strtod bugs, with some fixes.
22810         * doc/posix-functions/strtod.texi (strtod): Document bugs with
22811         "-0x", "inf", "nan", and hex constants.
22812         * doc/posix-functions/atof.texi (atof): Likewise.
22813         * modules/stdlib (Makefile.am): Support strtod.
22814         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
22815         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
22816         detect additional strtod bugs.
22817         * lib/stdlib.in.h (rpl_strtod): Add declarations.
22818         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
22819         bool where appropriate.  Parse 'inf' and 'nan'.
22820         * tests/test-strtod.c: New file.
22821         * modules/strtod (Depends-on): Add stdbool, stdlib.
22822         (configure.ac): Turn on module indicator.
22823         * modules/strtod-tests: New module.
22824
22825 2008-03-29  Eric Blake  <ebb9@byu.net>
22826
22827         Fix ftell on mingw.
22828         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
22829         * modules/ftell-tests (Depends-on): Add binary-io.
22830         * modules/ftello-tests (Depends-on): Likewise.
22831         * tests/test-ftell.c (main): Enhance test to cover behavior after
22832         ungetc.  Enforce binary mode.
22833         * tests/test-ftello.c (main): Likewise.
22834
22835         Pass test-freadseek on cygwin.
22836         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
22837         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
22838         ungetc buffer.
22839
22840         * tests/test-fflush2.c (main): Fix typo.
22841
22842 2008-03-29  Bruno Haible  <bruno@clisp.org>
22843
22844         * tests/test-fflush2.c (main): Temporarily disable the contents of
22845         this test.
22846         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
22847         Reported by Eric Blake.
22848
22849 2008-03-28  Simon Josefsson  <simon@josefsson.org>
22850
22851         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
22852         (GC_SHA224_DIGEST_SIZE): Add.
22853
22854         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
22855         (gc_hash_digest_length): Likewise.
22856         (gc_hash_buffer): Likewise.
22857
22858 2008-03-25  Bruno Haible  <bruno@clisp.org>
22859
22860         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
22861         detail which gettext release to use.
22862         Reported by Simon Josefsson.
22863
22864 2008-03-26  Jim Meyering  <meyering@redhat.com>
22865
22866         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
22867         * modules/gnumakefile (clean-GNUmakefile): Also, use
22868         test ... && ... || : syntax rather than if-then ... fi.
22869
22870         gnumakefile: Don't double-quote-expand $(VPATH) value.
22871         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
22872
22873 2008-03-24  Eric Blake  <ebb9@byu.net>
22874
22875         Alter GNUmakefile to install into top directory.
22876         * modules/maintainer-makefile: Split, and add dependency...
22877         * modules/gnumakefile: to this new module.
22878         * build-aux/GNUmakefile: Move...
22879         * top/GNUmakefile: ...here.
22880         * build-aux/maint.mk: Move...
22881         * top/maint.mk: ...here.
22882         * MODULES.html.sh (Support for maintaining...): Document new
22883         module.
22884
22885 2008-03-23  Bruno Haible  <bruno@clisp.org>
22886
22887         * gnulib-tool: New options --vc-files, --no-vc-files.
22888         (func_usage): Document them.
22889         (vc_files): New variable.
22890         (func_import): Consider vc_files.
22891         (func_create_testdir): Set vc_files to empty.
22892         Suggested by Jim Meyering and Karl Berry.
22893
22894 2008-03-23  Bruno Haible  <bruno@clisp.org>
22895
22896         Fix regex compilation error on HP-UX 11.
22897         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
22898         * modules/regex (Files): Add m4/mbstate_t.m4.
22899         Reported by Ton Voon <ton.voon@altinity.com>.
22900
22901 2008-03-23  Bruno Haible  <bruno@clisp.org>
22902
22903         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
22904
22905 2008-03-23  Eric Blake  <ebb9@byu.net>
22906             Bruno Haible  <bruno@clisp.org>
22907
22908         Install files from top/ in the destination directory.
22909         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
22910         augmentation also for the files from top/.
22911         (func_import, func_create_testdir): Rewrite file names:
22912         top/filename -> filename.
22913
22914 2008-03-23  Bruno Haible  <bruno@clisp.org>
22915
22916         Tweak "gnulib --version" output.
22917         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
22918
22919 2008-03-23  Bruno Haible  <bruno@clisp.org>
22920
22921         Tweak "gnulib --version" output.
22922         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
22923         rather than contents of ChangeLog, when possible.
22924
22925 2008-03-21  Eric Blake  <ebb9@byu.net>
22926
22927         More --version tweaks.
22928         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
22929         date of last ChangeLog entry.
22930
22931 2008-03-21  Jim Meyering  <meyering@redhat.com>
22932
22933         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
22934
22935 2008-03-20  Eric Blake  <ebb9@byu.net>
22936
22937         VPATH fix.
22938         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
22939
22940 2008-03-20  Simon Josefsson  <simon@josefsson.org>
22941
22942         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
22943         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
22944
22945 2008-03-20  Eric Blake  <ebb9@byu.net>
22946
22947         Sync GNUmakefile with coreutils.
22948         * build-aux/GNUmakefile (have-Makefile): Rename...
22949         (_have-Makefile): ...to this, for namespace consideration.
22950         (GNUmakefile.cfg): Include, if present.
22951         (_autoreconf): Define a default.
22952         (_is-dist-target): New rule for rebuilds to pick up intra-release
22953         version.
22954         (maint-cfg.mk): Rename...
22955         (cfg.mk): ...to this.
22956
22957 2008-03-18  Jim Meyering  <meyering@redhat.com>
22958
22959         New script and module: mktempd
22960         * MODULES.html.sh (maint+release support): Add mktempd.
22961         * build-aux/mktempd: New file.
22962         * modules/mktempd: New file.
22963
22964 2008-03-15  Jim Meyering  <meyering@redhat.com>
22965
22966         Undo last change.
22967         * lib/sha1.c, lib/md5.c: 63 != ~63.
22968         Reported by Andreas Schwab.
22969
22970         sha1.c, md5.c: Hoist a redundant expression.
22971         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
22972         "ctx->buflen" only once, before calling *_process_block.
22973         * lib/md5.c (md5_process_bytes): Likewise.
22974
22975 2008-03-14  Eric Blake  <ebb9@byu.net>
22976
22977         Bump copyright year in files generated by gnulib-tool.
22978         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
22979         gnulib-tool, rather than hard-coding it.
22980
22981         Fix 'gnulib-tool --version' output to work with git.
22982         * gnulib-tool (func_gnulib_dir): New function, extracted from...
22983         (startup): ...here.
22984         (func_version): Use it to invoke git-version-gen, rather than
22985         relying on CVS keyword expansion.  Modernize wording.
22986         (cvsdatestamp, last_checkin_date, version): Kill unused
22987         variables.
22988
22989 2008-03-12  Jim Meyering  <meyering@redhat.com>
22990
22991         Recognize optional cast of the argument to free.
22992         * build-aux/useless-if-before-free: Update regexps.
22993
22994         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
22995
22996 2008-03-11  Bruno Haible  <bruno@clisp.org>
22997
22998         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
22999         by a single package.
23000         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
23001         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
23002         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
23003         Reported by Sam Steingold <sds@gnu.org>.
23004
23005 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
23006
23007         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
23008         repositories.
23009
23010 2008-03-11  Bruno Haible  <bruno@clisp.org>
23011
23012         Avoid conflicts between local macro definitions.
23013         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
23014         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
23015
23016 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
23017             Bruno Haible  <bruno@clisp.org>
23018
23019         Make va_copy work with some version of xlc on AIX 5.1.
23020         * lib/stdarg.in.h: New file.
23021         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
23022         On AIX, use a <stdarg.h> file substitute.
23023         * modules/stdarg (Files): Add lib/stdarg.in.h.
23024         (Depends-on): Add include_next.
23025         (Makefile.am): Build a stdarg.h substitute if requested.
23026         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
23027
23028 2008-03-10  Bruno Haible  <bruno@clisp.org>
23029
23030         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
23031         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
23032         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
23033
23034 2008-03-10  Bruno Haible  <bruno@clisp.org>
23035
23036         * modules/stdlib (Depends-on): Add include_next, remove
23037         absolute-header.
23038
23039 2008-03-09  Bruno Haible  <bruno@clisp.org>
23040
23041         * lib/freadahead.h (freadahead): Document more precisely.
23042         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
23043         the sum of both buffer sizes.
23044         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
23045         * NEWS: Document the change.
23046
23047 2008-03-09  Bruno Haible  <bruno@clisp.org>
23048
23049         Extend freadptr to return also the buffer size.
23050         * lib/freadptr.h (freadptr): Add sizep argument.
23051         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
23052         (freadptr): Add sizep argument. Determine buffer size like freadahead
23053         does.
23054         * tests/test-freadptr.c: Don't include freadahead.h.
23055         (main): Adapt for new calling convention of freadptr.
23056         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
23057         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
23058         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
23059         tests/test-freadptr2.sh.
23060         (Depends): Remove freadahead.
23061         (TESTS): Add test-freadptr2.sh.
23062         (check_PROGRAMS): Add test-freadptr2.
23063
23064 2008-03-09  Bruno Haible  <bruno@clisp.org>
23065
23066         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
23067         Report and solution by Simon Josefsson.
23068
23069 2008-03-06  Bruno Haible  <bruno@clisp.org>
23070
23071         Make fflush after ungetc work on BSD platforms.
23072         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
23073         * tests/test-fflush2.c: New file.
23074         * tests/test-fflush2.sh: New file.
23075         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
23076         tests/test-fflush2.c.
23077         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
23078         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
23079
23080 2008-03-06  Eric Blake  <ebb9@byu.net>
23081
23082         Likewise for ftello.
23083         * modules/ftello (Dependencies): Add extensions.
23084         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
23085
23086 2008-03-06  Bruno Haible  <bruno@clisp.org>
23087
23088         * modules/fseeko (Dependencies): Add extensions.
23089         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
23090         Needed on glibc systems.
23091
23092 2008-03-06  Bruno Haible  <bruno@clisp.org>
23093
23094         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
23095         email address.
23096         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
23097
23098 2008-03-06  Bruno Haible  <bruno@clisp.org>
23099
23100         * users.txt: Add libgnupdf.
23101
23102 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
23103
23104         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
23105         (Header File Substitutes, Function Substitutes,
23106         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
23107         (Build robot for gnulib): Fix typo.
23108
23109 2008-03-06  Bruno Haible  <bruno@clisp.org>
23110
23111         * doc/gnulib-tool.texi (VCS Issues): Small updates.
23112         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
23113
23114 2008-03-06  Bruno Haible  <bruno@clisp.org>
23115
23116         * doc/func.texi: New file, extracted from doc/gnulib.texi.
23117         * doc/gnulib.texi: Include it.
23118
23119 2008-03-06  Simon Josefsson  <simon@josefsson.org>
23120
23121         * modules/func (License): Change license to unlimited; there was
23122         no LGPL parts in the module anyway.
23123
23124 2008-03-06  Simon Josefsson  <simon@josefsson.org>
23125
23126         * modules/__func__: Renamed to modules/func.
23127         * modules/__func__-tests: Renamed to modules/func-tests.
23128         * tests/test-__func__.c: Renamed to tests/test-func.c.
23129         * m4/__func__.m4: Renamed to m4/func.m4.
23130         * doc/gnulib.texi (__func__): Section renamed to func.
23131         Suggested by Eric Blake <ebb9@byu.net>.
23132
23133 2008-03-06  Simon Josefsson  <simon@josefsson.org>
23134
23135         * doc/gnulib.texi (__func__): Use C99 terminology when talking
23136         about __func__.  Make example self-contained.  Suggested by Eric
23137         Blake <ebb9@byu.net>.
23138
23139         * tests/test-__func__.c (main): Avoid extraneous () around __func.
23140         Suggested by Eric Blake <ebb9@byu.net>.
23141
23142 2008-03-06  Simon Josefsson  <simon@josefsson.org>
23143
23144         * modules/__func__: New file.
23145         * modules/__func__-tests: New file.
23146         * tests/test-__func__.c: New file.
23147         * m4/__func__.m4: New file.
23148         * doc/gnulib.texi (__func__): Document __func__ module.
23149
23150 2008-03-05  Simon Josefsson  <simon@josefsson.org>
23151
23152         * modules/byteswap (License): Re-license as LGPLv2+.
23153
23154 2008-03-05  Simon Josefsson  <simon@josefsson.org>
23155
23156         * doc/Makefile: Add pdf target.
23157
23158 2008-03-05  Simon Josefsson  <simon@josefsson.org>
23159
23160         * modules/inline (License): Use 'unlimited', since there are only
23161         *.m4 files in this module.
23162
23163 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
23164             Bruno Haible  <bruno@clisp.org>
23165
23166         Add support for HP C 7.1 on OpenVMS 8.3.
23167         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
23168
23169 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
23170
23171         Update VMS specifics.
23172         * lib/getopt.c [VMS]: Remove include of unixlib.h.
23173
23174 2008-03-02  Jim Meyering  <meyering@redhat.com>
23175
23176         Remove the last dependency on the "free" module.
23177         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
23178         Reported by Bob Proulx.
23179
23180         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
23181
23182         Remove useless "if" tests before free.  Deprecate "free" module.
23183         * doc/posix-functions/free.texi: Mention that this
23184         module is no longer useful.
23185         * modules/free (Notice): Say this module is obsolete.
23186         * modules/readutmp (Depends-on): Remove free.
23187         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
23188         * lib/putenv.c (putenv): Likewise.
23189         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
23190         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
23191         * tests/test-c-strcasestr.c (main): Likewise.
23192         * tests/test-c-strstr.c (main): Likewise.
23193         * tests/test-mbscasestr1.c (main): Likewise.
23194         * tests/test-mbscasestr2.c (main): Likewise.
23195         * tests/test-mbsstr1.c (main): Likewise.
23196         * tests/test-mbsstr2.c (main): Likewise.
23197         * tests/test-memmem.c (main): Likewise.
23198         * tests/test-strcasestr.c (main): Likewise.
23199         * tests/test-striconv.c (main): Likewise.
23200         * tests/test-striconveh.c (main): Likewise.
23201         * tests/test-striconveha.c (main): Likewise.
23202         * tests/test-strstr.c (main): Likewise.
23203
23204         * build-aux/git-version-gen: Adjust a comment and the Usage string.
23205
23206         bootstrap: sync from coreutils again
23207         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
23208
23209 2008-03-01  Jim Meyering  <meyering@redhat.com>
23210
23211         bootstrap: sync from coreutils
23212         * build-aux/bootstrap (update_po_files): Copy a .po file into place
23213         also when the target doesn't exist.
23214
23215 2008-03-01  Eric Blake  <ebb9@byu.net>
23216
23217         Fix bugs in last patch.
23218         * lib/memchr2.c (memchr2): Fix typo.
23219         * tests/test-memchr2.c: Test previous bug, and don't use GNU
23220         extension.
23221         Reported by Bruce Korb.
23222
23223         New module 'memchr2'.
23224         * modules/memchr2: New file.
23225         * modules/memchr2-tests: Likewise.
23226         * lib/memchr2.h: Likewise.
23227         * lib/memchr2.c: Likewise, based on memchr.c.
23228         * tests/test-memchr2.c: New test.
23229         * MODULES.html.sh (String handling): Add memchr2.
23230
23231 2008-02-29  Bruno Haible  <bruno@clisp.org>
23232
23233         * modules/freadseek-tests: New file.
23234         * tests/test-freadseek.sh: New file.
23235         * tests/test-freadseek.c: New file.
23236
23237         New module 'freadseek'.
23238         * modules/freadseek: New file.
23239         * lib/freadseek.h: New file.
23240         * lib/freadseek.c: New file.
23241         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
23242
23243 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
23244
23245         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
23246         wydawca.
23247
23248         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
23249         program_invocation_name and program_invocation_short_name are
23250         present.
23251
23252 2008-02-28  Bruno Haible  <bruno@clisp.org>
23253
23254         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
23255         * tests/test-freadptr.sh: Also test non-seekable stdin.
23256
23257 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
23258
23259         * build-aux/bootstrap (source_base, m4_base)
23260         (doc_base, tests_base): New variables.
23261         (gnulib_tool_options): Do not hardcode base directories, use
23262         the above variables instead.
23263
23264 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
23265
23266         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
23267
23268 2008-02-28  Bruno Haible  <bruno@clisp.org>
23269
23270         * modules/freadptr-tests: New file.
23271         * tests/test-freadptr.sh: New file.
23272         * tests/test-freadptr.c: New file.
23273
23274         New module 'freadptr'.
23275         * modules/freadptr: New file.
23276         * lib/freadptr.h: New file.
23277         * lib/freadptr.c: New file.
23278         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
23279
23280 2008-02-26  Karl Berry  <karl@freefriends.org>
23281
23282         Sync from Libtool:
23283         * libltdl/argz.c (argz_add, argz_count): New functions.
23284         * libltdl/argz.in.h: Declare them.
23285         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
23286
23287 2008-02-22  Bruno Haible  <bruno@clisp.org>
23288
23289         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
23290         is a pointer type.  Needed for HP-UX 10.
23291         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
23292         * doc/posix-functions/gmtime_r.texi: Likewise.
23293         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
23294
23295 2008-02-24  Bruno Haible  <bruno@clisp.org>
23296
23297         * modules/environ-tests: New file.
23298         * tests/test-environ.c: New file.
23299
23300         New module 'environ'.
23301         * modules/environ: New file.
23302         * lib/unistd.in.h (environ): New declaration.
23303         * m4/environ.m4: New file.
23304         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
23305         after use.
23306         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
23307         HAVE_DECL_ENVIRON.
23308         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
23309         HAVE_DECL_ENVIRON.
23310         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
23311         wrong claim that 'environ' is missing on some systems.
23312         * modules/execute (Depends-on): Add environ.
23313         * lib/execute.c (environ): Remove fallback declaration.
23314         * modules/pipe (Depends-on): Add environ.
23315         * lib/pipe.c (environ): Remove fallback declaration.
23316         * modules/setenv (Depends-on): Add environ.
23317         * lib/setenv.c (environ): Remove fallback declaration.
23318         * modules/unsetenv (Depends-on): Add environ.
23319         * lib/unsetenv.c (environ): Remove fallback declaration.
23320         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
23321         m4/environ.m4.
23322         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
23323         (gl_PREREQ_UNSETENV): Likewise.
23324
23325 2008-02-24  Bruno Haible  <bruno@clisp.org>
23326
23327         * doc/posix-functions/environ.texi: Document the MacOS X problem.
23328
23329 2008-02-20  Bob Proulx  <bob@proulx.com>
23330
23331         Enable use of older two part flavor 'git describe'.
23332         * build-aux/git-version-gen: If using the older two part flavor of
23333         git version then recreate the third part now present in the
23334         newer three part flavor of git describe.
23335
23336 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
23337
23338         * lib/fts.c (fts_build): Typo correction to comment.
23339
23340 2008-02-17  Bruno Haible  <bruno@clisp.org>
23341
23342         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
23343         generating no-op conflicts.
23344
23345 2008-02-17  Bruno Haible  <bruno@clisp.org>
23346
23347         Speed up by 10%.
23348         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
23349         result_entries, rather than an index-based loop.
23350
23351 2008-02-17  Bruno Haible  <bruno@clisp.org>
23352
23353         Speed up by 25%.
23354         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
23355         'hashcode_cached'.
23356         (entry_create): New function.
23357         (entry_hashcode): Use the cached hashcode if possible.
23358         (read_changelog_file, try_split_merged_entry): Use entry_create.
23359
23360 2008-02-17  Bruno Haible  <bruno@clisp.org>
23361
23362         Speed up from O(n^2) to O(n) for long ChangeLog files.
23363         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
23364         (read_changelog_file): Change implementation of entries_reversed list
23365         to rbtreehash.
23366         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
23367
23368 2008-02-17  Bruno Haible  <bruno@clisp.org>
23369
23370         New option --split-merged-entry.
23371         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
23372         (find_paragraph_end, try_split_merged_entry): New functions.
23373         (long_options): Add option --split-merged-entry.
23374         (usage): Document option --split-merged-entry.
23375         (main): Implement option --split-merged-entry.
23376         Reported by Eric Blake.
23377
23378 2008-02-17  Bruno Haible  <bruno@clisp.org>
23379
23380         * lib/git-merge-changelog.c: Include c-strstr.h.
23381         (main): Support the "git pull --rebase" situation.
23382         * modules/git-merge-changelog (Depends-on): Add c-strstr.
23383         Reported by Eric Blake.
23384
23385 2008-02-16  Eric Blake  <ebb9@byu.net>
23386
23387         Avoid doubling \ in common case of "c-maybe" quoting style.
23388         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
23389         eliding outer quotes.
23390         * lib/quotearg.h: Document this.
23391         * tests/test-quotearg.c (result_strings, inputs, results_g)
23392         (flag_results, locale_results): Test it by adding a new string to
23393         each test group.
23394         (compare_strings): Test new string.
23395
23396 2008-02-13  Eric Blake  <ebb9@byu.net>
23397
23398         Avoid trigraph quoting in default output.
23399         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
23400         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
23401         unless explicitly requested.
23402         * tests/test-quotearg.c (flag_results, main): Add additional tests.
23403
23404 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
23405
23406         Don't rely on signed integer overflowing to negative value.
23407         * lib/getugroups.c (getugroups): Include <limits.h>.
23408         Instead, compare against INT_MAX, and increment only if the test passes.
23409
23410 2008-02-13  Jim Meyering  <meyering@redhat.com>
23411         and Eric Blake  <ebb9@byu.net>
23412
23413         Avoid shadowing warning and compile errors on Linux.
23414         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
23415         forwarding macros on Linux.
23416         (dcgettext): Define a stub, for Linux.
23417         (results_g, main): Avoid warnings.
23418
23419 2008-02-12  Eric Blake  <ebb9@byu.net>
23420
23421         Silence warning in last patch.
23422         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
23423
23424         Quotearg part 4: add tests, fix c-maybe colon quoting.
23425         * lib/quotearg.h: Improve documentation.
23426         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
23427         escapes when adding outer quotes.  When quoting trigraphs, use
23428         valid C notation.  When quoting NUL, omit extra characters if next
23429         character is not digit.  Alter prototype.
23430         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
23431         callers.
23432         * modules/quotearg-tests: New module.
23433         * tests/test-quotearg.c: New test.
23434
23435 2008-02-07  Eric Blake  <ebb9@byu.net>
23436
23437         Quotearg part 3: add flag to control outer quote elision.
23438         * lib/quotearg.h (c_maybe_quoting_style): New style.
23439         (enum quoting_flags): Better documentation of flags.
23440         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
23441         c-maybe style.
23442         (quotearg_buffer_restyled): Handle new flag to elide outer
23443         quotes.
23444
23445         Quotearg part 2: add flag that can control NUL elision.
23446         * lib/quotearg.h (set_quoting_flags): New prototype.
23447         * lib/quotearg.c (struct quoting_options): Add flag field.
23448         (set_quoting_flags): New function.
23449         (quotearg_buffer_restyled): Add flags parameter.
23450         (quotearg_alloc_mem): Set the flag if length cannot be returned.
23451         (quotearg_n_options): Set the flag, since length cannot be
23452         returned.
23453         (quoting_options_from_style): Default flags correctly.
23454
23455         Quotearg part 1: more wrappers, restore quotearg_char state.
23456         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
23457         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
23458         (quotearg_colon_mem): New wrappers.
23459         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
23460         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
23461         functions.
23462         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
23463         (quotearg_colon_mem): New functions.
23464
23465 2008-02-11  Bruno Haible  <bruno@clisp.org>
23466
23467         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
23468         library in the current directory: it does not work with parallel make.
23469         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
23470
23471 2008-02-11  Bruno Haible  <bruno@clisp.org>
23472
23473         * .gitattributes: New file.
23474
23475 2008-02-11  Jim Meyering  <meyering@redhat.com>
23476
23477         useless-if-before-free: Fix reversed exit values.
23478         * build-aux/useless-if-before-free: Use correct values
23479         for EXIT_MATCH and EXIT_NO_MATCH.
23480
23481         * build-aux/useless-if-before-free: Close stdout carefully.
23482
23483 2008-02-10  Bruno Haible  <bruno@clisp.org>
23484
23485         New module 'git-merge-changelog'.
23486         * modules/git-merge-changelog: New file.
23487         * lib/git-merge-changelog.c: New file.
23488
23489 2008-02-10  Jim Meyering  <meyering@redhat.com>
23490
23491         useless-if-before-free: New option: --list (-l).
23492
23493         useless-if-before-free: Don't exit immediately upon open failure.
23494         * build-aux/useless-if-before-free: Exit 2 for errors.
23495         Upon failure to open a file, don't exit immediately.
23496         Rather, just warn and continue with any remaining files.
23497
23498 2008-02-10  Bruno Haible  <bruno@clisp.org>
23499
23500         New abstract list operation 'node_set_value'.
23501         * lib/gl_list.h (gl_list_node_set_value): New function.
23502         (struct gl_list_implementation): New field node_set_value.
23503         * lib/gl_list.c (gl_list_node_set_value): New function.
23504         * lib/gl_array_list.c (gl_array_node_set_value): New function.
23505         (gl_array_list_implementation): Update.
23506         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
23507         (gl_carray_list_implementation): Update.
23508         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
23509         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
23510         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
23511         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
23512         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
23513         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
23514         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
23515         Update.
23516         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
23517         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
23518         (gl_sublist_list_implementation): Update.
23519
23520 2008-02-10  Bruno Haible  <bruno@clisp.org>
23521
23522         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
23523         Needed when ELEMENT is #defined to 'some_type *'.
23524
23525 2008-02-10  Jim Meyering  <meyering@redhat.com>
23526
23527         New script and module: useless-if-before-free
23528         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
23529         * build-aux/useless-if-before-free: New file.
23530         * modules/useless-if-before-free: New file.
23531
23532         * build-aux/gitlog-to-changelog: Use committer date, not author date.
23533
23534         xstrtol_error: Fix typo.
23535         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
23536         s/exit_failure/exit_status/.
23537
23538 2008-02-09  Jim Meyering  <meyering@redhat.com>
23539
23540         New script and module: gitlog-to-changelog
23541         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
23542         * modules/gitlog-to-changelog: New file.
23543         * build-aux/gitlog-to-changelog: New file.
23544
23545 2008-02-08  Jim Meyering  <meyering@redhat.com>
23546
23547         Avoid two "parameter unused" warnings.
23548         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
23549         Mark "st" as used.
23550
23551         Use "git COMMAND", not "git-COMMAND".
23552         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
23553         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
23554         * build-aux/git-version-gen: Use "git status", not "git-status".
23555
23556 2008-02-07  Bruno Haible  <bruno@clisp.org>
23557
23558         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
23559         Avoids a crash on Windows Vista.
23560         Reported by Adam Strzelecki <ono@java.pl> via
23561         Simon Josefsson <simon@josefsson.org>.
23562
23563 2008-02-06  Bruno Haible  <bruno@clisp.org>
23564
23565         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
23566         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
23567         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
23568         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
23569         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
23570         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
23571         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
23572         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
23573         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
23574         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
23575         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
23576         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
23577         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
23578         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
23579         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
23580         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
23581         left-adjust flag.
23582         * tests/test-snprintf-posix.h (test_function): Likewise.
23583         * tests/test-sprintf-posix.h (test_function): Likewise.
23584         * tests/test-vasprintf-posix.c (test_function): Likewise.
23585         * doc/posix-functions/fprintf.texi: Update.
23586         * doc/posix-functions/printf.texi: Update.
23587         * doc/posix-functions/snprintf.texi: Update.
23588         * doc/posix-functions/sprintf.texi: Update.
23589         * doc/posix-functions/vfprintf.texi: Update.
23590         * doc/posix-functions/vprintf.texi: Update.
23591         * doc/posix-functions/vsnprintf.texi: Update.
23592         * doc/posix-functions/vsprintf.texi: Update.
23593         Reported by Peter Fales <psfales@alcatel-lucent.com>.
23594
23595 2008-02-06  Bruno Haible  <bruno@clisp.org>
23596
23597         Fix bug introduced on 2008-01-26.
23598         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
23599
23600 2008-02-06  Bruno Haible  <bruno@clisp.org>
23601
23602         Fix bug introduced on 2007-06-10.
23603         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
23604         !NEED_PRINTF_FLAG_ZERO.
23605
23606 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
23607
23608         getloadavg: use libperfstat on AIX5
23609         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
23610
23611 2008-02-03  Bruno Haible  <bruno@clisp.org>
23612
23613         * lib/diffseq.h: Add comments about required #includes.
23614         Reported by Michael Biggs <gnulib@doubleplum.net>.
23615
23616 2008-02-01  Bruno Haible  <bruno@clisp.org>
23617
23618         * users.txt: Add gnuit.
23619
23620 2008-01-31  Bruno Haible  <bruno@clisp.org>
23621
23622         * lib/md4.c (set_uint32): Mark as inline.
23623         * lib/md5.c (set_uint32): Likewise.
23624         * lib/sha1.c (set_uint32): Likewise.
23625         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
23626         * m4/md5.m4 (gl_MD5): Likewise.
23627         * m4/sha1.m4 (gl_SHA1): Likewise.
23628
23629 2008-01-31  Jim Meyering  <meyering@redhat.com>
23630
23631         Use "sizeof VAR", rather than a literal "4".
23632         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
23633         * lib/md4.c (md4_read_ctx): Likewise.
23634         * lib/sha1.c (sha1_read_ctx): Likewise.
23635
23636 2008-01-31  Simon Josefsson  <simon@josefsson.org>
23637
23638         * tests/test-sha1.c: New file, based on test-md5.c.
23639
23640         * modules/crypto/sha1-tests: New file.
23641
23642 2008-01-31  Simon Josefsson  <simon@josefsson.org>
23643
23644         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
23645
23646 2008-01-31  Jim Meyering  <meyering@redhat.com>
23647
23648         Prefer "sizeof v" over the equivalent "4".
23649         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
23650         * lib/md5.c (set_uint32): Likewise.
23651         * lib/sha1.c (set_uint32): Likewise.
23652
23653 2008-01-31  Simon Josefsson  <simon@josefsson.org>
23654
23655         * lib/sha1.c (set_uint32): Mark function as static.
23656
23657 2008-01-31  Simon Josefsson  <simon@josefsson.org>
23658
23659         md2: clarify comments to say that alignment is not required.
23660         * lib/md2.h: Remove warning about alignment in comment.
23661         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
23662         never been required.
23663
23664 2008-01-31  Simon Josefsson  <simon@josefsson.org>
23665
23666         md4: adapt alignment constraint fix from sha1.
23667         * lib/md4.c (set_uint32): New function, from sha1.c
23668         (md4_read_ctx): Use it.
23669         (md4_finish_ctx): Doc fix.
23670         * lib/md4.h: Doc fix.
23671
23672 2008-01-31  Simon Josefsson  <simon@josefsson.org>
23673
23674         md5: adapt alignment constraint fix from sha1.
23675         * lib/md5.c (set_uint32): New function, from sha1.c
23676         (md5_read_ctx): Use it.
23677         (md5_finish_ctx): Doc fix.
23678         * lib/md5.h: Doc fix.
23679
23680 2008-01-30  Peter Palfrader  <weasel@debian.org>
23681
23682         sha1: remove the result buffer alignment constraint
23683         * lib/sha1.c (set_uint32): New function.
23684         (sha1_read_ctx): Rewrite to remove the result buffer alignment
23685         constraint.
23686         (sha1_finish_ctx): Remove comment warning about alignment constraint.
23687         * lib/sha1.h: Likewise.
23688
23689 2008-01-30  Andreas Schwab  <schwab@suse.de>
23690             Bruno Haible  <bruno@clisp.org>
23691
23692         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
23693         correct definition of LDBL_MIN_EXP.
23694
23695 2008-01-30  Karl Berry  <karl@gnu.org>
23696
23697         * config/srclist-update: try to preserve x bit on updates.
23698         * config/srclistvars.sh: update for karl.
23699
23700 2008-01-29  Jim Meyering  <meyering@redhat.com>
23701
23702         vasnprintf.c: Avoid warning about unused label
23703         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
23704         "overflow" label definition and associated code with the
23705         same cpp condition that guards the sole use of that label.
23706
23707 2008-01-26  Bruno Haible  <bruno@clisp.org>
23708
23709         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
23710         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
23711         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
23712         * lib/isnanl-nolibm.h (isnanl): Likewise.
23713         Reported by Paul Eggert <eggert@cs.ucla.edu>.
23714
23715 2008-01-26  Bruno Haible  <bruno@clisp.org>
23716
23717         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
23718         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
23719
23720 2008-01-26  Bruno Haible  <bruno@clisp.org>
23721
23722         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
23723         GCC >= 4.0 built-in.
23724         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
23725
23726 2008-01-26  Bruno Haible  <bruno@clisp.org>
23727
23728         Rename isnan, applicable to 'double' only, to isnand.
23729         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
23730         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
23731         (configure.ac): Update.
23732         (Include): Replace "isnan.h" with "isnand.h".
23733         * m4/isnand.m4: Renamed from m4/isnan.m4.
23734         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
23735         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
23736         instead of isnan.c.
23737         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
23738         instead of HAVE_ISNAN_IN_LIBC.
23739         (isnand): Renamed from isnan.
23740         * lib/isnand.c: New file.
23741         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
23742         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
23743         (Makefile.am): Update.
23744         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
23745         Include isnand.h instead of isnan.h.
23746         (main): Test isnand instead of isnan.
23747         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
23748         isnan-nolibm.
23749         * modules/frexp (Depends-on): Likewise.
23750         * modules/frexp-tests (Depends-on): Likewise.
23751         * modules/frexp-nolibm (Depends-on): Likewise.
23752         * modules/frexp-nolibm-tests (Depends-on): Likewise.
23753         * modules/isfinite (Depends-on): Likewise.
23754         * modules/round-tests (Depends-on): Likewise.
23755         * modules/signbit (Depends-on): Likewise.
23756         * modules/signbit-tests (Depends-on): Likewise.
23757         * modules/snprintf-posix (Depends-on): Likewise.
23758         * modules/sprintf-posix (Depends-on): Likewise.
23759         * modules/trunc-tests (Depends-on): Likewise.
23760         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
23761         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
23762         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
23763         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
23764         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
23765         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
23766         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
23767         * modules/vasnprintf-posix (Depends-on): Likewise.
23768         * modules/vasprintf-posix (Depends-on): Likewise.
23769         * modules/vfprintf-posix (Depends-on): Likewise.
23770         * modules/vsnprintf-posix (Depends-on): Likewise.
23771         * modules/vsprintf-posix (Depends-on): Likewise.
23772         * lib/frexp.c: Include isnand.h instead of isnan.h.
23773         (ISNAN): Set to isnand instead of isnan.
23774         * lib/isfinite.c: Include isnand.h instead of isnan.h.
23775         (gl_isfinited): Use isnand instead of isnan.
23776         * lib/signbitd.c: Include isnand.h instead of isnan.h.
23777         (gl_signbitd): Use isnand instead of isnan.
23778         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
23779         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
23780         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
23781         (main): Use isnand instead of isnan.
23782         * tests/test-round1.c: Include isnand.h.
23783         (main): Use isnand instead of isnan.
23784         * tests/test-round2.c: Include isnand.h instead of isnan.h.
23785         (ISNAN): Set to isnand instead of isnan.
23786         * tests/test-trunc1.c: Include isnand.h.
23787         (main): Use isnand instead of isnan.
23788         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
23789         (equal): Use isnand instead of isnan.
23790         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
23791         isnand-nolibm.
23792         * NEWS: Mention the change.
23793
23794 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
23795             Bruno Haible  <bruno@clisp.org>
23796
23797         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
23798         the GCC builtins for signbits are present and set
23799         REPLACE_SIGNBIT_USING_GCC if so.
23800         * lib/math.in.h (signbit): Define using GCC builtins if
23801         REPLACE_SIGNBIT_USING_GCC is set.
23802         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
23803         REPLACE_SIGNBIT_USING_GCC.
23804         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
23805
23806 2008-01-25  Jim Meyering  <meyering@redhat.com>
23807
23808         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
23809         * lib/poll.c: Include <config.h>, not "config.h".
23810         * tests/test-getaddrinfo.c: Likewise.
23811
23812 2008-01-25  Simon Josefsson  <simon@josefsson.org>
23813
23814         * modules/sockets-tests: New file.
23815
23816 2008-01-24  Simon Josefsson  <simon@josefsson.org>
23817
23818         * modules/sockets: New module, can be used to call WSA_Startup and
23819         WSA_Cleanup when needed.
23820
23821         * lib/sockets.h, lib/sockets.c: New files.
23822
23823         * m4/sockets.m4: New file.
23824
23825         * tests/test-sockets.c: New file.
23826
23827 2008-01-19  Bruno Haible  <bruno@clisp.org>
23828
23829         * doc/posix-headers: Renamed from doc/headers.
23830         * doc/posix-functions: Renamed from doc/functions.
23831         * doc/gnulib.texi: Update.
23832
23833 2008-01-19  Bruno Haible  <bruno@clisp.org>
23834
23835         * doc/glibc-functions/strcasestr.texi: Include contents of
23836         doc/functions/strcasestr.texi, fixing the list of platforms.
23837         * doc/functions/strcasestr.texi: Remove file.
23838
23839 2008-01-19  Bruno Haible  <bruno@clisp.org>
23840
23841         * doc/glibc-functions/memmem.texi: Include contents of
23842         doc/functions/memmem.texi.
23843         * doc/functions/memmem.texi: Remove file.
23844
23845 2008-01-18  Bruno Haible  <bruno@clisp.org>
23846
23847         * doc/glibc-functions/*.texi: New files.
23848         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
23849         to use the new files.
23850
23851 2008-01-17  Bruno Haible  <bruno@clisp.org>
23852
23853         * tests/test-gethostname.c (main): Fix printf statement.
23854
23855 2008-01-17  Simon Josefsson  <simon@josefsson.org>
23856
23857         * modules/gethostname-tests: New file.
23858
23859         * tests/test-gethostname.c: New file.
23860
23861 2008-01-17  Simon Josefsson  <simon@josefsson.org>
23862
23863         * lib/gethostname.c: Include string.h unconditionally, strncpy is
23864         used by the UNAME case.  Reported by Bruno Haible
23865         <bruno@clisp.org>.
23866
23867 2008-01-17  Eric Blake  <ebb9@byu.net>
23868
23869         Convert c-strcasestr to be more efficient.
23870         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
23871         (Depends-on): Add c-strcase, remove malloca, strnlen.
23872         * tests/test-c-strcasestr.c (main): Enhance test.
23873         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
23874
23875 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
23876
23877         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
23878         Use it in creating po/Makevars.
23879
23880 2008-01-15  Simon Josefsson  <simon@josefsson.org>
23881
23882         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
23883         Applications that requires it should initialize libgcrypt
23884         manually.
23885
23886 2008-01-16  Simon Josefsson  <simon@josefsson.org>
23887
23888         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
23889
23890 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
23891
23892         Fix problem with getdate on mingw32 reported by Simon Josefsson
23893         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
23894         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
23895         tzname", when deciding whether to declare tzname.
23896         * lib/strftime.c (tzname): Likewise.
23897
23898 2008-01-15  Bruno Haible  <bruno@clisp.org>
23899
23900         Work around a MacOS X 10.5 bug in frexpl().
23901         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
23902         * doc/functions/frexpl.texi: Document the bug.
23903         Reported by Elias Pipping <pipping@gentoo.org>.
23904
23905 2008-01-14  Eric Blake  <ebb9@byu.net>
23906
23907         Touch up previous patch.
23908         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
23909         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
23910
23911         Convert strcasestr module to use Two-Way algorithm.
23912         * modules/strcasestr-simple: New module, based on the old
23913         strcasestr, but with Two-Way rather than KMP.
23914         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
23915         * lib/string.in.h (rpl_strcasestr): Declare.
23916         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
23917         performance.
23918         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
23919         * modules/string (Makefile.am): Support strcasestr.
23920         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
23921         * modules/strcasestr-tests (Depends-on): Check for alarm.
23922         * tests/test-strcasestr.c: Augment test.
23923         * lib/str-two-way.h: Clean up stray macro.
23924         * NEWS: Document new module.
23925         * MODULES.html.sh (string handling): Likewise.
23926         * doc/functions/strcasestr.texi: New file.
23927         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
23928         here, since it is not a POSIX function.
23929
23930 2008-01-14  Colin Watson  <cjwatson@debian.org>
23931             Bruno Haible  <bruno@clisp.org>
23932
23933         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
23934         works fine; if not, set REPLACE_STRSIGNAL.
23935         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
23936         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
23937         REPLACE_STRSIGNAL.
23938         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
23939         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
23940         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
23941
23942 2008-01-14  Bruno Haible  <bruno@clisp.org>
23943
23944         * modules/strsignal (Include): Change to <string.h>.
23945
23946 2008-01-14  Colin Watson  <cjwatson@debian.org>
23947
23948         * modules/argp (Notice): Add a notice recommending to change
23949         XGETTEXT_OPTIONS.
23950         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
23951
23952 2008-01-13  Colin Watson  <cjwatson@debian.org>
23953
23954         * modules/strsignal-tests: New file.
23955         * tests/test-strsignal.c: New file.
23956
23957         * lib/strsignal.c: New file, from glibc with modifications.
23958         * lib/siglist.h: New file, from glibc with modifications.
23959         * lib/string.in.h (strsignal): New declaration.
23960         * m4/strsignal.m4: New file.
23961         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
23962         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
23963         * modules/strsignal: New file.
23964         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
23965         HAVE_DECL_STRSIGNAL.
23966
23967 2008-01-13  Bruno Haible  <bruno@clisp.org>
23968
23969         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
23970         locale encoding is not ASCII. Needed for OpenBSD 4.0.
23971         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
23972         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
23973
23974 2008-01-13  Bruno Haible  <bruno@clisp.org>
23975
23976         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
23977         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
23978         * lib/argp.h (__attribute__): Likewise.
23979         * lib/c-stack.c (__attribute__): Likewise.
23980         * lib/error.h (__attribute__): Likewise.
23981         * lib/fts.c (__attribute__): Likewise.
23982         * lib/openat.h (__attribute__): Likewise.
23983         * lib/stdio.in.h (__attribute__): Likewise.
23984         * lib/string.in.h (__attribute__): Likewise.
23985         * lib/utimens.c (__attribute__): Likewise.
23986         * lib/vasnprintf.h (__attribute__): Likewise.
23987         * lib/xalloc.h (__attribute__): Likewise.
23988         * lib/xprintf.h (__attribute__): Likewise.
23989         * lib/xstrtol.h (__attribute__): Likewise.
23990         * lib/xvasprintf.h (__attribute__): Likewise.
23991
23992 2008-01-12  Bruno Haible  <bruno@clisp.org>
23993
23994         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
23995         * doc/glibc-headers/a.out.texi: New file.
23996         * doc/glibc-headers/aliases.texi: New file.
23997         * doc/glibc-headers/alloca.texi: New file.
23998         * doc/glibc-headers/ar.texi: New file.
23999         * doc/glibc-headers/argp.texi: New file.
24000         * doc/glibc-headers/argz.texi: New file.
24001         * doc/glibc-headers/byteswap.texi: New file.
24002         * doc/glibc-headers/crypt.texi: New file.
24003         * doc/glibc-headers/endian.texi: New file.
24004         * doc/glibc-headers/envz.texi: New file.
24005         * doc/glibc-headers/err.texi: New file.
24006         * doc/glibc-headers/error.texi: New file.
24007         * doc/glibc-headers/execinfo.texi: New file.
24008         * doc/glibc-headers/fpu_control.texi: New file.
24009         * doc/glibc-headers/fstab.texi: New file.
24010         * doc/glibc-headers/fts.texi: New file.
24011         * doc/glibc-headers/getopt.texi: New file.
24012         * doc/glibc-headers/ieee754.texi: New file.
24013         * doc/glibc-headers/ifaddrs.texi: New file.
24014         * doc/glibc-headers/libintl.texi: New file.
24015         * doc/glibc-headers/mcheck.texi: New file.
24016         * doc/glibc-headers/mntent.texi: New file.
24017         * doc/glibc-headers/obstack.texi: New file.
24018         * doc/glibc-headers/paths.texi: New file.
24019         * doc/glibc-headers/printf.texi: New file.
24020         * doc/glibc-headers/pty.texi: New file.
24021         * doc/glibc-headers/resolv.texi: New file.
24022         * doc/glibc-headers/shadow.texi: New file.
24023         * doc/glibc-headers/sysexits.texi: New file.
24024         * doc/glibc-headers/ttyent.texi: New file.
24025
24026 2008-01-12  Jim Meyering  <meyering@redhat.com>
24027
24028         announce-gen: emit Gnulib's git-based version string.
24029         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
24030         New option --gnulib-version=V, where V is expected to be
24031         the output of running git describe in the gnulib directory.
24032         (get_tool_versions): Request feedback on xdelta.  I suspect it's
24033         not useful, and plan to stop publishing an xdelta file with each
24034         coreutils release.
24035
24036         * build-aux/announce-gen: Also check for lzma-compressed files.
24037
24038 2008-01-11  Bruno Haible  <bruno@clisp.org>
24039
24040         * tests/test-memmem.c (main): Increase maximum allowed time.
24041         * tests/test-strstr.c (main): Likewise.
24042
24043 2008-01-11  Bruno Haible  <bruno@clisp.org>
24044
24045         * doc/functions/memmem.texi: Add more precisions about platforms.
24046         * doc/functions/strstr.texi: Likewise.
24047
24048 2008-01-10  Eric Blake  <ebb9@byu.net>
24049
24050         * m4/strstr.m4: Delete cruft from copy-n-paste.
24051         Reported by Bruno Haible.
24052
24053 2008-01-10  Bruno Haible  <bruno@clisp.org>
24054
24055         Make c-strstr rely on strstr.
24056         * lib/c-strstr.c: Don't include str-kmp.h.
24057         (c_strstr): Define in terms of strstr.
24058         * modules/c-strstr (Files): Remove lib/str-kmp.h.
24059         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
24060
24061 2008-01-10  Bruno Haible  <bruno@clisp.org>
24062
24063         * doc/gnulib.texi (String Functions in C Locale): New section.
24064         * doc/c-ctype.texi: New file.
24065         * doc/c-strcase.texi: New file.
24066         * doc/c-strcaseeq.texi: New file.
24067         * doc/c-strcasestr.texi: New file.
24068         * doc/c-strstr.texi: New file.
24069         * doc/c-strtod.texi: New file.
24070         * doc/c-strtold.texi: New file.
24071
24072 2008-01-10  Eric Blake  <ebb9@byu.net>
24073
24074         * lib/relocatable.h: Fix a comment.
24075
24076 2008-01-10  Eric Blake  <ebb9@byu.net>
24077
24078         Share two-way algorithm.
24079         * lib/str-two-way.h: New file, merged from...
24080         * lib/memmem.c: ...here...
24081         * lib/strstr.c: ...and here.
24082         * modules/memmem (Files): Use it.
24083         * modules/strstr (Files): Likewise.
24084
24085         Avoid quadratic strstr implementations.
24086         * lib/strstr.c: New file.
24087         * m4/strstr.m4: Likewise.
24088         * modules/strstr: Likewise.
24089         * modules/strstr-tests: Likewise.
24090         * tests/test-strstr.c: Likewise.
24091         * lib/string.in.h (rpl_strstr): Declare.
24092         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
24093         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
24094         * modules/string (Makefile.am): Likewise.
24095         * MODULES.html.sh (string handling): Mention new module.
24096         * doc/functions/strstr.texi (strstr): Document the bug.
24097
24098 2008-01-10  Bruno Haible  <bruno@clisp.org>
24099
24100         * lib/relocatable.h (relocate): State whether result is freshly
24101         allocated or not.
24102         * lib/relocatable.c (relocate): Return a freshly allocated string
24103         instead of a pointer to a privately held string.
24104         Reported by Sylvain Beucler <beuc@gnu.org>.
24105
24106 2008-01-10  Colin Watson  <cjwatson@debian.org>
24107
24108         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
24109         s/S_ISNLK/S_ISLNK/.
24110
24111 2008-01-09  Bruno Haible  <bruno@clisp.org>
24112
24113         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
24114         and other files.
24115         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
24116         if it's only a guess.
24117         * modules/memmem: Simplify by depending on memmem-simple.
24118
24119 2008-01-09  Bruno Haible  <bruno@clisp.org>
24120
24121         Work around OpenBSD 4.0 tdelete() bug.
24122         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
24123         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
24124         macros and don't redefine the enum values.
24125         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
24126         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
24127         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
24128
24129 2008-01-09  Bruno Haible  <bruno@clisp.org>
24130
24131         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
24132         (main): Don't perform the tests if setlocale did not install a UTF-8
24133         locale. Needed on OpenBSD 4.0.
24134         * modules/wcwidth-tests (Depends-on): Add localcharset.
24135
24136 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
24137
24138         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
24139         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
24140         * NEWS: announce this.
24141         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
24142
24143 2008-01-09  Simon Josefsson  <simon@josefsson.org>
24144         and Eric Blake  <ebb9@byu.net>
24145
24146         Add memmem-simple module.
24147         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
24148         (gl_FUNC_MEMMEM): Separate performance from presence checks.
24149         * modules/memmem-simple: New file.
24150         * modules/memmem (Description): Tweak.
24151         * MODULES.html.sh (string handling): Mention new module.
24152         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
24153         addressed by memmem-simple.
24154         * NEWS: Document the difference.
24155
24156 2008-01-09  Eric Blake  <ebb9@byu.net>
24157
24158         Give gcc some memmem optimization hints.
24159         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
24160         (strcasestr): Declare as pure.
24161         * modules/memmem (Maintainer): Claim my implementation.
24162
24163 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24164
24165         Support AIX 6.1 and higher.
24166         * build-aux/config.libpath: Likewise.
24167         * build-aux/config.rpath: Likewise.
24168
24169 2008-01-08  Jim Meyering  <meyering@redhat.com>
24170             Bruno Haible  <bruno@clisp.org>
24171
24172         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
24173         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
24174         Reported by Peter Fales in
24175         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
24176
24177 2008-01-08  Bruno Haible  <bruno@clisp.org>
24178
24179         * modules/unictype/category-of (Depends-on): Add
24180         unictype/category-none.
24181         * modules/unictype/category-and-tests (Depends-on): Add
24182         unictype/category-{L,N,Lu,Nd}.
24183         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
24184         * modules/unictype/category-or-tests (Depends-on): Add
24185         unictype/category-{L,N}.
24186         * modules/unictype/category-name-tests (Depends-on): Add
24187         unictype/category-{Z,Nl}.
24188         Reported by Simon Josefsson.
24189
24190 2008-01-08  Bruno Haible  <bruno@clisp.org>
24191
24192         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
24193         convention better.
24194         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
24195         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
24196         Reported by Peter Miller <millerp@canb.auug.org.au>.
24197
24198 2008-01-08  Eric Blake  <ebb9@byu.net>
24199
24200         Rewrite memmem to guarantee linear complexity without malloc.
24201         * lib/memmem.c (memmem): Use Two-Way rather than
24202         Knuth-Morris-Pratt, to allow O(1) space usage.
24203         (critical_factorization, two_way_short_needle)
24204         (two_way_long_needle): New functions.
24205         (knuth_morris_pratt): Delete.
24206         * modules/memmem (Depends-on): No longer need malloca or stdbool.
24207         Add stdint.
24208         * tests/test-memmem.c (main): Add tests for periodic needle and
24209         sublinear performance.
24210         * doc/functions/memmem.texi (memmem): Document other deficiencies
24211         in cygwin and older glibc.
24212
24213 2008-01-08  Bruno Haible  <bruno@clisp.org>
24214
24215         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
24216         augmentation.
24217
24218 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
24219
24220         Add a configure time option: --disable-acl.
24221         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
24222         AC_ARG_ENABLE(acl).
24223
24224 2008-01-06  Simon Josefsson  <simon@josefsson.org>
24225
24226         * tests/test-localename.c: Don't include obsolete "setenv.h".
24227
24228         * modules/localename-tests (Depends-on): Need unsetenv.
24229
24230 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24231
24232         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
24233
24234 2008-01-06  Colin Watson  <cjwatson@debian.org>
24235
24236         * users.txt: Add man-db.
24237
24238 2008-01-07  Bruno Haible  <bruno@clisp.org>
24239
24240         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
24241         previous section name.
24242
24243 2008-01-07  Bruno Haible  <bruno@clisp.org>
24244
24245         * lib/progname.c (set_program_name): Don't strip off a leading
24246         "lt-" prefix outside a .libs directory.
24247         Suggested by Paul Eggert.
24248
24249 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
24250             Bruno Haible  <bruno@clisp.org>
24251
24252         Improve memory cleanup in 'relocatable' module.
24253         * lib/relocatable.h (compute_curr_prefix): Change return type to
24254         'char *'.
24255         * lib/relocatable.c (compute_curr_prefix): Change return type to
24256         'char *'. Free curr_installdir after use.
24257         (relocate): Free curr_prefix_better after use.
24258         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
24259
24260 2008-01-01  Bruno Haible  <bruno@clisp.org>
24261
24262         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
24263         failure on older glibc systems.
24264         Reported by Peter Fales <psfales@alcatel-lucent.com>.
24265
24266 2008-01-05  Eric Blake  <ebb9@byu.net>
24267
24268         Avoid quadratic system memmem.
24269         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
24270         Reported by Ralf Wildenhues.
24271
24272         Fix memmem test for mingw.
24273         * modules/memmem-tests (configure.ac): Check for alarm.
24274         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
24275         it.
24276         * doc/functions/memmem.texi: New file.
24277         * doc/gnulib.texi (Function Substitutes): Add memmem.
24278         Reported by Bruno Haible.
24279
24280 2008-01-04  Bruno Haible  <bruno@clisp.org>
24281
24282         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
24283         Require gl_HEADER_STRINGS_H_DEFAULTS, not
24284         gl_HEADER_STRING_H_DEFAULTS.
24285
24286 2008-01-04  Eric Blake  <ebb9@byu.net>
24287
24288         Shorten duration of memmem test.
24289         * tests/test-memmem.c (main): Use alarm to declare failure if test
24290         is taking too long.
24291         Reported by Ralf Wildenhues.
24292
24293 2007-12-21  Simon Josefsson  <simon@josefsson.org>
24294
24295         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
24296         string, needed by strerror.
24297
24298 2008-01-03  Colin Watson  <cjwatson@debian.org>
24299             Bruno Haible  <bruno@clisp.org>
24300
24301         * doc/gnulib-tool.texi (Localization): New section.
24302
24303 2008-01-02  Bruno Haible  <bruno@clisp.org>
24304
24305         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
24306         variables to 'unsigned char *' type.
24307         Reported by Paul Eggert.
24308
24309 2008-01-02  Jim Meyering  <jim@meyering.net>
24310
24311         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
24312
24313 2007-12-31  Jim Meyering  <jim@meyering.net>
24314
24315         Avoid use of private FTS type name.
24316         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
24317
24318 2007-12-30  Karl Berry  <karl@gnu.org>
24319
24320         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
24321         work around defect in Texinfo and/or the standalone Info browser.
24322
24323 2007-12-30  Bruno Haible  <bruno@clisp.org>
24324
24325         Unify 5 copies of the KMP code.
24326         * lib/str-kmp.h: New file.
24327         * lib/c-strcasestr.c: Include str-kmp.h.
24328         (knuth_morris_pratt): Remove function.
24329         (c_strcasestr): Update.
24330         * lib/c-strstr.c: Include str-kmp.h.
24331         (knuth_morris_pratt): Remove function.
24332         (c_strcasestr): Update.
24333         * lib/mbscasestr.c: Include str-kmp.h.
24334         (knuth_morris_pratt_unibyte): Remove function.
24335         * lib/mbsstr.c: Include str-kmp.h.
24336         (knuth_morris_pratt_unibyte): Remove function.
24337         * lib/strcasestr.c: Include str-kmp.h.
24338         (knuth_morris_pratt): Remove function.
24339         (strcasestr): Update.
24340         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
24341         * modules/c-strstr (Files): Likewise.
24342         * modules/mbscasestr (Files): Likewise.
24343         * modules/mbsstr (Files): Likewise.
24344         * modules/strcasestr (Files): Likewise.
24345         Suggested by Paul Eggert.
24346
24347 2007-12-30  Bruno Haible  <bruno@clisp.org>
24348
24349         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
24350         defined.
24351
24352 2007-12-30  Bruno Haible  <bruno@clisp.org>
24353
24354         * lib/xmalloca.h: Include xalloc.h.
24355         (xnmalloca): New macro.
24356
24357 2007-12-30  Bruno Haible  <bruno@clisp.org>
24358
24359         * lib/malloca.h (nmalloca): New macro.
24360         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
24361         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
24362         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
24363         knuth_morris_pratt_multibyte): Likewise.
24364         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
24365         knuth_morris_pratt_multibyte): Likewise.
24366         * lib/memmem.c (knuth_morris_pratt): Likewise.
24367         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
24368
24369 2007-12-25  Bruno Haible  <bruno@clisp.org>
24370
24371         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
24372         * lib/glob.c: Don't include openat.h.
24373         (link_exists2_p): Add back the code that deals with the
24374         !GLOB_ALTDIRFUNC case.
24375         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
24376         let it do the filename concatenation.
24377         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
24378         * modules/glob (Depends-on): Remove openat.
24379
24380 2007-12-31  Bruno Haible  <bruno@clisp.org>
24381
24382         * modules/dirfd (License): Change to LGPLv2+.
24383         Approved by Jim Meyering.
24384
24385 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
24386
24387         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
24388         when multiplying M by sizeof (size_t).
24389
24390 2007-12-10  Martin Lambers  <marlam@marlam.de>
24391
24392         Override getpagesize on mingw.
24393         * lib/getpagesize.c: New file.
24394         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
24395         * modules/getpagesize (Files): Add lib/getpagesize.c.
24396         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
24397         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24398         REPLACE_GETPAGESIZE.
24399         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
24400
24401 2007-12-25  Bruno Haible  <bruno@clisp.org>
24402
24403         * modules/localcharset (Notice): New field.
24404         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
24405         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
24406
24407 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
24408             Bruno Haible  <bruno@clisp.org>
24409
24410         Avoid using the syntax symbol() in formatted documentation.
24411         * MODULES.html.sh (func_module): When replacing symbol() with a
24412         hyperlink, remove the parentheses. Show an error if some remain.
24413         Recognize and render the '...' syntax.
24414         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
24415         Rework. Add paragraph about GCC's inlining.
24416         * doc/alloca.texi: Likewise.
24417         * doc/error.texi: Remove parentheses from symbol reference.
24418         * doc/gnulib-intro.texi: Likewise.
24419         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
24420         * modules/fnmatch (Description): Reword to say "the ... function".
24421         * modules/full-read (Description): Likewise.
24422         * modules/full-write (Description): Likewise.
24423         * modules/safe-read (Description): Likewise.
24424         * modules/safe-write (Description): Likewise.
24425         * modules/strchrnul (Description): Likewise.
24426         * modules/trim (Description): Likewise.
24427         * modules/error (Description): Remove parentheses from symbol
24428         references.
24429         * modules/verror (Description): Likewise.
24430         Reported by Karl Berry.
24431
24432 2007-12-25  Bruno Haible  <bruno@clisp.org>
24433
24434         Fixup after 2007-10-16 commit.
24435         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
24436
24437 2007-12-24  Bruno Haible  <bruno@clisp.org>
24438
24439         Make --enable-relocatable work with DESTDIR.
24440         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
24441         to compute installdir from destprog.
24442         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
24443         also set the RELOC_DESTDIR variable.
24444         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
24445
24446 2007-12-24  Bruno Haible  <bruno@clisp.org>
24447
24448         Fix link error due to xalloc_die().
24449         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
24450         of xreadlink.
24451         * lib/relocwrapper.c: Update comments.
24452         * build-aux/install-reloc: Remove xreadlink.c from file list.
24453         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
24454         xreadlink.c.
24455         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
24456
24457 2007-12-24  Bruno Haible  <bruno@clisp.org>
24458
24459         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
24460         * lib/setenv.h: Remove file.
24461         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
24462         lib/setenv.h.
24463         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
24464         (Depends-on): Add stdlib.
24465         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
24466         gl_FUNC_UNSETENV.
24467         (Include): Replace setenv.h with <stdlib.h>.
24468         * modules/unsetenv: New file.
24469         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
24470         * lib/unsetenv.c: Include <stdlib.h> first.
24471         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
24472         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
24473         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
24474         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
24475         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
24476         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
24477         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
24478         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
24479         * doc/functions/unsetenv.texi: Update.
24480         * modules/xsetenv (Depends-on): Add unsetenv.
24481         * modules/getdate (Depends-on): Likewise.
24482         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
24483         * lib/xsetenv.c: Don't include setenv.h.
24484         * lib/getdate.y: Likewise.
24485         * lib/relocwrapper.c: Likewise.
24486         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
24487         (Depends-on): Add stdlib.
24488         * NEWS: Mention the changes.
24489         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
24490
24491 2007-12-23  Bruno Haible  <bruno@clisp.org>
24492
24493         * lib/memmem.c (memmem): Use lowercase variable names. Tab
24494         indentation.
24495
24496 2007-12-23  Bruno Haible  <bruno@clisp.org>
24497
24498         * lib/c-strcasestr.c: Add more comments.
24499         * lib/c-strstr.c: Likewise.
24500         * lib/mbscasestr.c: Likewise.
24501         * lib/mbsstr.c: Likewise.
24502         * lib/strcasestr.c: Likewise.
24503         * lib/memmem.c: Likewise.
24504
24505 2007-12-23  Bruno Haible  <bruno@clisp.org>
24506
24507         * tests/test-memmem.c: Include <string.h> first.
24508
24509 2007-12-22  Bruno Haible  <bruno@clisp.org>
24510
24511         * gnulib-tool (func_create_testdir): Change $auxdir while generating
24512         the contents of $testsbase.
24513         Reported by Ralf Wildenhues.
24514
24515 2007-12-22  Bruno Haible  <bruno@clisp.org>
24516
24517         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
24518         two variables local_ldadd_before, local_ldadd_last.
24519
24520 2007-12-20  Eric Blake  <ebb9@byu.net>
24521
24522         Work around circular library issue when cross-compiling.
24523         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
24524         that progname.o does not need to pull in rpl_memcmp.
24525
24526 2007-12-19  Eric Blake  <ebb9@byu.net>
24527
24528         Fix memmem to avoid O(n^2) worst-case complexity.
24529         * lib/memmem.c (knuth_morris_pratt): New function.
24530         (memmem): Use it if first few naive iterations fail.
24531         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
24532         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
24533         * modules/memchr (License): Likewise.
24534         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
24535         malloca.
24536         * tests/test-memmem.c: Rewrite, borrowing ideas from
24537         test-mbsstr1.c; the old version wouldn't even compile!
24538         * modules/memmem-tests: New file.
24539         * lib/string.in.h (rpl_memmem): Add declaration.
24540         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
24541         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
24542         REPLACE_MEMMEM.
24543
24544 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
24545
24546         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
24547         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
24548         before any system include files, and undef after them all.  This
24549         should fix a problem on VMS reported by John E. Malmberg in
24550         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
24551
24552 2007-12-17  Eric Blake  <ebb9@byu.net>
24553
24554         Revert addition of verify, for BSD/OS.
24555         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
24556         can't handle large files, for the sake of obsolete platforms.
24557         * modules/fseeko (Depends-on): Remove verify.
24558         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
24559         * doc/functions/ftello.texi (ftello): Likewise.
24560         * doc/functions/fgetpos.texi (fgetpos): Likewise.
24561         Reported by Larry Jones.
24562
24563 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
24564
24565         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
24566         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
24567
24568 2007-12-17  Jim Meyering  <meyering@redhat.com>
24569
24570         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
24571         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
24572         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
24573         * modules/getcwd (Depends-on): Add openat.
24574         Reported by Petr Salinger.
24575
24576 2007-12-17  Bruno Haible  <bruno@clisp.org>
24577
24578         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
24579         avoid a segmentation fault of the configure test on x86_64 systems.
24580
24581 2007-12-15  Jim Meyering  <meyering@redhat.com>
24582
24583         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
24584
24585 2007-12-13  Eric Blake  <ebb9@byu.net>
24586
24587         Another fseek test.
24588         * tests/test-fseek.c (main): Also test ungetc handling.
24589         * tests/test-fseeko.c (main): Likewise.
24590         * modules/fseeko (Depends-on): Add verify.
24591         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
24592         large.
24593         Reported by Larry Jones.
24594
24595         Fix fseeko on mingw.
24596         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
24597         seek.
24598
24599         Beef up fseek tests.
24600         * tests/test-fseek.c (main): Also test eof handling.
24601         * tests/test-fseeko.c (main): Likewise.
24602         Reported by Larry Jones.
24603
24604 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
24605
24606         Fix fseeko on BSD-based platforms.
24607         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
24608         successful seek.
24609
24610 2007-12-12  Eric Blake  <ebb9@byu.net>
24611
24612         Allow circular dependency of separate libtests.a
24613         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
24614         when use_libtests.
24615
24616 2007-12-11  Eric Blake  <ebb9@byu.net>
24617
24618         Fix bug with -0.0L in previous patch.
24619         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
24620         * tests/test-isnan.c (main): Also test on zeroes.
24621         * tests/test-isnanf.c (main): Likewise.
24622         * tests/test-isnanl.h (main): Likewise.
24623
24624         Detect pseudo-denormals on x86 even when cross-compiling.
24625         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
24626         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
24627         invalid bit patterns that happen to satisfy ==.
24628
24629         Avoid link failures with separate libtests.a.
24630         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
24631         last, to satisfy circular dependencies.
24632
24633 2007-12-11  Eric Blake  <ebb9@byu.net>
24634         and Bruno Haible  <bruno@clisp.org>
24635
24636         Fix OpenBSD 4.0 <float.h> handling of long double.
24637         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
24638         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
24639         * doc/headers/float.texi (float.h): Document OpenBSD bug.
24640
24641 2007-12-11  Jim Meyering  <meyering@redhat.com>
24642
24643         * users.txt: Add libvirt.
24644
24645         Support versions of autoconf prior to 2.59c.
24646         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
24647         if it is not already defined.
24648
24649 2007-12-09  Bruno Haible  <bruno@clisp.org>
24650
24651         Let 'gnulib-tool --import' collect sources needed for the tests in
24652         tests/ rather than in lib/.
24653         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
24654         argument. If true, add rules to generate libtests.a, and put libtests.a
24655         into $(LDADD). Consider source files in subdirectories and set
24656         uses_subdirs.
24657         (func_emit_initmacro_start, func_emit_initmacro_end,
24658         func_emit_initmacro_done): Pass all arguments explicitly.
24659         (func_import): Determine two module lists main_modules,
24660         testsrelated_modules. Determine use_libtests. Determine two variables
24661         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
24662         instead of just sed_transform_lib_file. Determine two variables
24663         main_files and testsrelated_files. Compute 'files' as the union of
24664         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
24665         func_add_or_update. In the generated gnulib-comp.m4, collect the
24666         object files for tests/ in different variables than those for lib/.
24667         Substitute LIBTESTS_LIBDEPS.
24668         (func_create_testdir): Combine the uses_subdirs results from
24669         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
24670
24671 2007-12-09  Bruno Haible  <bruno@clisp.org>
24672
24673         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
24674         the build-aux directory.
24675
24676 2007-12-09  Bruno Haible  <bruno@clisp.org>
24677
24678         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
24679         introduced on 2006-09-09.
24680
24681 2007-12-07  Jim Meyering  <meyering@redhat.com>
24682
24683         Let these macros work also with autoconf-2.59.
24684         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
24685         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
24686         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
24687
24688 2007-12-06  Jim Meyering  <meyering@redhat.com>
24689
24690         Avoid a configure-time syntax error in gl_FUNC_ACL.
24691         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
24692         function in each branch, before testing the cache variable.
24693
24694 2007-12-04  Eric Blake  <ebb9@byu.net>
24695
24696         Make scripts executable.
24697         * build-aux/config.guess: Add execute permissions.
24698         * build-aux/config.sub: Likewise.
24699         * build-aux/gendocs.sh: Likewise.
24700
24701         Fix frexp on mingw.
24702         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
24703         cross-compiling.
24704         * doc/functions/frexp.texi (frexp): Document the bug.
24705
24706         Make cygwin fseeko check more reliable.
24707         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
24708         version numbers, rather than unrelated feature check.
24709         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
24710         * doc/functions/ftello.texi (ftello): Likewise.
24711         Reported by Bruno Haible.
24712
24713         * m4/strerror.m4: Bump version number.
24714
24715 2007-12-03  Bruno Haible  <bruno@clisp.org>
24716
24717         * doc/functions/mprotect.texi: Mention the mingw problem.
24718
24719 2007-12-03  Eric Blake  <ebb9@byu.net>
24720
24721         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
24722         REPLACE_STRERROR is initialized before this macro.
24723
24724 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
24725
24726         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
24727         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
24728         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
24729         put -lsec in even for programs other than 'ls'.  This fixes a problem
24730         for gettext reported by Bruno Haible in
24731         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
24732         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
24733         Add support for Solaris 10.  This isn't efficient, but should get the
24734         job done for now.
24735
24736 2007-12-03  James Youngman  <jay@gnu.org>
24737
24738         * doc/regexprops-generic.texi: change "an close-group" to "a
24739         close-group" and "illegal" to "not allowed".
24740
24741 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24742
24743         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
24744         pr_byname.h. Needed for the rare case when the maintainer has done
24745         "make maintainer-clean" in the source directory and then attempts a
24746         build outside the source directory.
24747         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
24748         scripts_byname.h.
24749
24750 2007-12-02  Martin Lambers <marlam@marlam.de>
24751             Bruno Haible  <bruno@clisp.org>
24752
24753         * lib/getpagesize.h: Remove file.
24754         * lib/unistd.in.h: Include declaration of getpagesize here.
24755         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
24756         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
24757         HAVE_SYS_PARAM_H.
24758         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
24759         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
24760         * modules/getpagesize (Files): Remove lib/getpagesize.h.
24761         (Depends-on): Add unistd.
24762         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
24763         (Include): Use <unistd.h> instead of getpagesize.h.
24764         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
24765         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
24766         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
24767         gl_GETPAGESIZE invocation, already handled by module dependency.
24768         * lib/pagealign_alloc.c: Don't include getpagesize.h.
24769
24770 2007-12-02  Bruno Haible  <bruno@clisp.org>
24771
24772         * modules/strings-tests: New file.
24773         * tests/test-strings.c: New file.
24774
24775         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
24776         * lib/strings.in.h: New file.
24777         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
24778         * m4/strings_h.m4: New file.
24779         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
24780         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
24781         * modules/strings: New file.
24782         * modules/string (Makefile.am): Update.
24783         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
24784         Reported by Karl Berry.
24785
24786 2007-12-01  Eric Blake  <ebb9@byu.net>
24787
24788         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
24789         accomodate fix in cygwin 1.5.25.
24790
24791 2007-12-01  Jim Meyering  <meyering@redhat.com>
24792
24793         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
24794         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
24795         that would inhibit utf8-optimization of a regexp containing line-
24796         or buffer-anchors, e.g., `^', `$'.
24797
24798 2007-11-30  Bruno Haible  <bruno@clisp.org>
24799
24800         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
24801         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
24802         glthread_recursive_lock_init.
24803         * lib/lock.c (glthread_recursive_lock_init)
24804         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
24805         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
24806
24807 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
24808
24809         New function qset_acl, like set_acl but with syscall semantics.
24810         * lib/acl.h (qset_acl): New decl.
24811         * lib/acl.c (qset_acl): New function.
24812         (set_acl): Use new function.  Use more-consistent diagnostics.
24813
24814 2007-11-28  Jim Meyering  <meyering@redhat.com>
24815
24816         * modules/physmem (License): Change from GPL to LGPLv2+.
24817
24818 2007-11-26  Bruno Haible  <bruno@clisp.org>
24819
24820         * lib/vasnprintf.c (decode_long_double): Don't abort if the
24821         'long double' type has excess precision.
24822         Reported by Jim Meyering in
24823         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
24824
24825 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24826
24827         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
24828         Sync from <http://gnu.org/licenses>.
24829         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
24830         with license text from same location.
24831         * doc/maintain.texi, doc/standards.texi:  Sync from
24832         <http://savannah.gnu.org/projects/gnustandards>.
24833
24834 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
24835         and Jim Meyering  <meyering@redhat.com>
24836
24837         Adjust getdate' grammar to accept a slightly more regular language.
24838         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
24839         Before, the former was rejected.
24840         * lib/getdate.y (digits_to_date_time): New function, factored
24841         out of ...
24842         (number): ...here.  Just call digits_to_date_time.
24843         (hybrid): New non-terminal to handle an <unsigned number,
24844         signed relative offset> sequence consistently.
24845
24846 2007-11-18  Jim Meyering  <meyering@redhat.com>
24847
24848         Pull my changes from coreutils:
24849         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
24850         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
24851         use of $gnulib_tool_option_extras, so that it's separated from the
24852         preceding argument.
24853
24854         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
24855         * build-aux/bootstrap (cp_mark_as_generated): Create any required
24856         parent destination directories before copying a file into place.
24857
24858 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
24859
24860         bootstrap: work also with 4-argument variant of AC_INIT
24861         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
24862
24863 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
24864
24865         Port test-getaddrinfo to Solaris.
24866         Problem reported by Bruno Haible in
24867         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
24868         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
24869         explanation of setting 'hints'.
24870         Don't reject an implementation merely because it returns EAI_SERVICE.
24871         (EAI_SERVICE): Define to 0 if not defined.
24872
24873 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
24874
24875         The license of gnu-make and posix-shell is now "GPLed build tool".
24876         * modules/gnu-make (License): Likewise.
24877         * modules/posix-shell (License): Likewise.
24878
24879         New module posix-shell, for determining a POSIX shell
24880         or perhaps something that is close enough to a POSIX shell.
24881         * m4/posix-shell.m4: New file.
24882         * modules/posix-shell: New file.
24883
24884         * MODULES.html.sh: Mention new module.
24885
24886         New module gnu-make, for determining whether we're using GNU Make.
24887         * m4/gnu-make.m4: New file.
24888         * modules/gnu-make: New file.
24889         * MODULES.html.sh: Mention new module.
24890
24891 2007-11-14  Jim Meyering  <meyering@redhat.com>
24892
24893         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
24894         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
24895         use this macro to create a function _definition_.
24896         Remove useless "#undef ARGMATCH_DIE".
24897
24898 2007-11-14  Bruno Haible  <bruno@clisp.org>
24899
24900         * lib/config.charset: Update for OpenBSD 4.1.
24901         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
24902
24903 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
24904
24905         Document 64-bit #if problems in stdint.texi.
24906         * doc/headers/stdint.texi (stdint.h): Mention problems with
24907         64-bit-#if, and how to work around them.
24908
24909         Don't insist on 'long long int' support in the preprocessor.  It
24910         breaks too many things.  For example, PRIdMAX still uses a 'long
24911         long int' format with the latest Sun compiler, even though
24912         HAVE_LONG_LONG_INT isn't defined due to that compiler's
24913         preprocessor problem.  This causes the latest coreutils to dump
24914         core on Solaris 10 sparc with the Sun C compiler.
24915         Instead, fix the 2007-10-16 problem in a different way, by evaluating
24916         the troublesome expressions at configure-time, not at #if-time.
24917         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
24918         preprocessor.
24919         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
24920         compile-time C checks, done at 'configure'-time.
24921         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
24922         * modules/inttypes (Makefile): Substitute the new symbols that
24923         gl_INTTYPES_H now generates.
24924         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
24925
24926 2007-11-12  Bruno Haible  <bruno@clisp.org>
24927
24928         Tests for Unicode character classification functions.
24929
24930         * modules/unictype/bidicategory-byname-tests: New file.
24931         * modules/unictype/bidicategory-name-tests: New file.
24932         * modules/unictype/bidicategory-of-tests: New file.
24933         * modules/unictype/bidicategory-test-tests: New file.
24934         * modules/unictype/block-list-tests: New file.
24935         * modules/unictype/block-of-tests: New file.
24936         * modules/unictype/block-test-tests: New file.
24937         * modules/unictype/category-C-tests: New file.
24938         * modules/unictype/category-Cc-tests: New file.
24939         * modules/unictype/category-Cf-tests: New file.
24940         * modules/unictype/category-Cn-tests: New file.
24941         * modules/unictype/category-Co-tests: New file.
24942         * modules/unictype/category-Cs-tests: New file.
24943         * modules/unictype/category-L-tests: New file.
24944         * modules/unictype/category-Ll-tests: New file.
24945         * modules/unictype/category-Lm-tests: New file.
24946         * modules/unictype/category-Lo-tests: New file.
24947         * modules/unictype/category-Lt-tests: New file.
24948         * modules/unictype/category-Lu-tests: New file.
24949         * modules/unictype/category-M-tests: New file.
24950         * modules/unictype/category-Mc-tests: New file.
24951         * modules/unictype/category-Me-tests: New file.
24952         * modules/unictype/category-Mn-tests: New file.
24953         * modules/unictype/category-N-tests: New file.
24954         * modules/unictype/category-Nd-tests: New file.
24955         * modules/unictype/category-Nl-tests: New file.
24956         * modules/unictype/category-No-tests: New file.
24957         * modules/unictype/category-P-tests: New file.
24958         * modules/unictype/category-Pc-tests: New file.
24959         * modules/unictype/category-Pd-tests: New file.
24960         * modules/unictype/category-Pe-tests: New file.
24961         * modules/unictype/category-Pf-tests: New file.
24962         * modules/unictype/category-Pi-tests: New file.
24963         * modules/unictype/category-Po-tests: New file.
24964         * modules/unictype/category-Ps-tests: New file.
24965         * modules/unictype/category-S-tests: New file.
24966         * modules/unictype/category-Sc-tests: New file.
24967         * modules/unictype/category-Sk-tests: New file.
24968         * modules/unictype/category-Sm-tests: New file.
24969         * modules/unictype/category-So-tests: New file.
24970         * modules/unictype/category-Z-tests: New file.
24971         * modules/unictype/category-Zl-tests: New file.
24972         * modules/unictype/category-Zp-tests: New file.
24973         * modules/unictype/category-Zs-tests: New file.
24974         * modules/unictype/category-and-not-tests: New file.
24975         * modules/unictype/category-and-tests: New file.
24976         * modules/unictype/category-byname-tests: New file.
24977         * modules/unictype/category-name-tests: New file.
24978         * modules/unictype/category-none-tests: New file.
24979         * modules/unictype/category-of-tests: New file.
24980         * modules/unictype/category-or-tests: New file.
24981         * modules/unictype/category-test-withtable-tests: New file.
24982         * modules/unictype/combining-class-tests: New file.
24983         * modules/unictype/ctype-alnum-tests: New file.
24984         * modules/unictype/ctype-alpha-tests: New file.
24985         * modules/unictype/ctype-blank-tests: New file.
24986         * modules/unictype/ctype-cntrl-tests: New file.
24987         * modules/unictype/ctype-digit-tests: New file.
24988         * modules/unictype/ctype-graph-tests: New file.
24989         * modules/unictype/ctype-lower-tests: New file.
24990         * modules/unictype/ctype-print-tests: New file.
24991         * modules/unictype/ctype-punct-tests: New file.
24992         * modules/unictype/ctype-space-tests: New file.
24993         * modules/unictype/ctype-upper-tests: New file.
24994         * modules/unictype/ctype-xdigit-tests: New file.
24995         * modules/unictype/decimal-digit-tests: New file.
24996         * modules/unictype/digit-tests: New file.
24997         * modules/unictype/mirror-tests: New file.
24998         * modules/unictype/numeric-tests: New file.
24999         * modules/unictype/property-alphabetic-tests: New file.
25000         * modules/unictype/property-ascii-hex-digit-tests: New file.
25001         * modules/unictype/property-bidi-arabic-digit-tests: New file.
25002         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
25003         * modules/unictype/property-bidi-block-separator-tests: New file.
25004         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
25005         * modules/unictype/property-bidi-common-separator-tests: New file.
25006         * modules/unictype/property-bidi-control-tests: New file.
25007         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
25008         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
25009         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
25010         * modules/unictype/property-bidi-european-digit-tests: New file.
25011         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
25012         * modules/unictype/property-bidi-left-to-right-tests: New file.
25013         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
25014         * modules/unictype/property-bidi-other-neutral-tests: New file.
25015         * modules/unictype/property-bidi-pdf-tests: New file.
25016         * modules/unictype/property-bidi-segment-separator-tests: New file.
25017         * modules/unictype/property-bidi-whitespace-tests: New file.
25018         * modules/unictype/property-byname-tests: New file.
25019         * modules/unictype/property-combining-tests: New file.
25020         * modules/unictype/property-composite-tests: New file.
25021         * modules/unictype/property-currency-symbol-tests: New file.
25022         * modules/unictype/property-dash-tests: New file.
25023         * modules/unictype/property-decimal-digit-tests: New file.
25024         * modules/unictype/property-default-ignorable-code-point-tests: New file.
25025         * modules/unictype/property-deprecated-tests: New file.
25026         * modules/unictype/property-diacritic-tests: New file.
25027         * modules/unictype/property-extender-tests: New file.
25028         * modules/unictype/property-format-control-tests: New file.
25029         * modules/unictype/property-grapheme-base-tests: New file.
25030         * modules/unictype/property-grapheme-extend-tests: New file.
25031         * modules/unictype/property-grapheme-link-tests: New file.
25032         * modules/unictype/property-hex-digit-tests: New file.
25033         * modules/unictype/property-hyphen-tests: New file.
25034         * modules/unictype/property-id-continue-tests: New file.
25035         * modules/unictype/property-id-start-tests: New file.
25036         * modules/unictype/property-ideographic-tests: New file.
25037         * modules/unictype/property-ids-binary-operator-tests: New file.
25038         * modules/unictype/property-ids-trinary-operator-tests: New file.
25039         * modules/unictype/property-ignorable-control-tests: New file.
25040         * modules/unictype/property-iso-control-tests: New file.
25041         * modules/unictype/property-join-control-tests: New file.
25042         * modules/unictype/property-left-of-pair-tests: New file.
25043         * modules/unictype/property-line-separator-tests: New file.
25044         * modules/unictype/property-logical-order-exception-tests: New file.
25045         * modules/unictype/property-lowercase-tests: New file.
25046         * modules/unictype/property-math-tests: New file.
25047         * modules/unictype/property-non-break-tests: New file.
25048         * modules/unictype/property-not-a-character-tests: New file.
25049         * modules/unictype/property-numeric-tests: New file.
25050         * modules/unictype/property-other-alphabetic-tests: New file.
25051         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
25052         * modules/unictype/property-other-grapheme-extend-tests: New file.
25053         * modules/unictype/property-other-id-continue-tests: New file.
25054         * modules/unictype/property-other-id-start-tests: New file.
25055         * modules/unictype/property-other-lowercase-tests: New file.
25056         * modules/unictype/property-other-math-tests: New file.
25057         * modules/unictype/property-other-uppercase-tests: New file.
25058         * modules/unictype/property-paired-punctuation-tests: New file.
25059         * modules/unictype/property-paragraph-separator-tests: New file.
25060         * modules/unictype/property-pattern-syntax-tests: New file.
25061         * modules/unictype/property-pattern-white-space-tests: New file.
25062         * modules/unictype/property-private-use-tests: New file.
25063         * modules/unictype/property-punctuation-tests: New file.
25064         * modules/unictype/property-quotation-mark-tests: New file.
25065         * modules/unictype/property-radical-tests: New file.
25066         * modules/unictype/property-sentence-terminal-tests: New file.
25067         * modules/unictype/property-soft-dotted-tests: New file.
25068         * modules/unictype/property-space-tests: New file.
25069         * modules/unictype/property-terminal-punctuation-tests: New file.
25070         * modules/unictype/property-test-tests: New file.
25071         * modules/unictype/property-titlecase-tests: New file.
25072         * modules/unictype/property-unassigned-code-value-tests: New file.
25073         * modules/unictype/property-unified-ideograph-tests: New file.
25074         * modules/unictype/property-uppercase-tests: New file.
25075         * modules/unictype/property-variation-selector-tests: New file.
25076         * modules/unictype/property-white-space-tests: New file.
25077         * modules/unictype/property-xid-continue-tests: New file.
25078         * modules/unictype/property-xid-start-tests: New file.
25079         * modules/unictype/property-zero-width-tests: New file.
25080         * modules/unictype/scripts-tests: New file.
25081         * modules/unictype/syntax-c-ident-tests: New file.
25082         * modules/unictype/syntax-c-whitespace-tests: New file.
25083         * modules/unictype/syntax-java-ident-tests: New file.
25084         * modules/unictype/syntax-java-whitespace-tests: New file.
25085         * tests/unictype/test-bidi_byname.c: New file.
25086         * tests/unictype/test-bidi_name.c: New file.
25087         * tests/unictype/test-bidi_of.c: New file.
25088         * tests/unictype/test-bidi_test.c: New file.
25089         * tests/unictype/test-block_list.c: New file.
25090         * tests/unictype/test-block_of.c: New file.
25091         * tests/unictype/test-block_test.c: New file.
25092         * tests/unictype/test-categ_and.c: New file.
25093         * tests/unictype/test-categ_and_not.c: New file.
25094         * tests/unictype/test-categ_byname.c: New file.
25095         * tests/unictype/test-categ_name.c: New file.
25096         * tests/unictype/test-categ_none.c: New file.
25097         * tests/unictype/test-categ_of.c: New file.
25098         * tests/unictype/test-categ_or.c: New file.
25099         * tests/unictype/test-categ_test_withtable.c: New file.
25100         * tests/unictype/test-combining.c: New file.
25101         * tests/unictype/test-decdigit.c: New file.
25102         * tests/unictype/test-digit.c: New file.
25103         * tests/unictype/test-mirror.c: New file.
25104         * tests/unictype/test-numeric.c: New file.
25105         * tests/unictype/test-pr_byname.c: New file.
25106         * tests/unictype/test-pr_test.c: New file.
25107         * tests/unictype/test-predicate-part1.h: New file.
25108         * tests/unictype/test-predicate-part2.h: New file.
25109         * tests/unictype/test-scripts.c: New file.
25110         * tests/unictype/test-sy_c_ident.c: New file.
25111         * tests/unictype/test-sy_java_ident.c: New file.
25112
25113         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
25114         for Unicode 5.0.0.
25115         * tests/unictype/test-categ_Cc.c: Likewise.
25116         * tests/unictype/test-categ_Cf.c: Likewise.
25117         * tests/unictype/test-categ_Cn.c: Likewise.
25118         * tests/unictype/test-categ_Co.c: Likewise.
25119         * tests/unictype/test-categ_Cs.c: Likewise.
25120         * tests/unictype/test-categ_L.c: Likewise.
25121         * tests/unictype/test-categ_Ll.c: Likewise.
25122         * tests/unictype/test-categ_Lm.c: Likewise.
25123         * tests/unictype/test-categ_Lo.c: Likewise.
25124         * tests/unictype/test-categ_Lt.c: Likewise.
25125         * tests/unictype/test-categ_Lu.c: Likewise.
25126         * tests/unictype/test-categ_M.c: Likewise.
25127         * tests/unictype/test-categ_Mc.c: Likewise.
25128         * tests/unictype/test-categ_Me.c: Likewise.
25129         * tests/unictype/test-categ_Mn.c: Likewise.
25130         * tests/unictype/test-categ_N.c: Likewise.
25131         * tests/unictype/test-categ_Nd.c: Likewise.
25132         * tests/unictype/test-categ_Nl.c: Likewise.
25133         * tests/unictype/test-categ_No.c: Likewise.
25134         * tests/unictype/test-categ_P.c: Likewise.
25135         * tests/unictype/test-categ_Pc.c: Likewise.
25136         * tests/unictype/test-categ_Pd.c: Likewise.
25137         * tests/unictype/test-categ_Pe.c: Likewise.
25138         * tests/unictype/test-categ_Pf.c: Likewise.
25139         * tests/unictype/test-categ_Pi.c: Likewise.
25140         * tests/unictype/test-categ_Po.c: Likewise.
25141         * tests/unictype/test-categ_Ps.c: Likewise.
25142         * tests/unictype/test-categ_S.c: Likewise.
25143         * tests/unictype/test-categ_Sc.c: Likewise.
25144         * tests/unictype/test-categ_Sk.c: Likewise.
25145         * tests/unictype/test-categ_Sm.c: Likewise.
25146         * tests/unictype/test-categ_So.c: Likewise.
25147         * tests/unictype/test-categ_Z.c: Likewise.
25148         * tests/unictype/test-categ_Zl.c: Likewise.
25149         * tests/unictype/test-categ_Zp.c: Likewise.
25150         * tests/unictype/test-categ_Zs.c: Likewise.
25151         * tests/unictype/test-ctype_alnum.c: Likewise.
25152         * tests/unictype/test-ctype_alpha.c: Likewise.
25153         * tests/unictype/test-ctype_blank.c: Likewise.
25154         * tests/unictype/test-ctype_cntrl.c: Likewise.
25155         * tests/unictype/test-ctype_digit.c: Likewise.
25156         * tests/unictype/test-ctype_graph.c: Likewise.
25157         * tests/unictype/test-ctype_lower.c: Likewise.
25158         * tests/unictype/test-ctype_print.c: Likewise.
25159         * tests/unictype/test-ctype_punct.c: Likewise.
25160         * tests/unictype/test-ctype_space.c: Likewise.
25161         * tests/unictype/test-ctype_upper.c: Likewise.
25162         * tests/unictype/test-ctype_xdigit.c: Likewise.
25163         * tests/unictype/test-decdigit.h: Likewise.
25164         * tests/unictype/test-digit.h: Likewise.
25165         * tests/unictype/test-numeric.h: Likewise.
25166         * tests/unictype/test-pr_alphabetic.c: Likewise.
25167         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
25168         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
25169         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
25170         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
25171         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
25172         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
25173         * tests/unictype/test-pr_bidi_control.c: Likewise.
25174         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
25175         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
25176         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
25177         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
25178         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
25179         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
25180         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
25181         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
25182         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
25183         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
25184         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
25185         * tests/unictype/test-pr_combining.c: Likewise.
25186         * tests/unictype/test-pr_composite.c: Likewise.
25187         * tests/unictype/test-pr_currency_symbol.c: Likewise.
25188         * tests/unictype/test-pr_dash.c: Likewise.
25189         * tests/unictype/test-pr_decimal_digit.c: Likewise.
25190         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
25191         * tests/unictype/test-pr_deprecated.c: Likewise.
25192         * tests/unictype/test-pr_diacritic.c: Likewise.
25193         * tests/unictype/test-pr_extender.c: Likewise.
25194         * tests/unictype/test-pr_format_control.c: Likewise.
25195         * tests/unictype/test-pr_grapheme_base.c: Likewise.
25196         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
25197         * tests/unictype/test-pr_grapheme_link.c: Likewise.
25198         * tests/unictype/test-pr_hex_digit.c: Likewise.
25199         * tests/unictype/test-pr_hyphen.c: Likewise.
25200         * tests/unictype/test-pr_id_continue.c: Likewise.
25201         * tests/unictype/test-pr_id_start.c: Likewise.
25202         * tests/unictype/test-pr_ideographic.c: Likewise.
25203         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
25204         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
25205         * tests/unictype/test-pr_ignorable_control.c: Likewise.
25206         * tests/unictype/test-pr_iso_control.c: Likewise.
25207         * tests/unictype/test-pr_join_control.c: Likewise.
25208         * tests/unictype/test-pr_left_of_pair.c: Likewise.
25209         * tests/unictype/test-pr_line_separator.c: Likewise.
25210         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
25211         * tests/unictype/test-pr_lowercase.c: Likewise.
25212         * tests/unictype/test-pr_math.c: Likewise.
25213         * tests/unictype/test-pr_non_break.c: Likewise.
25214         * tests/unictype/test-pr_not_a_character.c: Likewise.
25215         * tests/unictype/test-pr_numeric.c: Likewise.
25216         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
25217         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
25218         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
25219         * tests/unictype/test-pr_other_id_continue.c: Likewise.
25220         * tests/unictype/test-pr_other_id_start.c: Likewise.
25221         * tests/unictype/test-pr_other_lowercase.c: Likewise.
25222         * tests/unictype/test-pr_other_math.c: Likewise.
25223         * tests/unictype/test-pr_other_uppercase.c: Likewise.
25224         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
25225         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
25226         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
25227         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
25228         * tests/unictype/test-pr_private_use.c: Likewise.
25229         * tests/unictype/test-pr_punctuation.c: Likewise.
25230         * tests/unictype/test-pr_quotation_mark.c: Likewise.
25231         * tests/unictype/test-pr_radical.c: Likewise.
25232         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
25233         * tests/unictype/test-pr_soft_dotted.c: Likewise.
25234         * tests/unictype/test-pr_space.c: Likewise.
25235         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
25236         * tests/unictype/test-pr_titlecase.c: Likewise.
25237         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
25238         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
25239         * tests/unictype/test-pr_uppercase.c: Likewise.
25240         * tests/unictype/test-pr_variation_selector.c: Likewise.
25241         * tests/unictype/test-pr_white_space.c: Likewise.
25242         * tests/unictype/test-pr_xid_continue.c: Likewise.
25243         * tests/unictype/test-pr_xid_start.c: Likewise.
25244         * tests/unictype/test-pr_zero_width.c: Likewise.
25245         * tests/unictype/test-sy_c_whitespace.c: Likewise.
25246         * tests/unictype/test-sy_java_whitespace.c: Likewise.
25247
25248 2007-11-12  Bruno Haible  <bruno@clisp.org>
25249
25250         Unicode character classification functions.
25251         * lib/unictype.h: New file.
25252         * modules/unictype/base: New file.
25253         * modules/unictype/category-L: New file.
25254         * modules/unictype/category-Lu: New file.
25255         * modules/unictype/category-Ll: New file.
25256         * modules/unictype/category-Lt: New file.
25257         * modules/unictype/category-Lm: New file.
25258         * modules/unictype/category-Lo: New file.
25259         * modules/unictype/category-M: New file.
25260         * modules/unictype/category-Mn: New file.
25261         * modules/unictype/category-Mc: New file.
25262         * modules/unictype/category-Me: New file.
25263         * modules/unictype/category-N: New file.
25264         * modules/unictype/category-Nd: New file.
25265         * modules/unictype/category-Nl: New file.
25266         * modules/unictype/category-No: New file.
25267         * modules/unictype/category-P: New file.
25268         * modules/unictype/category-Pc: New file.
25269         * modules/unictype/category-Pd: New file.
25270         * modules/unictype/category-Ps: New file.
25271         * modules/unictype/category-Pe: New file.
25272         * modules/unictype/category-Pi: New file.
25273         * modules/unictype/category-Pf: New file.
25274         * modules/unictype/category-Po: New file.
25275         * modules/unictype/category-S: New file.
25276         * modules/unictype/category-Sm: New file.
25277         * modules/unictype/category-Sc: New file.
25278         * modules/unictype/category-Sk: New file.
25279         * modules/unictype/category-So: New file.
25280         * modules/unictype/category-Z: New file.
25281         * modules/unictype/category-Zs: New file.
25282         * modules/unictype/category-Zl: New file.
25283         * modules/unictype/category-Zp: New file.
25284         * modules/unictype/category-C: New file.
25285         * modules/unictype/category-Cc: New file.
25286         * modules/unictype/category-Cf: New file.
25287         * modules/unictype/category-Cs: New file.
25288         * modules/unictype/category-Co: New file.
25289         * modules/unictype/category-Cn: New file.
25290         * modules/unictype/category-or: New file.
25291         * modules/unictype/category-of: New file.
25292         * modules/unictype/category-test: New file.
25293         * modules/unictype/category-test-withtable: New file.
25294         * modules/unictype/category-byname: New file.
25295         * modules/unictype/category-none: New file.
25296         * modules/unictype/category-and: New file.
25297         * modules/unictype/category-and-not: New file.
25298         * modules/unictype/category-name: New file.
25299         * modules/unictype/combining-class: New file.
25300         * modules/unictype/category-all: New file.
25301         * modules/unictype/bidicategory-all: New file.
25302         * modules/unictype/bidicategory-byname: New file.
25303         * modules/unictype/bidicategory-name: New file.
25304         * modules/unictype/bidicategory-of: New file.
25305         * modules/unictype/bidicategory-test: New file.
25306         * modules/unictype/decimal-digit: New file.
25307         * modules/unictype/digit: New file.
25308         * modules/unictype/numeric: New file.
25309         * modules/unictype/mirror: New file.
25310         * modules/unictype/property-white-space: New file.
25311         * modules/unictype/property-alphabetic: New file.
25312         * modules/unictype/property-other-alphabetic: New file.
25313         * modules/unictype/property-not-a-character: New file.
25314         * modules/unictype/property-default-ignorable-code-point: New file.
25315         * modules/unictype/property-other-default-ignorable-code-point: New
25316         file.
25317         * modules/unictype/property-deprecated: New file.
25318         * modules/unictype/property-logical-order-exception: New file.
25319         * modules/unictype/property-variation-selector: New file.
25320         * modules/unictype/property-private-use: New file.
25321         * modules/unictype/property-unassigned-code-value: New file.
25322         * modules/unictype/property-uppercase: New file.
25323         * modules/unictype/property-other-uppercase: New file.
25324         * modules/unictype/property-lowercase: New file.
25325         * modules/unictype/property-other-lowercase: New file.
25326         * modules/unictype/property-titlecase: New file.
25327         * modules/unictype/property-soft-dotted: New file.
25328         * modules/unictype/property-id-start: New file.
25329         * modules/unictype/property-other-id-start: New file.
25330         * modules/unictype/property-id-continue: New file.
25331         * modules/unictype/property-other-id-continue: New file.
25332         * modules/unictype/property-xid-start: New file.
25333         * modules/unictype/property-xid-continue: New file.
25334         * modules/unictype/property-pattern-white-space: New file.
25335         * modules/unictype/property-pattern-syntax: New file.
25336         * modules/unictype/property-join-control: New file.
25337         * modules/unictype/property-grapheme-base: New file.
25338         * modules/unictype/property-grapheme-extend: New file.
25339         * modules/unictype/property-other-grapheme-extend: New file.
25340         * modules/unictype/property-grapheme-link: New file.
25341         * modules/unictype/property-bidi-control: New file.
25342         * modules/unictype/property-bidi-left-to-right: New file.
25343         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
25344         * modules/unictype/property-bidi-arabic-right-to-left: New file.
25345         * modules/unictype/property-bidi-european-digit: New file.
25346         * modules/unictype/property-bidi-eur-num-separator: New file.
25347         * modules/unictype/property-bidi-eur-num-terminator: New file.
25348         * modules/unictype/property-bidi-arabic-digit: New file.
25349         * modules/unictype/property-bidi-common-separator: New file.
25350         * modules/unictype/property-bidi-block-separator: New file.
25351         * modules/unictype/property-bidi-segment-separator: New file.
25352         * modules/unictype/property-bidi-whitespace: New file.
25353         * modules/unictype/property-bidi-non-spacing-mark: New file.
25354         * modules/unictype/property-bidi-boundary-neutral: New file.
25355         * modules/unictype/property-bidi-pdf: New file.
25356         * modules/unictype/property-bidi-embedding-or-override: New file.
25357         * modules/unictype/property-bidi-other-neutral: New file.
25358         * modules/unictype/property-hex-digit: New file.
25359         * modules/unictype/property-ascii-hex-digit: New file.
25360         * modules/unictype/property-ideographic: New file.
25361         * modules/unictype/property-unified-ideograph: New file.
25362         * modules/unictype/property-radical: New file.
25363         * modules/unictype/property-ids-binary-operator: New file.
25364         * modules/unictype/property-ids-trinary-operator: New file.
25365         * modules/unictype/property-zero-width: New file.
25366         * modules/unictype/property-space: New file.
25367         * modules/unictype/property-non-break: New file.
25368         * modules/unictype/property-iso-control: New file.
25369         * modules/unictype/property-format-control: New file.
25370         * modules/unictype/property-dash: New file.
25371         * modules/unictype/property-hyphen: New file.
25372         * modules/unictype/property-punctuation: New file.
25373         * modules/unictype/property-line-separator: New file.
25374         * modules/unictype/property-paragraph-separator: New file.
25375         * modules/unictype/property-quotation-mark: New file.
25376         * modules/unictype/property-sentence-terminal: New file.
25377         * modules/unictype/property-terminal-punctuation: New file.
25378         * modules/unictype/property-currency-symbol: New file.
25379         * modules/unictype/property-math: New file.
25380         * modules/unictype/property-other-math: New file.
25381         * modules/unictype/property-paired-punctuation: New file.
25382         * modules/unictype/property-left-of-pair: New file.
25383         * modules/unictype/property-combining: New file.
25384         * modules/unictype/property-composite: New file.
25385         * modules/unictype/property-decimal-digit: New file.
25386         * modules/unictype/property-numeric: New file.
25387         * modules/unictype/property-diacritic: New file.
25388         * modules/unictype/property-extender: New file.
25389         * modules/unictype/property-ignorable-control: New file.
25390         * modules/unictype/property-test: New file.
25391         * modules/unictype/property-byname: New file.
25392         * modules/unictype/property-all: New file.
25393         * modules/unictype/scripts: New file.
25394         * modules/unictype/scripts-all: New file.
25395         * modules/unictype/block-of: New file.
25396         * modules/unictype/block-test: New file.
25397         * modules/unictype/block-list: New file.
25398         * modules/unictype/block-all: New file.
25399         * modules/unictype/syntax-c-whitespace: New file.
25400         * modules/unictype/syntax-java-whitespace: New file.
25401         * modules/unictype/syntax-c-ident: New file.
25402         * modules/unictype/syntax-java-ident: New file.
25403         * modules/unictype/ctype-alnum: New file.
25404         * modules/unictype/ctype-alpha: New file.
25405         * modules/unictype/ctype-cntrl: New file.
25406         * modules/unictype/ctype-digit: New file.
25407         * modules/unictype/ctype-graph: New file.
25408         * modules/unictype/ctype-lower: New file.
25409         * modules/unictype/ctype-print: New file.
25410         * modules/unictype/ctype-punct: New file.
25411         * modules/unictype/ctype-space: New file.
25412         * modules/unictype/ctype-upper: New file.
25413         * modules/unictype/ctype-xdigit: New file.
25414         * modules/unictype/ctype-blank: New file.
25415         * lib/unictype/bidi_byname.c: New file.
25416         * lib/unictype/bidi_name.c: New file.
25417         * lib/unictype/bidi_of.c: New file.
25418         * lib/unictype/bidi_test.c: New file.
25419         * lib/unictype/bitmap.h: New file.
25420         * lib/unictype/block_test.c: New file.
25421         * lib/unictype/blocks.c: New file.
25422         * lib/unictype/categ_C.c: New file.
25423         * lib/unictype/categ_Cc.c: New file.
25424         * lib/unictype/categ_Cf.c: New file.
25425         * lib/unictype/categ_Cn.c: New file.
25426         * lib/unictype/categ_Co.c: New file.
25427         * lib/unictype/categ_Cs.c: New file.
25428         * lib/unictype/categ_L.c: New file.
25429         * lib/unictype/categ_Ll.c: New file.
25430         * lib/unictype/categ_Lm.c: New file.
25431         * lib/unictype/categ_Lo.c: New file.
25432         * lib/unictype/categ_Lt.c: New file.
25433         * lib/unictype/categ_Lu.c: New file.
25434         * lib/unictype/categ_M.c: New file.
25435         * lib/unictype/categ_Mc.c: New file.
25436         * lib/unictype/categ_Me.c: New file.
25437         * lib/unictype/categ_Mn.c: New file.
25438         * lib/unictype/categ_N.c: New file.
25439         * lib/unictype/categ_Nd.c: New file.
25440         * lib/unictype/categ_Nl.c: New file.
25441         * lib/unictype/categ_No.c: New file.
25442         * lib/unictype/categ_P.c: New file.
25443         * lib/unictype/categ_Pc.c: New file.
25444         * lib/unictype/categ_Pd.c: New file.
25445         * lib/unictype/categ_Pe.c: New file.
25446         * lib/unictype/categ_Pf.c: New file.
25447         * lib/unictype/categ_Pi.c: New file.
25448         * lib/unictype/categ_Po.c: New file.
25449         * lib/unictype/categ_Ps.c: New file.
25450         * lib/unictype/categ_S.c: New file.
25451         * lib/unictype/categ_Sc.c: New file.
25452         * lib/unictype/categ_Sk.c: New file.
25453         * lib/unictype/categ_Sm.c: New file.
25454         * lib/unictype/categ_So.c: New file.
25455         * lib/unictype/categ_Z.c: New file.
25456         * lib/unictype/categ_Zl.c: New file.
25457         * lib/unictype/categ_Zp.c: New file.
25458         * lib/unictype/categ_Zs.c: New file.
25459         * lib/unictype/categ_and.c: New file.
25460         * lib/unictype/categ_and_not.c: New file.
25461         * lib/unictype/categ_byname.c: New file.
25462         * lib/unictype/categ_name.c: New file.
25463         * lib/unictype/categ_none.c: New file.
25464         * lib/unictype/categ_of.c: New file.
25465         * lib/unictype/categ_or.c: New file.
25466         * lib/unictype/categ_test.c: New file.
25467         * lib/unictype/combining.c: New file.
25468         * lib/unictype/ctype_alnum.c: New file.
25469         * lib/unictype/ctype_alpha.c: New file.
25470         * lib/unictype/ctype_blank.c: New file.
25471         * lib/unictype/ctype_cntrl.c: New file.
25472         * lib/unictype/ctype_digit.c: New file.
25473         * lib/unictype/ctype_graph.c: New file.
25474         * lib/unictype/ctype_lower.c: New file.
25475         * lib/unictype/ctype_print.c: New file.
25476         * lib/unictype/ctype_punct.c: New file.
25477         * lib/unictype/ctype_space.c: New file.
25478         * lib/unictype/ctype_upper.c: New file.
25479         * lib/unictype/ctype_xdigit.c: New file.
25480         * lib/unictype/decdigit.c: New file.
25481         * lib/unictype/digit.c: New file.
25482         * lib/unictype/identsyntaxmap.h: New file.
25483         * lib/unictype/mirror.c: New file.
25484         * lib/unictype/numeric.c: New file.
25485         * lib/unictype/pr_alphabetic.c: New file.
25486         * lib/unictype/pr_ascii_hex_digit.c: New file.
25487         * lib/unictype/pr_bidi_arabic_digit.c: New file.
25488         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
25489         * lib/unictype/pr_bidi_block_separator.c: New file.
25490         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
25491         * lib/unictype/pr_bidi_common_separator.c: New file.
25492         * lib/unictype/pr_bidi_control.c: New file.
25493         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
25494         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
25495         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
25496         * lib/unictype/pr_bidi_european_digit.c: New file.
25497         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
25498         * lib/unictype/pr_bidi_left_to_right.c: New file.
25499         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
25500         * lib/unictype/pr_bidi_other_neutral.c: New file.
25501         * lib/unictype/pr_bidi_pdf.c: New file.
25502         * lib/unictype/pr_bidi_segment_separator.c: New file.
25503         * lib/unictype/pr_bidi_whitespace.c: New file.
25504         * lib/unictype/pr_byname.c: New file.
25505         * lib/unictype/pr_byname.gperf: New file.
25506         * lib/unictype/pr_combining.c: New file.
25507         * lib/unictype/pr_composite.c: New file.
25508         * lib/unictype/pr_currency_symbol.c: New file.
25509         * lib/unictype/pr_dash.c: New file.
25510         * lib/unictype/pr_decimal_digit.c: New file.
25511         * lib/unictype/pr_default_ignorable_code_point.c: New file.
25512         * lib/unictype/pr_deprecated.c: New file.
25513         * lib/unictype/pr_diacritic.c: New file.
25514         * lib/unictype/pr_extender.c: New file.
25515         * lib/unictype/pr_format_control.c: New file.
25516         * lib/unictype/pr_grapheme_base.c: New file.
25517         * lib/unictype/pr_grapheme_extend.c: New file.
25518         * lib/unictype/pr_grapheme_link.c: New file.
25519         * lib/unictype/pr_hex_digit.c: New file.
25520         * lib/unictype/pr_hyphen.c: New file.
25521         * lib/unictype/pr_id_continue.c: New file.
25522         * lib/unictype/pr_id_start.c: New file.
25523         * lib/unictype/pr_ideographic.c: New file.
25524         * lib/unictype/pr_ids_binary_operator.c: New file.
25525         * lib/unictype/pr_ids_trinary_operator.c: New file.
25526         * lib/unictype/pr_ignorable_control.c: New file.
25527         * lib/unictype/pr_iso_control.c: New file.
25528         * lib/unictype/pr_join_control.c: New file.
25529         * lib/unictype/pr_left_of_pair.c: New file.
25530         * lib/unictype/pr_line_separator.c: New file.
25531         * lib/unictype/pr_logical_order_exception.c: New file.
25532         * lib/unictype/pr_lowercase.c: New file.
25533         * lib/unictype/pr_math.c: New file.
25534         * lib/unictype/pr_non_break.c: New file.
25535         * lib/unictype/pr_not_a_character.c: New file.
25536         * lib/unictype/pr_numeric.c: New file.
25537         * lib/unictype/pr_other_alphabetic.c: New file.
25538         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
25539         * lib/unictype/pr_other_grapheme_extend.c: New file.
25540         * lib/unictype/pr_other_id_continue.c: New file.
25541         * lib/unictype/pr_other_id_start.c: New file.
25542         * lib/unictype/pr_other_lowercase.c: New file.
25543         * lib/unictype/pr_other_math.c: New file.
25544         * lib/unictype/pr_other_uppercase.c: New file.
25545         * lib/unictype/pr_paired_punctuation.c: New file.
25546         * lib/unictype/pr_paragraph_separator.c: New file.
25547         * lib/unictype/pr_pattern_syntax.c: New file.
25548         * lib/unictype/pr_pattern_white_space.c: New file.
25549         * lib/unictype/pr_private_use.c: New file.
25550         * lib/unictype/pr_punctuation.c: New file.
25551         * lib/unictype/pr_quotation_mark.c: New file.
25552         * lib/unictype/pr_radical.c: New file.
25553         * lib/unictype/pr_sentence_terminal.c: New file.
25554         * lib/unictype/pr_soft_dotted.c: New file.
25555         * lib/unictype/pr_space.c: New file.
25556         * lib/unictype/pr_terminal_punctuation.c: New file.
25557         * lib/unictype/pr_test.c: New file.
25558         * lib/unictype/pr_titlecase.c: New file.
25559         * lib/unictype/pr_unassigned_code_value.c: New file.
25560         * lib/unictype/pr_unified_ideograph.c: New file.
25561         * lib/unictype/pr_uppercase.c: New file.
25562         * lib/unictype/pr_variation_selector.c: New file.
25563         * lib/unictype/pr_white_space.c: New file.
25564         * lib/unictype/pr_xid_continue.c: New file.
25565         * lib/unictype/pr_xid_start.c: New file.
25566         * lib/unictype/pr_zero_width.c: New file.
25567         * lib/unictype/scripts.c: New file.
25568         * lib/unictype/sy_c_ident.c: New file.
25569         * lib/unictype/sy_c_whitespace.c: New file.
25570         * lib/unictype/sy_java_ident.c: New file.
25571         * lib/unictype/sy_java_whitespace.c: New file.
25572
25573         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
25574         Unicode 5.0.0.
25575         * lib/unictype/blocks.h: Likewise.
25576         * lib/unictype/categ_C.h: Likewise.
25577         * lib/unictype/categ_Cc.h: Likewise.
25578         * lib/unictype/categ_Cf.h: Likewise.
25579         * lib/unictype/categ_Cn.h: Likewise.
25580         * lib/unictype/categ_Co.h: Likewise.
25581         * lib/unictype/categ_Cs.h: Likewise.
25582         * lib/unictype/categ_L.h: Likewise.
25583         * lib/unictype/categ_Ll.h: Likewise.
25584         * lib/unictype/categ_Lm.h: Likewise.
25585         * lib/unictype/categ_Lo.h: Likewise.
25586         * lib/unictype/categ_Lt.h: Likewise.
25587         * lib/unictype/categ_Lu.h: Likewise.
25588         * lib/unictype/categ_M.h: Likewise.
25589         * lib/unictype/categ_Mc.h: Likewise.
25590         * lib/unictype/categ_Me.h: Likewise.
25591         * lib/unictype/categ_Mn.h: Likewise.
25592         * lib/unictype/categ_N.h: Likewise.
25593         * lib/unictype/categ_Nd.h: Likewise.
25594         * lib/unictype/categ_Nl.h: Likewise.
25595         * lib/unictype/categ_No.h: Likewise.
25596         * lib/unictype/categ_P.h: Likewise.
25597         * lib/unictype/categ_Pc.h: Likewise.
25598         * lib/unictype/categ_Pd.h: Likewise.
25599         * lib/unictype/categ_Pe.h: Likewise.
25600         * lib/unictype/categ_Pf.h: Likewise.
25601         * lib/unictype/categ_Pi.h: Likewise.
25602         * lib/unictype/categ_Po.h: Likewise.
25603         * lib/unictype/categ_Ps.h: Likewise.
25604         * lib/unictype/categ_S.h: Likewise.
25605         * lib/unictype/categ_Sc.h: Likewise.
25606         * lib/unictype/categ_Sk.h: Likewise.
25607         * lib/unictype/categ_Sm.h: Likewise.
25608         * lib/unictype/categ_So.h: Likewise.
25609         * lib/unictype/categ_Z.h: Likewise.
25610         * lib/unictype/categ_Zl.h: Likewise.
25611         * lib/unictype/categ_Zp.h: Likewise.
25612         * lib/unictype/categ_Zs.h: Likewise.
25613         * lib/unictype/categ_of.h: Likewise.
25614         * lib/unictype/combining.h: Likewise.
25615         * lib/unictype/ctype_alnum.h: Likewise.
25616         * lib/unictype/ctype_alpha.h: Likewise.
25617         * lib/unictype/ctype_blank.h: Likewise.
25618         * lib/unictype/ctype_cntrl.h: Likewise.
25619         * lib/unictype/ctype_digit.h: Likewise.
25620         * lib/unictype/ctype_graph.h: Likewise.
25621         * lib/unictype/ctype_lower.h: Likewise.
25622         * lib/unictype/ctype_print.h: Likewise.
25623         * lib/unictype/ctype_punct.h: Likewise.
25624         * lib/unictype/ctype_space.h: Likewise.
25625         * lib/unictype/ctype_upper.h: Likewise.
25626         * lib/unictype/ctype_xdigit.h: Likewise.
25627         * lib/unictype/decdigit.h: Likewise.
25628         * lib/unictype/digit.h: Likewise.
25629         * lib/unictype/mirror.h: Likewise.
25630         * lib/unictype/numeric.h: Likewise.
25631         * lib/unictype/pr_alphabetic.h: Likewise.
25632         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
25633         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
25634         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
25635         * lib/unictype/pr_bidi_block_separator.h: Likewise.
25636         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
25637         * lib/unictype/pr_bidi_common_separator.h: Likewise.
25638         * lib/unictype/pr_bidi_control.h: Likewise.
25639         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
25640         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
25641         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
25642         * lib/unictype/pr_bidi_european_digit.h: Likewise.
25643         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
25644         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
25645         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
25646         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
25647         * lib/unictype/pr_bidi_pdf.h: Likewise.
25648         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
25649         * lib/unictype/pr_bidi_whitespace.h: Likewise.
25650         * lib/unictype/pr_combining.h: Likewise.
25651         * lib/unictype/pr_composite.h: Likewise.
25652         * lib/unictype/pr_currency_symbol.h: Likewise.
25653         * lib/unictype/pr_dash.h: Likewise.
25654         * lib/unictype/pr_decimal_digit.h: Likewise.
25655         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
25656         * lib/unictype/pr_deprecated.h: Likewise.
25657         * lib/unictype/pr_diacritic.h: Likewise.
25658         * lib/unictype/pr_extender.h: Likewise.
25659         * lib/unictype/pr_format_control.h: Likewise.
25660         * lib/unictype/pr_grapheme_base.h: Likewise.
25661         * lib/unictype/pr_grapheme_extend.h: Likewise.
25662         * lib/unictype/pr_grapheme_link.h: Likewise.
25663         * lib/unictype/pr_hex_digit.h: Likewise.
25664         * lib/unictype/pr_hyphen.h: Likewise.
25665         * lib/unictype/pr_id_continue.h: Likewise.
25666         * lib/unictype/pr_id_start.h: Likewise.
25667         * lib/unictype/pr_ideographic.h: Likewise.
25668         * lib/unictype/pr_ids_binary_operator.h: Likewise.
25669         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
25670         * lib/unictype/pr_ignorable_control.h: Likewise.
25671         * lib/unictype/pr_iso_control.h: Likewise.
25672         * lib/unictype/pr_join_control.h: Likewise.
25673         * lib/unictype/pr_left_of_pair.h: Likewise.
25674         * lib/unictype/pr_line_separator.h: Likewise.
25675         * lib/unictype/pr_logical_order_exception.h: Likewise.
25676         * lib/unictype/pr_lowercase.h: Likewise.
25677         * lib/unictype/pr_math.h: Likewise.
25678         * lib/unictype/pr_non_break.h: Likewise.
25679         * lib/unictype/pr_not_a_character.h: Likewise.
25680         * lib/unictype/pr_numeric.h: Likewise.
25681         * lib/unictype/pr_other_alphabetic.h: Likewise.
25682         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
25683         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
25684         * lib/unictype/pr_other_id_continue.h: Likewise.
25685         * lib/unictype/pr_other_id_start.h: Likewise.
25686         * lib/unictype/pr_other_lowercase.h: Likewise.
25687         * lib/unictype/pr_other_math.h: Likewise.
25688         * lib/unictype/pr_other_uppercase.h: Likewise.
25689         * lib/unictype/pr_paired_punctuation.h: Likewise.
25690         * lib/unictype/pr_paragraph_separator.h: Likewise.
25691         * lib/unictype/pr_pattern_syntax.h: Likewise.
25692         * lib/unictype/pr_pattern_white_space.h: Likewise.
25693         * lib/unictype/pr_private_use.h: Likewise.
25694         * lib/unictype/pr_punctuation.h: Likewise.
25695         * lib/unictype/pr_quotation_mark.h: Likewise.
25696         * lib/unictype/pr_radical.h: Likewise.
25697         * lib/unictype/pr_sentence_terminal.h: Likewise.
25698         * lib/unictype/pr_soft_dotted.h: Likewise.
25699         * lib/unictype/pr_space.h: Likewise.
25700         * lib/unictype/pr_terminal_punctuation.h: Likewise.
25701         * lib/unictype/pr_titlecase.h: Likewise.
25702         * lib/unictype/pr_unassigned_code_value.h: Likewise.
25703         * lib/unictype/pr_unified_ideograph.h: Likewise.
25704         * lib/unictype/pr_uppercase.h: Likewise.
25705         * lib/unictype/pr_variation_selector.h: Likewise.
25706         * lib/unictype/pr_white_space.h: Likewise.
25707         * lib/unictype/pr_xid_continue.h: Likewise.
25708         * lib/unictype/pr_xid_start.h: Likewise.
25709         * lib/unictype/pr_zero_width.h: Likewise.
25710         * lib/unictype/scripts.h: Likewise.
25711         * lib/unictype/scripts_byname.gperf: Likewise.
25712         * lib/unictype/sy_c_ident.h: Likewise.
25713         * lib/unictype/sy_c_whitespace.h: Likewise.
25714         * lib/unictype/sy_java_ident.h: Likewise.
25715         * lib/unictype/sy_java_whitespace.h: Likewise.
25716
25717         * lib/unictype/Makefile: New file.
25718         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
25719         glibc.
25720         * lib/unictype/3level.h: New file, copied from glibc.
25721         * lib/unictype/3levelbit.h: New file.
25722
25723 2007-11-11  Bruno Haible  <bruno@clisp.org>
25724
25725         * modules/gperf: New file.
25726         * modules/iconv_open (Depends-on): Add it.
25727         (Makefile.am): Remove the GPERF definition.
25728
25729 2007-11-11  Bruno Haible  <bruno@clisp.org>
25730
25731         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
25732         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
25733
25734 2007-11-11  Bruno Haible  <bruno@clisp.org>
25735
25736         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
25737         (usage): Remove function.
25738
25739 2007-11-11  Bruno Haible  <bruno@clisp.org>
25740
25741         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
25742         gl_FUNC_CEILF_LIBS.
25743         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
25744         gl_FUNC_CEIL_LIBS.
25745         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
25746         gl_FUNC_CEILL_LIBS.
25747         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
25748         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
25749         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
25750
25751 2007-11-11  Bruno Haible  <bruno@clisp.org>
25752
25753         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
25754         roundf were declared but do not exist on functions.
25755         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
25756         roundl were declared but do not exist on functions.
25757         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
25758         HAVE_FLOORL_AND_CEILL, respectively.
25759         Needed for Sun C on Solaris 10.
25760
25761 2007-11-11  Bruno Haible  <bruno@clisp.org>
25762
25763         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
25764         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
25765         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
25766         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
25767         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
25768         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
25769         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
25770         HAVE_DECL_ROUNDF.
25771         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
25772         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
25773         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
25774         of HAVE_DECL_ROUND*.
25775         * modules/math (Makefile.am): Update.
25776
25777 2007-11-10  Bruno Haible  <bruno@clisp.org>
25778
25779         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
25780         ptrdiff_t as m4/intl.m4.
25781
25782 2007-11-10  Jim Meyering  <meyering@redhat.com>
25783
25784         Avoid link failure for the argmatch test.
25785         * tests/test-argmatch.c (usage): Define function to avoid a link
25786         failure: argmatch_die requires a usage function.
25787
25788 2007-11-09  Bruno Haible  <bruno@clisp.org>
25789
25790         * doc/functions/snprintf.texi: Mention BeOS deficiency.
25791         * doc/functions/vsnprintf.texi: Likewise.
25792         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
25793         with a size argument < 2.
25794
25795 2007-11-09  Bruno Haible  <bruno@clisp.org>
25796
25797         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
25798         buffer. Fixes an inefficiency introduced on 2007-11-03.
25799
25800 2007-11-09  Bruno Haible  <bruno@clisp.org>
25801
25802         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
25803         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
25804
25805 2007-11-08  Jim Meyering  <meyering@redhat.com>
25806
25807         Change cache variable name prefix "jm_" to "gl_" everywhere.
25808         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
25809         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
25810         * m4/uptime.m4: s/gl_/jm_/
25811
25812 2007-11-07  Bruno Haible  <bruno@clisp.org>
25813
25814         Update to GNU gettext 0.17.
25815         * m4/intl.m4: Update to GNU gettext 0.17.
25816         * m4/po.m4: Likewise.
25817         * modules/gettext (Files): Remove m4/ulonglong.m4.
25818         (configure.ac): Require gettext infrastructure from version 0.17.
25819
25820 2007-11-06  Bruno Haible  <bruno@clisp.org>
25821
25822         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
25823         symbolic values are not defined in a public header.
25824         * lib/freadable.c (freadable) [QNX]: Likewise.
25825         * lib/freadahead.c (freadahead) [QNX]: Likewise.
25826         * lib/freading.c (freading) [QNX]: Likewise.
25827         * lib/fseterr.c (fseterr) [QNX]: Likewise.
25828         * lib/fwritable.c (fwritable) [QNX]: Likewise.
25829         * lib/fwriting.c (fwriting) [QNX]: Likewise.
25830         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
25831         Reported by Alain Magloire.
25832
25833         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
25834
25835 2007-11-05  Bruno Haible  <bruno@clisp.org>
25836
25837         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
25838         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
25839         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
25840         Reported by Eric Blake.
25841
25842 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25843             Bruno Haible  <bruno@clisp.org>
25844
25845         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
25846         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
25847         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
25848         (malloc): Undefine also before including <stdlib.h>.
25849         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
25850         Needed on OSF/1 4.0.
25851
25852 2007-11-05  Jim Meyering  <meyering@redhat.com>
25853
25854         git-version-gen: sync from coreutils.
25855         * build-aux/git-version-gen: Add comments.
25856         Change the first '-' to '.' in the snapshot version string,
25857         e.g., 6.9-377-08144 -> 6.9.377-08144
25858         Remove first parameter.
25859         Don't declare a version "-dirty" merely because a time
25860         stamp has changed.
25861
25862 2007-11-04  Bruno Haible  <bruno@clisp.org>
25863
25864         * lib/lock.h: Protect all macro definitions containing an 'if'
25865         statement through a "do { ... } while (0)".
25866         * lib/tls.h: Likewise.
25867
25868 2007-11-04  Bruno Haible  <bruno@clisp.org>
25869
25870         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
25871
25872 2007-11-04  Bruno Haible  <bruno@clisp.org>
25873
25874         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
25875         * modules/fprintf-posix (Depends-on): Add nocrash.
25876         * modules/snprintf-posix (Depends-on): Likewise.
25877         * modules/sprintf-posix (Depends-on): Likewise.
25878         * modules/vasnprintf-posix (Depends-on): Likewise.
25879         * modules/vasprintf-posix (Depends-on): Likewise.
25880         * modules/vfprintf-posix (Depends-on): Likewise.
25881         * modules/vsnprintf-posix (Depends-on): Likewise.
25882         * modules/vsprintf-posix (Depends-on): Likewise.
25883         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
25884         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
25885         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
25886         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
25887         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
25888         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
25889         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
25890
25891 2007-11-04  Bruno Haible  <bruno@clisp.org>
25892
25893         * modules/nocrash: New file.
25894         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
25895         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
25896
25897 2007-11-04  Bruno Haible  <bruno@clisp.org>
25898
25899         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
25900         precision handling.
25901         * tests/test-vasprintf-posix.c (test_function): Likewise.
25902         * tests/test-snprintf-posix.h (test_function): Likewise.
25903         * tests/test-sprintf-posix.h (test_function): Likewise.
25904
25905         Fix *printf behaviour for large precisions on mingw and BeOS.
25906         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
25907         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
25908         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
25909         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
25910         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
25911         gl_PRINTF_PRECISION and test its result. Invoke
25912         gl_PREREQ_VASNPRINTF_PRECISION.
25913         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
25914         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
25915         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
25916         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
25917         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
25918         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
25919         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
25920         * doc/functions/fprintf.texi: Update.
25921         * doc/functions/printf.texi: Update.
25922         * doc/functions/snprintf.texi: Update.
25923         * doc/functions/sprintf.texi: Update.
25924         * doc/functions/vfprintf.texi: Update.
25925         * doc/functions/vprintf.texi: Update.
25926         * doc/functions/vsnprintf.texi: Update.
25927         * doc/functions/vsprintf.texi: Update.
25928
25929 2007-11-04  Bruno Haible  <bruno@clisp.org>
25930
25931         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
25932
25933 2007-11-04  Bruno Haible  <bruno@clisp.org>
25934
25935         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
25936         Reported by Sylvain Beucler <beuc@gnu.org>.
25937
25938 2007-11-03  Bruno Haible  <bruno@clisp.org>
25939
25940         * tests/test-fprintf-posix2.sh: New file.
25941         * tests/test-fprintf-posix2.c: New file.
25942         * modules/fprintf-posix-tests (Files): Add them.
25943         (TESTS): Add test-fprintf-posix2.sh.
25944         (configure.ac): Check for getrlimit and setrlimit.
25945         (check_PROGRAMS): Add test-fprintf-posix2.
25946
25947         * tests/test-printf-posix2.sh: New file.
25948         * tests/test-printf-posix2.c: New file.
25949         * modules/printf-posix-tests (Files): Add them.
25950         (TESTS): Add test-printf-posix2.sh.
25951         (configure.ac): Check for getrlimit and setrlimit.
25952         (check_PROGRAMS): Add test-printf-posix2.
25953
25954         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
25955         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
25956         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
25957         (decode_double): New function, copied from decode_long_double.
25958         (scale10_round_decimal_decoded): New function, extracted from
25959         scale10_round_decimal_long_double.
25960         (scale10_round_decimal_long_double): Use it.
25961         (scale10_round_decimal_double): New function.
25962         (floorlog10): New function.
25963         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
25964         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
25965         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
25966         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
25967         gl_PRINTF_ENOMEM and test its result. Invoke
25968         gl_PREREQ_VASNPRINTF_ENOMEM.
25969         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
25970         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
25971         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
25972         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
25973         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
25974         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
25975         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
25976         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
25977         * modules/snprintf-posix (Depends-on): Likewise.
25978         * modules/sprintf-posix (Depends-on): Likewise.
25979         * modules/vasnprintf-posix (Depends-on): Likewise.
25980         * modules/vasprintf-posix (Depends-on): Likewise.
25981         * modules/vfprintf-posix (Depends-on): Likewise.
25982         * modules/vsnprintf-posix (Depends-on): Likewise.
25983         * modules/vsprintf-posix (Depends-on): Likewise.
25984         * doc/functions/fprintf.texi: Update.
25985         * doc/functions/printf.texi: Update.
25986         * doc/functions/snprintf.texi: Update.
25987         * doc/functions/sprintf.texi: Update.
25988         * doc/functions/vfprintf.texi: Update.
25989         * doc/functions/vprintf.texi: Update.
25990         * doc/functions/vsnprintf.texi: Update.
25991         * doc/functions/vsprintf.texi: Update.
25992
25993 2007-11-03  Bruno Haible  <bruno@clisp.org>
25994
25995         * modules/frexp-nolibm-tests: New file.
25996
25997         * modules/frexp-nolibm: New file.
25998         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
25999
26000 2007-11-03  Bruno Haible  <bruno@clisp.org>
26001
26002         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
26003         value is C99 compliant.
26004         Needed for OSF/1 5.1.
26005
26006 2007-11-03  Bruno Haible  <bruno@clisp.org>
26007
26008         Fix out-of-memory handling of vasnprintf.
26009         * lib/printf-parse.c: Include <errno.h>.
26010         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
26011         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
26012         is already set.
26013
26014 2007-11-02  Eric Blake  <ebb9@byu.net>
26015
26016         Fix tests on cygwin.
26017         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
26018
26019 2007-11-01  Bruno Haible  <bruno@clisp.org>
26020
26021         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
26022         warning.
26023         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
26024         needed for POSIX compatibility.
26025
26026 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
26027
26028         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
26029         for compatibility with GNU.
26030
26031 2007-11-01  Bruno Haible  <bruno@clisp.org>
26032
26033         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
26034         (putenv): Renamed from rpl_putenv. Change argument type from
26035         'const char *' to 'char *'.
26036         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
26037         of defining putenv in config.h, just set REPLACE_PUTENV.
26038         * modules/putenv (Depends-on): Add stdlib.
26039         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
26040         (Include): Use <stdlib.h>.
26041         * lib/stdlib.in.h (putenv): New declaration.
26042         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
26043         REPLACE_PUTENV.
26044         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
26045         REPLACE_PUTENV.
26046         Needed for MacOS X 10.5.0.
26047         Reported by Peter O'Gorman <peter@pogma.com>.
26048
26049 2007-11-01  Jim Meyering  <meyering@redhat.com>
26050
26051         Treat an empty date string exactly like "0".
26052         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
26053         if the remaining date string (to be parsed) is empty, use "0".
26054         Reported by Mischa Molhoek and discussed in this thread:
26055         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
26056
26057 2007-10-31  Bruno Haible  <bruno@clisp.org>
26058
26059         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
26060         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
26061         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
26062         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
26063         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
26064         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
26065
26066 2007-10-31  Bruno Haible  <bruno@clisp.org>
26067
26068         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
26069         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
26070         (AC_TYPE_LONG_LONG_INT): Use it.
26071         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
26072         it as well.
26073         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
26074         to m4/longlong.m4.
26075         * modules/stdint (Files): Remove m4/ulonglong.m4.
26076         * modules/strtoull (Files): Use m4/longlong.m4 instead of
26077         m4/ulonglong.m4.
26078         * modules/strtoumax (Files): Likewise.
26079
26080 2007-10-30  Bruno Haible  <bruno@clisp.org>
26081
26082         * modules/xvasprintf-posix: New file.
26083         Suggested by Eric Blake.
26084
26085 2007-10-30  Bruno Haible  <bruno@clisp.org>
26086
26087         * modules/xprintf-posix-tests: New file.
26088         * tests/test-xprintf-posix.sh: New file.
26089         * tests/test-xprintf-posix.c: New file.
26090         * tests/test-xfprintf-posix.c: New file.
26091
26092         * modules/xprintf-posix: New file.
26093
26094 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26095
26096         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
26097         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
26098         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
26099
26100 2007-10-29  Bruno Haible  <bruno@clisp.org>
26101
26102         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
26103         contain the special marker '_cv_'.
26104         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
26105         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
26106         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
26107         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
26108         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
26109         Reported by Ralf Wildenhues.
26110
26111 2007-10-29  Bruno Haible  <bruno@clisp.org>
26112
26113         * gnulib-tool (func_import): When --lgpl is not specified, set
26114         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
26115         GPLv3.
26116         Reported by Simon Josefsson.
26117
26118 2007-10-28  Bruno Haible  <bruno@clisp.org>
26119
26120         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
26121         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
26122         HAVE_DECL_ISFINITE.
26123         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
26124         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
26125         HAVE_DECL_ISFINITE.
26126
26127 2007-10-28  Bruno Haible  <bruno@clisp.org>
26128
26129         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
26130         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
26131
26132 2007-10-28  Bruno Haible  <bruno@clisp.org>
26133
26134         Fix link errors with Sun C 5.0 on Solaris 10.
26135         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
26136         function is declared but not present in the compiler's libm.
26137         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
26138         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
26139         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
26140         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
26141         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
26142         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
26143         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
26144         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
26145         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
26146         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
26147         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
26148         HAVE_DECL_FLOORL.
26149
26150 2007-10-28  Bruno Haible  <bruno@clisp.org>
26151
26152         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
26153         gl_FUNC_FLOORL. Cache the result.
26154         (gl_FUNC_FLOORL): Use it.
26155         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
26156         gl_FUNC_CEILL. Cache the result.
26157         (gl_FUNC_CEILL): Use it.
26158
26159         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
26160         gl_FUNC_FLOOR. Cache the result.
26161         (gl_FUNC_FLOOR): Use it.
26162         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
26163         gl_FUNC_CEIL. Cache the result.
26164         (gl_FUNC_CEIL): Use it.
26165
26166         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
26167         gl_FUNC_FLOORF. Cache the result.
26168         (gl_FUNC_FLOORF): Use it.
26169         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
26170         gl_FUNC_CEILF. Cache the result.
26171         (gl_FUNC_CEILF): Use it.
26172
26173 2007-10-28  Bruno Haible  <bruno@clisp.org>
26174
26175         * gnulib-tool: Allow specifying the LGPL version number through
26176         --lgpl=2 or --lgpl=3.
26177         (func_usage): Document --lgpl with argument.
26178         Handle --lgpl=... arguments.
26179         (func_import): Recognize also gl_LGPL calls with an argument. When
26180         --lgpl=2 is used and the module's license is just LGPL, report an
26181         error. Set sed_transform_lib_file according to the lgpl variable. In
26182         the generated files, use --lgpl or gl_LGPL invocations with argument,
26183         if necessary.
26184         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
26185         an LGPv2+ license.
26186         * doc/gnulib-tool.texi (Modified imports): Update explanation of
26187         gl_LGPL macro.
26188
26189 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26190             Bruno Haible  <bruno@clisp.org>
26191
26192         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
26193         (u16_uctomb_aux): Likewise.
26194         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
26195         !HAVE_INLINE.
26196         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
26197
26198 2007-10-28  Bruno Haible  <bruno@clisp.org>
26199
26200         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
26201         Invoke AM_GETTEXT_OPTION if it exists.
26202         * modules/vasprintf: Likewise.
26203         * modules/verror: Likewise.
26204         * modules/xprintf: Likewise.
26205         * modules/xvasprintf: Likewise.
26206
26207 2007-10-27  Ben Pfaff  <blp@gnu.org>
26208
26209         * lib/math.in.h: Define isfinite macro and prototypes for
26210         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
26211         implementations.
26212         * m4/math_h.m4: New substitutions for isfinite module.
26213         * lib/isfinite.c: New file.
26214         * m4/isfinite.m4: New file.
26215         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
26216         * modules/isfinite: New file.
26217         * modules/isfinite-tests: New file.
26218         * tests/tests-isfinite.c: New file.
26219         * doc/functions/isfinite.texi: Mention isfinite module.
26220         * MODULES.html.sh: Mention new module.
26221
26222 2007-10-27  Ben Pfaff  <blp@gnu.org>
26223
26224         Ralf Wildenhues reported that Tru64 4.0D declares the round
26225         functions but does not have definitions.
26226         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
26227         cannot be found in any library, set the output variable to
26228         "missing" instead of "".
26229         * m4/round.m4: Also use our substitute if we cannot find round in
26230         any library, even if it is declared.
26231         * m4/roundf.m4: Likewise for roundf.
26232         * m4/roundl.m4: Likewise for roundl.
26233         * lib/math.in.h: Undefine roundf, round, roundl before defining
26234         their replacements, to allow for hypothetical systems where these
26235         may be defined as macros but not available in libraries.
26236
26237 2007-10-27  Bruno Haible  <bruno@clisp.org>
26238
26239         * doc/gnulib.texi: Invoke @firstparagraphindent.
26240         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
26241         changes in gnulib.
26242         (Source changes): New section.
26243
26244 2007-10-26  Bruno Haible  <bruno@clisp.org>
26245
26246         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
26247         borrowed from autoconf.
26248
26249 2007-10-26  Bruno Haible  <bruno@clisp.org>
26250
26251         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
26252         strerror returned the empty string. Needed on HP-UX 11.00.
26253
26254 2007-10-24  Micah Cowan  <micah@cowan.name>
26255
26256         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
26257         * build-aux/bootstrap: Remove support for now-unnecessary option,
26258         --cvs-user, and envvars CVS_USER, CVS_RSH.
26259
26260 2007-10-24  Jim Meyering  <meyering@redhat.com>
26261
26262         Avoid diagnostics from sha1sum when there is no cached checksum.
26263         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
26264         if the po.s1 file hasn't been created yet.
26265
26266         * build-aux/bootstrap: Sync from coreutils:
26267         2007-10-24  Jim Meyering  <meyering@redhat.com>
26268         Get gnulib from the git repository, not from an obsolete cvs one.
26269         * build-aux/bootstrap: Suggestion from Micah Cowan.
26270         2007-10-04  Jim Meyering  <jim@meyering.net>
26271         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
26272         (update_po_files): Work also when there are no .po files in po/.
26273
26274 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
26275
26276         * README: Append ".git" to git and cg examples.
26277         Problem reported by Benoit Sigoure.
26278
26279 2007-10-23  Micah Cowan  <micah@cowan.name>
26280
26281         * users.txt: Add wget.
26282
26283 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26284
26285         Fix linking of some unistdio tests on FreeBSD.
26286         * modules/unistdio/u16-vsnprintf-tests
26287         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
26288         * modules/unistdio/u16-vsprintf-tests
26289         (test_u16_vsnprintf1_LDADD): Likewise.
26290         * modules/unistdio/u32-vsnprintf-tests
26291         (test_u32_vsnprintf1_LDADD): Likewise.
26292         * modules/unistdio/u32-vsprintf-tests
26293         (test_u32_vsprintf1_LDADD): Likewise.
26294         * modules/unistdio/u8-vsnprintf-tests
26295         (test_u8_vsnprintf1_LDADD): Likewise.
26296         * modules/unistdio/u8-vsprintf-tests
26297         (test_u8_vsprintf1_LDADD): Likewise.
26298         * modules/unistdio/ulc-vsnprintf-tests
26299         (test_ulc_vsnprintf1_LDADD): Likewise.
26300         * modules/unistdio/ulc-vsprintf-tests
26301         (test_ulc_vsprintf1_LDADD): Likewise.
26302
26303         Fix linking of some uniconv tests on FreeBSD.
26304         * modules/uniconv/u16-conv-from-enc-tests
26305         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
26306         * modules/uniconv/u16-conv-to-enc-tests
26307         (test_u16_conv_to_enc_LDADD): Likewise.
26308         * modules/uniconv/u16-strconv-from-enc-tests
26309         (test_u16_strconv_from_enc_LDADD): Likewise.
26310         * modules/uniconv/u16-strconv-to-enc-tests
26311         (test_u16_strconv_to_enc_LDADD): Likewise.
26312         * modules/uniconv/u32-conv-from-enc-tests
26313         (test_u32_conv_from_enc_LDADD): Likewise.
26314         * modules/uniconv/u32-conv-to-enc-tests
26315         (test_u32_conv_to_enc_LDADD): Likewise.
26316         * modules/uniconv/u32-strconv-from-enc-tests
26317         (test_u32_strconv_from_enc_LDADD): Likewise.
26318         * modules/uniconv/u32-strconv-to-enc-tests
26319         (test_u32_strconv_to_enc_LDADD): Likewise.
26320         * modules/uniconv/u8-conv-from-enc-tests
26321         (test_u8_conv_from_enc_LDADD): Likewise.
26322         * modules/uniconv/u8-conv-to-enc-tests
26323         (test_u8_conv_to_enc_LDADD): Likewise.
26324         * modules/uniconv/u8-strconv-from-enc-tests
26325         (test_u8_strconv_from_enc_LDADD): Likewise.
26326         * modules/uniconv/u8-strconv-to-enc-tests
26327         (test_u8_strconv_to_enc_LDADD): Likewise.
26328
26329 2007-10-22  Bruno Haible  <bruno@clisp.org>
26330
26331         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
26332         size.
26333
26334 2007-10-22  Eric Blake  <ebb9@byu.net>
26335
26336         Tweak x*printf documentation.
26337         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
26338         variable name and comments.
26339         Suggested by Bruno Haible.
26340
26341 2007-10-22  Bruno Haible  <bruno@clisp.org>
26342
26343         * lib/acl.c (copy_acl): Fix file name in comment.
26344
26345 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
26346
26347         Fix Tru64 problem with stdbool.h.
26348         * lib/stdbool.in.h (false, true):
26349         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
26350         Don't declare as an enum in this situation; it runs afoul of Tru64.
26351         Problem reported by Steven M. Schweda in
26352         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
26353
26354 2007-10-22  Eric Blake  <ebb9@byu.net>
26355
26356         Also wrap vf?printf.
26357         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
26358         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
26359         (xvprintf, xvfprintf): New functions.
26360
26361 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26362
26363         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
26364         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
26365
26366         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
26367         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
26368
26369 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
26370
26371         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
26372         by Bruno Haible.
26373
26374 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26375
26376         * lib/getloadavg.c
26377         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
26378         Undef `sys' after including sys/table.h, for Tru64 4.0D.
26379
26380         * tests/test-i-ring.c: Work for C89.
26381
26382 2007-10-22  Bruno Haible  <bruno@clisp.org>
26383
26384         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
26385         -1u, in preprocessor expression, so that we don't test for the bug
26386         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
26387         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
26388
26389 2007-10-22  Eric Blake  <ebb9@byu.net>
26390
26391         * tests/test-yesno.sh: Silence stderr during test.
26392
26393 2007-10-22  Simon Josefsson  <simon@josefsson.org>
26394
26395         * modules/crypto/gc-camellia: New file.
26396
26397         * m4/gc-camellia.m4: New file.
26398
26399         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
26400
26401         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
26402
26403 2007-10-22  Simon Josefsson  <simon@josefsson.org>
26404
26405         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
26406         --help to stdout.  Reported by sms@antinode.org (Steven
26407         M. Schweda).
26408
26409 2007-10-22  Simon Josefsson  <simon@josefsson.org>
26410
26411         * users.txt: Fix link to libksba.
26412
26413 2007-10-21  Ben Pfaff  <blp@gnu.org>
26414
26415         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
26416         round.c roundf implementation that depends on floorf and ceilf to
26417         be tested unconditionally.
26418
26419 2007-10-21  Ben Pfaff  <blp@gnu.org>
26420
26421         * m4/check-libm-func.m4: Removed.
26422         * m4/check-math-lib.m4: New file.
26423         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
26424         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
26425         definition and lack of AC_LIBOBJ([roundf]).
26426         * m4/roundl.m4: Ditto, and similarly for roundl.
26427         * modules/round: Reference new m4 file.
26428         * modules/roundf: Ditto.
26429         * modules/roundl: Ditto.
26430         * tests/test-round2.c (main): Use ROUND instead of round.
26431         Bug report from Bruno Haible.
26432
26433 2007-10-21  Bruno Haible  <bruno@clisp.org>
26434
26435         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
26436         context.
26437
26438 2007-10-21  Bruno Haible  <bruno@clisp.org>
26439
26440         * tests/test-wcwidth.c (main): Allow negative result for some control
26441         characters.
26442
26443         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
26444         Needed on OSF/1 5.1.
26445
26446 2007-10-21  Bruno Haible  <bruno@clisp.org>
26447
26448         * tests/test-floorf1.c: Include isnanf.h.
26449         (main): Use isnanf() instead of isnan().
26450         * tests/test-ceilf1.c: Include isnanf.h.
26451         (main): Use isnanf() instead of isnan().
26452         * tests/test-truncf1.c: Include isnanf.h.
26453         (main): Use isnanf() instead of isnan().
26454         * tests/test-roundf1.c: Include isnanf.h.
26455         (main): Use isnanf() instead of isnan().
26456
26457 2007-10-21  Eric Blake  <ebb9@byu.net>
26458
26459         * users.txt: Update URL for m4.
26460
26461 2007-10-21  Bruno Haible  <bruno@clisp.org>
26462
26463         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
26464
26465 2007-10-21  Bruno Haible  <bruno@clisp.org>
26466
26467         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
26468         Git's management files if the CVS files are not present.
26469
26470 2007-10-20  Bruno Haible  <bruno@clisp.org>
26471
26472         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
26473         gcc-3.4.x.
26474
26475 2007-10-20  Ben Pfaff  <blp@gnu.org>
26476
26477         * lib/math.in.h: Declare round, roundf, roundl if we are providing
26478         implementations.
26479         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
26480         * lib/round.c: New file.
26481         * lib/roundf.c: New file.
26482         * lib/roundl.c: New file.
26483         * m4/round.m4: New file.
26484         * m4/roundf.m4: New file.
26485         * m4/roundl.m4: New file.
26486         * m4/check-libm-func-m4: New file.
26487         * modules/math: Replace round, roundf, roundl related @VARS@ in
26488         math.in.h.
26489         * modules/round: New file.
26490         * modules/round-tests: New file.
26491         * modules/roundf: New file.
26492         * modules/roundf-tests: New file.
26493         * modules/roundl: New file.
26494         * modules/roundl-tests: New file.
26495         * tests/test-round1.c: New file.
26496         * tests/test-round2.c: New file.
26497         * tests/test-roundf1.c: New file.
26498         * tests/test-roundf2.c: New file.
26499         * tests/test-roundl.c: New file.
26500         * doc/functions/round.texi: Mention round module.
26501         * doc/functions/roundf.texi: Mention roundf module.
26502         * doc/functions/roundl.texi: Mention roundl module.
26503         * MODULES.html.sh: Mention new modules.
26504         Thanks to Bruno Haible for suggestions.
26505
26506 2007-10-20  Jim Meyering  <meyering@redhat.com>
26507
26508         * lib/xprintf.c: Include <config.h> unconditionally.
26509
26510         Change xprintf's license to GPL.
26511         * modules/xprintf (License): s/LGPL/GPL/, since this module
26512         depends on modules (exit and exitfail) which are GPL.
26513         Suggestion from Bruno Haible.
26514
26515         xprintf fixes.
26516         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
26517         Use a clearer diagnostic.
26518         Patch from Bruno Haible.
26519
26520 2007-10-20  Bruno Haible  <bruno@clisp.org>
26521
26522         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
26523         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
26524         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
26525
26526 2007-10-20  Bruno Haible  <bruno@clisp.org>
26527
26528         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
26529         precision in the comparison result > x - 1 or similar.
26530         * tests/test-ceilf2.c (correct_result_p): Likewise.
26531         * tests/test-truncf2.c (correct_result_p): Likewise.
26532         * tests/test-trunc2.c (correct_result_p): Likewise.
26533         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
26534
26535 2007-10-20  Bruno Haible  <bruno@clisp.org>
26536
26537         * modules/ceil: New file.
26538         * m4/ceil.m4: New file.
26539         * doc/functions/ceil.texi: Mention the 'ceil' module.
26540
26541 2007-10-20  Bruno Haible  <bruno@clisp.org>
26542
26543         * modules/floor: New file.
26544         * m4/floor.m4: New file.
26545         * doc/functions/floor.texi: Mention the 'floor' module.
26546
26547 2007-10-20  Bruno Haible  <bruno@clisp.org>
26548
26549         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
26550         of %a.
26551         * modules/floorf-tests (Depends-on): Likewise.
26552         * modules/truncf-tests (Depends-on): Likewise.
26553         * modules/trunc-tests (Depends-on): Likewise.
26554         Reported by Ben Pfaff.
26555
26556 2007-10-19  Jim Meyering  <meyering@redhat.com>
26557
26558         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
26559         Don't bother testing specific errno values.  Just test ferror.
26560
26561         New module: xprintf
26562         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
26563
26564 2007-10-19  Bruno Haible  <bruno@clisp.org>
26565
26566         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
26567         syntax.
26568         * modules/javaexec (Makefile.am): Likewise.
26569         * modules/relocatable-prog (Makefile.am): Likewise.
26570         Suggested by Jim Meyering.
26571
26572 2007-10-18  Bruno Haible  <bruno@clisp.org>
26573
26574         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
26575         Reported by Jim Meyering.
26576
26577 2007-10-18  Eric Blake  <ebb9@byu.net>
26578
26579         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
26580
26581 2007-10-18  Bruno Haible  <bruno@clisp.org>
26582
26583         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
26584         the format string into writable memory. Needed in Fortify conditions.
26585
26586 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
26587             Bruno Haible  <bruno@clisp.org>
26588
26589         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
26590         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
26591         * modules/trim (Depends-on): Add mbchar.
26592         (configure.ac): Add gl_FUNC_MBRTOWC.
26593         (Makefile.am): Augment lib_SOURCES.
26594
26595 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
26596
26597         Modify glob.c to use fstatat and dirfd, to simplify it.
26598         Suggested by Eric Blake.
26599         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
26600         Don't include <stdbool.h>; not used.
26601         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
26602         (link_exists_p): Simplify implementation, since we can now assume
26603         dirfd and fstatat.
26604         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
26605
26606 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26607
26608         * gnulib-tool (func_get_dependencies): Fix sed script to
26609         match only tests.
26610
26611 2007-10-17  Bruno Haible  <bruno@clisp.org>
26612
26613         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
26614         allow locale names without encoding suffix.
26615         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
26616         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
26617
26618 2007-10-16  Bruno Haible  <bruno@clisp.org>
26619
26620         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
26621         * lib/getgroups.c (getgroups): Likewise.
26622         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
26623
26624 2007-10-16  Bruno Haible  <bruno@clisp.org>
26625
26626         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
26627         * modules/malloc-posix (License): Likewise.
26628         * modules/realloc-posix (License): Likewise.
26629         * modules/calloc-posix (License): Likewise.
26630         * modules/intprops (License): Change from GPL to LGPL, with
26631         Paul Eggert's approval.
26632
26633 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
26634
26635         Merge glibc changes into lib/glob.c.
26636
26637         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
26638         2007-10-15 04:59:03 UTC.  Here are the changes:
26639
26640         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
26641
26642         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
26643
26644         * lib/glob.c: Add some branch prediction throughout.
26645
26646         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
26647
26648         [BZ #5103]
26649         * lib/glob.c (glob): Recognize patterns starting \/.
26650
26651         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
26652
26653         [BZ #3996]
26654         * lib/glob.c (attribute_hidden): Define if not defined.
26655         (glob): Unescape dirname, filename or username when needed and not
26656         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
26657         is NULL.  Handle unescaped [ in pattern without closing ].
26658         Don't pass GLOB_CHECK down to recursive glob for directories.
26659         (__glob_pattern_type): New function.
26660         (__glob_pattern_p): Implement using __glob_pattern_type.
26661         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
26662         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
26663         Remove unreachable code.
26664
26665         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
26666
26667         * lib/glob.c (glob_in_dir): Add some comments and asserts to
26668         explain why there are no leaks.
26669
26670         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
26671
26672         [BZ #3253]
26673         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
26674         time, rather allocate increasingly bigger arrays of pointers, if
26675         possible with alloca, if too large with malloc.
26676
26677 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
26678
26679         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
26680         Problem reported by H.Merijn Brand in
26681         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
26682         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
26683         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
26684
26685 2007-10-15  Bruno Haible  <bruno@clisp.org>
26686
26687         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
26688         with explicit rpl_ prefix.
26689         * lib/fopen.c (fopen): Likewise.
26690         * lib/freopen.c (freopen): Likewise.
26691         * lib/iconv.c (iconv): Likewise.
26692         * lib/iconv_close.c (iconv_close): Likewise.
26693
26694 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26695
26696         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
26697
26698 2007-10-15  Bruno Haible  <bruno@clisp.org>
26699
26700         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
26701         <stddef.h> instead of <stdlib.h> since we only need NULL.
26702         Reported by Ben Pfaff <blp@cs.stanford.edu>.
26703
26704 2007-10-15  Bruno Haible  <bruno@clisp.org>
26705
26706         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
26707         Replace paragraph talking about LIBOBJS.
26708         Reported by Colin Watson <cjwatson@debian.org>.
26709
26710 2007-10-15  Bruno Haible  <bruno@clisp.org>
26711
26712         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
26713         <stdlib.h> before using NULL.
26714
26715 2007-10-15  Simon Josefsson  <simon@josefsson.org>
26716
26717         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
26718         Reported by Albert Chin <china@thewrittenword.com>.
26719
26720 2007-10-14  Bruno Haible  <bruno@clisp.org>
26721
26722         * modules/iconv_open-utf-tests: New file.
26723         * tests/test-iconv-utf.c: New file.
26724
26725         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
26726         * modules/iconv_open-utf: New file.
26727         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
26728         (iconv, iconv_close): New declarations.
26729         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
26730         be defined.
26731         (iconv_open): Add special handling of conversion between UTF-8 and
26732         UTF-{16,32}{BE,LE}.
26733         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
26734         * lib/iconv_close.c: New file.
26735         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
26736         gl_FUNC_ICONV_OPEN.
26737         (gl_FUNC_ICONV_OPEN): Use it.
26738         (gl_FUNC_ICONV_OPEN_UTF): New macro.
26739         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
26740         and REPLACE_ICONV_UTF.
26741         * modules/iconv_open (Depends-on): Add c-strcase.
26742         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
26743         ICONV_CONST.
26744         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
26745
26746 2007-10-13  Albert Chin  <china@thewrittenword.com>
26747             Bruno Haible  <bruno@clisp.org>
26748
26749         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
26750         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
26751
26752 2007-10-13  Bruno Haible  <bruno@clisp.org>
26753
26754         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
26755         defined, use the ISO C99 inline semantics.
26756         * lib/argp.h (ARGP_EI): Likewise.
26757
26758 2007-10-13  Bruno Haible  <bruno@clisp.org>
26759
26760         Handle 'inline' change in gcc 4.3.0.
26761         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
26762         argp_fmtstream_write, argp_fmtstream_set_lmargin,
26763         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
26764         argp_fmtstream_point): Disable 'extern' declaration if the function
26765         definition is going to be provided inline.
26766         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
26767         semantics, not the ISO C99 inline semantics.
26768         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
26769         'extern' declaration if the function definition is going to be provided
26770         inline.
26771         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
26772         the GNU C inline semantics, not the ISO C99 inline semantics. With
26773         GCC 4.2, avoid a warning.
26774
26775 2007-10-13  Bruno Haible  <bruno@clisp.org>
26776
26777         * lib/freading.h (freading): Enable the use of __freading for
26778         glibc >= 2.7.
26779         * lib/freading.c (freading): Likewise.
26780
26781 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
26782
26783         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
26784         "warning: C99 inline functions are not supported; using GNU89".
26785
26786 2007-10-12  Bruno Haible  <bruno@clisp.org>
26787
26788         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
26789         of 2.
26790         * tests/test-ceilf2.c: New file.
26791         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
26792
26793         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
26794         * modules/ceilf-tests: Update.
26795
26796 2007-10-12  Bruno Haible  <bruno@clisp.org>
26797
26798         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
26799         of 2.
26800         * tests/test-floorf2.c: New file.
26801         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
26802
26803         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
26804         * modules/floorf-tests: Update.
26805
26806 2007-10-12  Bruno Haible  <bruno@clisp.org>
26807
26808         * tests/test-trunc2.c: New file.
26809         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
26810
26811         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
26812         * modules/trunc-tests: Update.
26813
26814 2007-10-12  Bruno Haible  <bruno@clisp.org>
26815
26816         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
26817         of 2.
26818         * tests/test-truncf2.c: New file.
26819         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
26820
26821         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
26822         * modules/truncf-tests: Update.
26823
26824 2007-10-11  Eric Blake  <ebb9@byu.net>
26825
26826         Don't claim strerror is broken on Interix.
26827         * doc/functions/strerror.texi (strerror): Known broken systems are
26828         now Solaris 8, and not Interix.
26829         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
26830         Interix on cross-compile.
26831         Reported by Martin Koeppe in
26832         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
26833
26834 2007-10-11  Bruno Haible  <bruno@clisp.org>
26835
26836         * modules/i-ring-tests: New file.
26837         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
26838         instead of assert.
26839
26840 2007-10-11  Bruno Haible  <bruno@clisp.org>
26841
26842         * modules/filenamecat-tests: New file.
26843         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
26844         * lib/filenamecat.c: Remove test code.
26845
26846 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
26847
26848         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
26849
26850         * lib/strerror.c: Include <string.h> always, to test interface,
26851         and to remove the need for the dummy.
26852         Include intprops.h to compute width instead of doing it ourselves
26853         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
26854         (strerror): Define it to return NULL if there's no system strerror.
26855         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
26856         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
26857         ancient pre-strerror Unix systems well any more.  Saying "unknown
26858         system error" is enough.
26859         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
26860         simpler strerror.c implementation.
26861         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
26862         Simplify the tests to reflect the simpler strerror implementation.
26863         * modules/strerror (Depends-on): Add intprops.
26864
26865 2007-10-09  Eric Blake  <ebb9@byu.net>
26866
26867         Silence test-fpending.
26868         * modules/fpending-tests (Files): Add wrapper script.
26869         * tests/test-fpending.sh: New file.
26870
26871 2007-10-09  Bruno Haible  <bruno@clisp.org>
26872
26873         * MODULES.html.sh (func_module): Don't create a hyperlink for
26874         function names like 'printf_frexp'.
26875         (Misc): Add crc, memxor.
26876         (Characteristics of floating types): New section.
26877         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
26878         isnanf-nolibm, signbit, trunc, truncf, truncl.
26879         (Enhancements for ISO C 99 functions): New subsection Input/output.
26880         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
26881         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
26882         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
26883         (Compatibility checks for POSIX:2001 functions): Add clock-time.
26884         (Enhancements for POSIX:2001 functions): Add chdir-long.
26885         (File system functions): Add areadlink, chdir-safer, read-file.
26886         Remove cycle-check.
26887         (File system as inode set): New section.
26888         (Date and time): Add gethrxtime.
26889         (Multithreading): Add openmp.
26890         (Internationalization functions): Add localename.
26891         (Unicode string functions): Add unistr/u*-mbsnlen.
26892         (Support for maintaining and releasing projects): Add git-version-gen.
26893         (Lone files): Remove directories.
26894
26895 2007-10-08  Ben Pfaff  <blp@gnu.org>
26896
26897         * lib/xmalloca.h: Fix typo in comment.
26898
26899 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
26900
26901         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
26902         when avoiding problems with integer overflow.  Use a portable test
26903         instead.
26904
26905 2007-10-08  Simon Josefsson  <simon@josefsson.org>
26906
26907         * modules/dummy (License): Change to LGPLv2+.
26908         * modules/float (License): Likewise
26909         * modules/realloc (License): Likewise
26910         * modules/stdlib (License): Likewise
26911
26912 2007-10-07  Bruno Haible  <bruno@clisp.org>
26913
26914         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
26915         * floor.c (TWO_MANT_DIG): Likewise.
26916         * ceil.c (TWO_MANT_DIG): Likewise.
26917         Reported by Ben Pfaff.
26918
26919 2007-10-07  Bruno Haible  <bruno@clisp.org>
26920
26921         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
26922         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
26923         * lib/frexp.c (FUNC): Likewise.
26924         * lib/printf-frexp.h (printf_frexp): Likewise.
26925         * lib/printf-frexpl.h (printf_frexpl): Likewise.
26926         * lib/printf-frexp.c (FUNC): Likewise.
26927         Suggested by Jim Meyering.
26928
26929 2007-10-07  Jim Meyering  <meyering@redhat.com>
26930
26931         Make xnanosleep's integer overflow test more robust.
26932         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
26933         so that gcc-4.3.0 doesn't optimize away this test for overflow.
26934
26935 2007-10-07  Bruno Haible  <bruno@clisp.org>
26936
26937         * NEWS: Mention the license change.
26938
26939         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
26940         abbreviations in the modules files.
26941
26942         Change copyright notice from GPLv2+ to GPLv3+.
26943         * README: Change copyright notice.
26944         * MODULES.html.sh: Likewise.
26945         * build-aux/bootstrap.conf: Likewise.
26946         * build-aux/config.libpath: Likewise.
26947         * build-aux/csharpcomp.sh.in: Likewise.
26948         * build-aux/csharpexec.sh.in: Likewise.
26949         * build-aux/install-reloc: Likewise.
26950         * build-aux/javacomp.sh.in: Likewise.
26951         * build-aux/javaexec.sh.in: Likewise.
26952         * build-aux/ldd.sh.in: Likewise.
26953         * build-aux/reloc-ldflags: Likewise.
26954         * build-aux/relocatable.sh.in: Likewise.
26955         * build-aux/x-to-1.in: Likewise.
26956         * check-module: Likewise.
26957         * config/srclistvars.sh: Likewise.
26958         * gnulib-tool: Likewise.
26959         * lib/acl-internal.h: Likewise.
26960         * lib/acl.c: Likewise.
26961         * lib/acl.h: Likewise.
26962         * lib/acl_entries.c: Likewise.
26963         * lib/areadlink-with-size.c: Likewise.
26964         * lib/areadlink.c: Likewise.
26965         * lib/areadlink.h: Likewise.
26966         * lib/argmatch.c: Likewise.
26967         * lib/argmatch.h: Likewise.
26968         * lib/argp-ba.c: Likewise.
26969         * lib/argp-eexst.c: Likewise.
26970         * lib/argp-fmtstream.c: Likewise.
26971         * lib/argp-fmtstream.h: Likewise.
26972         * lib/argp-fs-xinl.c: Likewise.
26973         * lib/argp-help.c: Likewise.
26974         * lib/argp-namefrob.h: Likewise.
26975         * lib/argp-parse.c: Likewise.
26976         * lib/argp-pin.c: Likewise.
26977         * lib/argp-pv.c: Likewise.
26978         * lib/argp-pvh.c: Likewise.
26979         * lib/argp-xinl.c: Likewise.
26980         * lib/argp.h: Likewise.
26981         * lib/at-func.c: Likewise.
26982         * lib/atanl.c: Likewise.
26983         * lib/backupfile.c: Likewise.
26984         * lib/backupfile.h: Likewise.
26985         * lib/basename.c: Likewise.
26986         * lib/binary-io.h: Likewise.
26987         * lib/byteswap.in.h: Likewise.
26988         * lib/c-stack.c: Likewise.
26989         * lib/c-stack.h: Likewise.
26990         * lib/c-strcasestr.c: Likewise.
26991         * lib/c-strcasestr.h: Likewise.
26992         * lib/c-strstr.c: Likewise.
26993         * lib/c-strstr.h: Likewise.
26994         * lib/c-strtod.c: Likewise.
26995         * lib/calloc.c: Likewise.
26996         * lib/canon-host.c: Likewise.
26997         * lib/canon-host.h: Likewise.
26998         * lib/canonicalize-lgpl.c: Likewise.
26999         * lib/canonicalize.c: Likewise.
27000         * lib/canonicalize.h: Likewise.
27001         * lib/ceil.c: Likewise.
27002         * lib/ceilf.c: Likewise.
27003         * lib/ceill.c: Likewise.
27004         * lib/chdir-long.c: Likewise.
27005         * lib/chdir-long.h: Likewise.
27006         * lib/chdir-safer.c: Likewise.
27007         * lib/chdir-safer.h: Likewise.
27008         * lib/chown.c: Likewise.
27009         * lib/classpath.c: Likewise.
27010         * lib/classpath.h: Likewise.
27011         * lib/clean-temp.c: Likewise.
27012         * lib/clean-temp.h: Likewise.
27013         * lib/cloexec.c: Likewise.
27014         * lib/close-stream.c: Likewise.
27015         * lib/closein.c: Likewise.
27016         * lib/closein.h: Likewise.
27017         * lib/closeout.c: Likewise.
27018         * lib/closeout.h: Likewise.
27019         * lib/concat-filename.c: Likewise.
27020         * lib/copy-file.c: Likewise.
27021         * lib/copy-file.h: Likewise.
27022         * lib/count-one-bits.h: Likewise.
27023         * lib/crc.c: Likewise.
27024         * lib/crc.h: Likewise.
27025         * lib/creat-safer.c: Likewise.
27026         * lib/csharpcomp.c: Likewise.
27027         * lib/csharpcomp.h: Likewise.
27028         * lib/csharpexec.c: Likewise.
27029         * lib/csharpexec.h: Likewise.
27030         * lib/cycle-check.c: Likewise.
27031         * lib/cycle-check.h: Likewise.
27032         * lib/diacrit.c: Likewise.
27033         * lib/diacrit.h: Likewise.
27034         * lib/diffseq.h: Likewise.
27035         * lib/dirchownmod.c: Likewise.
27036         * lib/dirent.in.h: Likewise.
27037         * lib/dirfd.c: Likewise.
27038         * lib/dirfd.h: Likewise.
27039         * lib/dirname.c: Likewise.
27040         * lib/dirname.h: Likewise.
27041         * lib/dummy.c: Likewise.
27042         * lib/dup-safer.c: Likewise.
27043         * lib/dup2.c: Likewise.
27044         * lib/eealloc.h: Likewise.
27045         * lib/error.c: Likewise.
27046         * lib/error.h: Likewise.
27047         * lib/euidaccess.c: Likewise.
27048         * lib/exclude.c: Likewise.
27049         * lib/exclude.h: Likewise.
27050         * lib/execute.c: Likewise.
27051         * lib/execute.h: Likewise.
27052         * lib/exitfail.c: Likewise.
27053         * lib/exitfail.h: Likewise.
27054         * lib/expl.c: Likewise.
27055         * lib/fatal-signal.c: Likewise.
27056         * lib/fatal-signal.h: Likewise.
27057         * lib/fbufmode.c: Likewise.
27058         * lib/fbufmode.h: Likewise.
27059         * lib/fchdir.c: Likewise.
27060         * lib/fchmodat.c: Likewise.
27061         * lib/fchownat.c: Likewise.
27062         * lib/fcntl--.h: Likewise.
27063         * lib/fcntl-safer.h: Likewise.
27064         * lib/fcntl.in.h: Likewise.
27065         * lib/fd-safer.c: Likewise.
27066         * lib/fflush.c: Likewise.
27067         * lib/file-has-acl.c: Likewise.
27068         * lib/file-set.c: Likewise.
27069         * lib/file-type.c: Likewise.
27070         * lib/file-type.h: Likewise.
27071         * lib/fileblocks.c: Likewise.
27072         * lib/filemode.c: Likewise.
27073         * lib/filemode.h: Likewise.
27074         * lib/filename.h: Likewise.
27075         * lib/filenamecat.c: Likewise.
27076         * lib/filenamecat.h: Likewise.
27077         * lib/findprog.c: Likewise.
27078         * lib/findprog.h: Likewise.
27079         * lib/float.in.h: Likewise.
27080         * lib/floor.c: Likewise.
27081         * lib/floorf.c: Likewise.
27082         * lib/floorl.c: Likewise.
27083         * lib/fopen-safer.c: Likewise.
27084         * lib/fopen.c: Likewise.
27085         * lib/fpending.c: Likewise.
27086         * lib/fpending.h: Likewise.
27087         * lib/fprintf.c: Likewise.
27088         * lib/fprintftime.h: Likewise.
27089         * lib/fpucw.h: Likewise.
27090         * lib/fpurge.c: Likewise.
27091         * lib/fpurge.h: Likewise.
27092         * lib/freadable.c: Likewise.
27093         * lib/freadable.h: Likewise.
27094         * lib/freadahead.c: Likewise.
27095         * lib/freadahead.h: Likewise.
27096         * lib/freading.c: Likewise.
27097         * lib/freading.h: Likewise.
27098         * lib/free.c: Likewise.
27099         * lib/freopen.c: Likewise.
27100         * lib/frexp.c: Likewise.
27101         * lib/frexpl.c: Likewise.
27102         * lib/fseek.c: Likewise.
27103         * lib/fseterr.c: Likewise.
27104         * lib/fseterr.h: Likewise.
27105         * lib/fstatat.c: Likewise.
27106         * lib/fstrcmp.c: Likewise.
27107         * lib/fstrcmp.h: Likewise.
27108         * lib/fsusage.c: Likewise.
27109         * lib/fsusage.h: Likewise.
27110         * lib/ftell.c: Likewise.
27111         * lib/ftello.c: Likewise.
27112         * lib/fts-cycle.c: Likewise.
27113         * lib/fts.c: Likewise.
27114         * lib/fts_.h: Likewise.
27115         * lib/full-read.c: Likewise.
27116         * lib/full-read.h: Likewise.
27117         * lib/full-write.c: Likewise.
27118         * lib/full-write.h: Likewise.
27119         * lib/fwritable.c: Likewise.
27120         * lib/fwritable.h: Likewise.
27121         * lib/fwriteerror.c: Likewise.
27122         * lib/fwriteerror.h: Likewise.
27123         * lib/fwriting.c: Likewise.
27124         * lib/fwriting.h: Likewise.
27125         * lib/gcd.c: Likewise.
27126         * lib/gcd.h: Likewise.
27127         * lib/getcwd.c: Likewise.
27128         * lib/getdate.h: Likewise.
27129         * lib/getdate.y: Likewise.
27130         * lib/getdomainname.c: Likewise.
27131         * lib/getdomainname.h: Likewise.
27132         * lib/getgroups.c: Likewise.
27133         * lib/gethostname.c: Likewise.
27134         * lib/gethrxtime.c: Likewise.
27135         * lib/gethrxtime.h: Likewise.
27136         * lib/getloadavg.c: Likewise.
27137         * lib/getndelim2.c: Likewise.
27138         * lib/getndelim2.h: Likewise.
27139         * lib/getnline.c: Likewise.
27140         * lib/getnline.h: Likewise.
27141         * lib/getopt.c: Likewise.
27142         * lib/getopt.in.h: Likewise.
27143         * lib/getopt1.c: Likewise.
27144         * lib/getopt_int.h: Likewise.
27145         * lib/getpagesize.h: Likewise.
27146         * lib/getsubopt.c: Likewise.
27147         * lib/gettime.c: Likewise.
27148         * lib/getugroups.c: Likewise.
27149         * lib/getugroups.h: Likewise.
27150         * lib/getusershell.c: Likewise.
27151         * lib/gl_anyavltree_list1.h: Likewise.
27152         * lib/gl_anyavltree_list2.h: Likewise.
27153         * lib/gl_anyhash_list1.h: Likewise.
27154         * lib/gl_anyhash_list2.h: Likewise.
27155         * lib/gl_anylinked_list1.h: Likewise.
27156         * lib/gl_anylinked_list2.h: Likewise.
27157         * lib/gl_anyrbtree_list1.h: Likewise.
27158         * lib/gl_anyrbtree_list2.h: Likewise.
27159         * lib/gl_anytree_list1.h: Likewise.
27160         * lib/gl_anytree_list2.h: Likewise.
27161         * lib/gl_anytree_oset.h: Likewise.
27162         * lib/gl_anytreehash_list1.h: Likewise.
27163         * lib/gl_anytreehash_list2.h: Likewise.
27164         * lib/gl_array_list.c: Likewise.
27165         * lib/gl_array_list.h: Likewise.
27166         * lib/gl_array_oset.c: Likewise.
27167         * lib/gl_array_oset.h: Likewise.
27168         * lib/gl_avltree_list.c: Likewise.
27169         * lib/gl_avltree_list.h: Likewise.
27170         * lib/gl_avltree_oset.c: Likewise.
27171         * lib/gl_avltree_oset.h: Likewise.
27172         * lib/gl_avltreehash_list.c: Likewise.
27173         * lib/gl_avltreehash_list.h: Likewise.
27174         * lib/gl_carray_list.c: Likewise.
27175         * lib/gl_carray_list.h: Likewise.
27176         * lib/gl_linked_list.c: Likewise.
27177         * lib/gl_linked_list.h: Likewise.
27178         * lib/gl_linkedhash_list.c: Likewise.
27179         * lib/gl_linkedhash_list.h: Likewise.
27180         * lib/gl_list.c: Likewise.
27181         * lib/gl_list.h: Likewise.
27182         * lib/gl_oset.c: Likewise.
27183         * lib/gl_oset.h: Likewise.
27184         * lib/gl_rbtree_list.c: Likewise.
27185         * lib/gl_rbtree_list.h: Likewise.
27186         * lib/gl_rbtree_oset.c: Likewise.
27187         * lib/gl_rbtree_oset.h: Likewise.
27188         * lib/gl_rbtreehash_list.c: Likewise.
27189         * lib/gl_rbtreehash_list.h: Likewise.
27190         * lib/gl_sublist.c: Likewise.
27191         * lib/gl_sublist.h: Likewise.
27192         * lib/group-member.c: Likewise.
27193         * lib/group-member.h: Likewise.
27194         * lib/hard-locale.c: Likewise.
27195         * lib/hard-locale.h: Likewise.
27196         * lib/hash-pjw.c: Likewise.
27197         * lib/hash-pjw.h: Likewise.
27198         * lib/hash-triple.c: Likewise.
27199         * lib/hash.c: Likewise.
27200         * lib/hash.h: Likewise.
27201         * lib/human.c: Likewise.
27202         * lib/human.h: Likewise.
27203         * lib/i-ring.c: Likewise.
27204         * lib/i-ring.h: Likewise.
27205         * lib/idcache.c: Likewise.
27206         * lib/imaxabs.c: Likewise.
27207         * lib/imaxdiv.c: Likewise.
27208         * lib/inet_pton.c: Likewise.
27209         * lib/inet_pton.h: Likewise.
27210         * lib/intprops.h: Likewise.
27211         * lib/inttostr.c: Likewise.
27212         * lib/inttostr.h: Likewise.
27213         * lib/inttypes.in.h: Likewise.
27214         * lib/isapipe.c: Likewise.
27215         * lib/isdir.c: Likewise.
27216         * lib/isnan.c: Likewise.
27217         * lib/isnan.h: Likewise.
27218         * lib/isnanf.c: Likewise.
27219         * lib/isnanf.h: Likewise.
27220         * lib/isnanl-nolibm.h: Likewise.
27221         * lib/isnanl.c: Likewise.
27222         * lib/isnanl.h: Likewise.
27223         * lib/javacomp.c: Likewise.
27224         * lib/javacomp.h: Likewise.
27225         * lib/javaexec.c: Likewise.
27226         * lib/javaexec.h: Likewise.
27227         * lib/javaversion.c: Likewise.
27228         * lib/javaversion.h: Likewise.
27229         * lib/javaversion.java: Likewise.
27230         * lib/lbrkprop.h: Likewise.
27231         * lib/lchmod.h: Likewise.
27232         * lib/lchown.c: Likewise.
27233         * lib/ldexpl.c: Likewise.
27234         * lib/linebreak.c: Likewise.
27235         * lib/linebreak.h: Likewise.
27236         * lib/linebuffer.c: Likewise.
27237         * lib/linebuffer.h: Likewise.
27238         * lib/locale.in.h: Likewise.
27239         * lib/logl.c: Likewise.
27240         * lib/long-options.c: Likewise.
27241         * lib/long-options.h: Likewise.
27242         * lib/lstat.c: Likewise.
27243         * lib/lstat.h: Likewise.
27244         * lib/math.in.h: Likewise.
27245         * lib/mbchar.c: Likewise.
27246         * lib/mbchar.h: Likewise.
27247         * lib/mbfile.h: Likewise.
27248         * lib/mbiter.h: Likewise.
27249         * lib/mbscasecmp.c: Likewise.
27250         * lib/mbscasestr.c: Likewise.
27251         * lib/mbschr.c: Likewise.
27252         * lib/mbscspn.c: Likewise.
27253         * lib/mbslen.c: Likewise.
27254         * lib/mbsncasecmp.c: Likewise.
27255         * lib/mbsnlen.c: Likewise.
27256         * lib/mbspbrk.c: Likewise.
27257         * lib/mbspcasecmp.c: Likewise.
27258         * lib/mbsrchr.c: Likewise.
27259         * lib/mbssep.c: Likewise.
27260         * lib/mbsspn.c: Likewise.
27261         * lib/mbsstr.c: Likewise.
27262         * lib/mbstok_r.c: Likewise.
27263         * lib/mbswidth.c: Likewise.
27264         * lib/mbswidth.h: Likewise.
27265         * lib/mbuiter.h: Likewise.
27266         * lib/memcasecmp.c: Likewise.
27267         * lib/memcasecmp.h: Likewise.
27268         * lib/memchr.c: Likewise.
27269         * lib/memcmp.c: Likewise.
27270         * lib/memcoll.c: Likewise.
27271         * lib/memcoll.h: Likewise.
27272         * lib/memcpy.c: Likewise.
27273         * lib/memrchr.c: Likewise.
27274         * lib/mkancesdirs.c: Likewise.
27275         * lib/mkdir-p.c: Likewise.
27276         * lib/mkdir-p.h: Likewise.
27277         * lib/mkdir.c: Likewise.
27278         * lib/mkdirat.c: Likewise.
27279         * lib/mkdtemp.c: Likewise.
27280         * lib/mkstemp-safer.c: Likewise.
27281         * lib/mkstemp.c: Likewise.
27282         * lib/modechange.c: Likewise.
27283         * lib/modechange.h: Likewise.
27284         * lib/mountlist.c: Likewise.
27285         * lib/mountlist.h: Likewise.
27286         * lib/mpsort.c: Likewise.
27287         * lib/nanosleep.c: Likewise.
27288         * lib/obstack.c: Likewise.
27289         * lib/obstack.h: Likewise.
27290         * lib/open-safer.c: Likewise.
27291         * lib/open.c: Likewise.
27292         * lib/openat-die.c: Likewise.
27293         * lib/openat-priv.h: Likewise.
27294         * lib/openat-proc.c: Likewise.
27295         * lib/openat.c: Likewise.
27296         * lib/openat.h: Likewise.
27297         * lib/pagealign_alloc.c: Likewise.
27298         * lib/pagealign_alloc.h: Likewise.
27299         * lib/physmem.c: Likewise.
27300         * lib/physmem.h: Likewise.
27301         * lib/pipe-safer.c: Likewise.
27302         * lib/pipe.c: Likewise.
27303         * lib/pipe.h: Likewise.
27304         * lib/posixtm.c: Likewise.
27305         * lib/posixtm.h: Likewise.
27306         * lib/posixver.c: Likewise.
27307         * lib/printf-frexp.c: Likewise.
27308         * lib/printf-frexp.h: Likewise.
27309         * lib/printf-frexpl.c: Likewise.
27310         * lib/printf-frexpl.h: Likewise.
27311         * lib/printf.c: Likewise.
27312         * lib/progname.c: Likewise.
27313         * lib/progname.h: Likewise.
27314         * lib/progreloc.c: Likewise.
27315         * lib/putenv.c: Likewise.
27316         * lib/quote.c: Likewise.
27317         * lib/quote.h: Likewise.
27318         * lib/quotearg.c: Likewise.
27319         * lib/quotearg.h: Likewise.
27320         * lib/raise.c: Likewise.
27321         * lib/readline.c: Likewise.
27322         * lib/readline.h: Likewise.
27323         * lib/readlink.c: Likewise.
27324         * lib/readtokens.c: Likewise.
27325         * lib/readtokens.h: Likewise.
27326         * lib/readtokens0.c: Likewise.
27327         * lib/readtokens0.h: Likewise.
27328         * lib/readutmp.c: Likewise.
27329         * lib/readutmp.h: Likewise.
27330         * lib/realloc.c: Likewise.
27331         * lib/relocwrapper.c: Likewise.
27332         * lib/rename-dest-slash.c: Likewise.
27333         * lib/rename.c: Likewise.
27334         * lib/rmdir.c: Likewise.
27335         * lib/rpmatch.c: Likewise.
27336         * lib/safe-read.c: Likewise.
27337         * lib/safe-read.h: Likewise.
27338         * lib/safe-write.c: Likewise.
27339         * lib/safe-write.h: Likewise.
27340         * lib/same-inode.h: Likewise.
27341         * lib/same.c: Likewise.
27342         * lib/same.h: Likewise.
27343         * lib/save-cwd.c: Likewise.
27344         * lib/save-cwd.h: Likewise.
27345         * lib/savedir.c: Likewise.
27346         * lib/savedir.h: Likewise.
27347         * lib/savewd.c: Likewise.
27348         * lib/savewd.h: Likewise.
27349         * lib/search.in.h: Likewise.
27350         * lib/setenv.c: Likewise.
27351         * lib/setenv.h: Likewise.
27352         * lib/settime.c: Likewise.
27353         * lib/sh-quote.c: Likewise.
27354         * lib/sh-quote.h: Likewise.
27355         * lib/sig2str.c: Likewise.
27356         * lib/sig2str.h: Likewise.
27357         * lib/signal.in.h: Likewise.
27358         * lib/signbitd.c: Likewise.
27359         * lib/signbitf.c: Likewise.
27360         * lib/signbitl.c: Likewise.
27361         * lib/sigprocmask.c: Likewise.
27362         * lib/sincosl.c: Likewise.
27363         * lib/sleep.c: Likewise.
27364         * lib/sprintf.c: Likewise.
27365         * lib/sqrtl.c: Likewise.
27366         * lib/stat-time.h: Likewise.
27367         * lib/stdio--.h: Likewise.
27368         * lib/stdio-safer.h: Likewise.
27369         * lib/stdlib--.h: Likewise.
27370         * lib/stdlib-safer.h: Likewise.
27371         * lib/stdlib.in.h: Likewise.
27372         * lib/stpcpy.c: Likewise.
27373         * lib/stpncpy.c: Likewise.
27374         * lib/strchrnul.c: Likewise.
27375         * lib/strcspn.c: Likewise.
27376         * lib/strerror.c: Likewise.
27377         * lib/strftime.c: Likewise.
27378         * lib/strftime.h: Likewise.
27379         * lib/striconveh.c: Likewise.
27380         * lib/striconveh.h: Likewise.
27381         * lib/striconveha.c: Likewise.
27382         * lib/striconveha.h: Likewise.
27383         * lib/stripslash.c: Likewise.
27384         * lib/strnlen1.c: Likewise.
27385         * lib/strnlen1.h: Likewise.
27386         * lib/strtod.c: Likewise.
27387         * lib/strtoimax.c: Likewise.
27388         * lib/strtok_r.c: Likewise.
27389         * lib/strtol.c: Likewise.
27390         * lib/strtoll.c: Likewise.
27391         * lib/strtoul.c: Likewise.
27392         * lib/strtoull.c: Likewise.
27393         * lib/sysexits.in.h: Likewise.
27394         * lib/tempname.c: Likewise.
27395         * lib/tempname.h: Likewise.
27396         * lib/timespec.h: Likewise.
27397         * lib/tls.c: Likewise.
27398         * lib/tls.h: Likewise.
27399         * lib/tmpdir.c: Likewise.
27400         * lib/tmpdir.h: Likewise.
27401         * lib/tmpfile-safer.c: Likewise.
27402         * lib/tmpfile.c: Likewise.
27403         * lib/trigl.c: Likewise.
27404         * lib/trigl.h: Likewise.
27405         * lib/trim.c: Likewise.
27406         * lib/trim.h: Likewise.
27407         * lib/trunc.c: Likewise.
27408         * lib/truncf.c: Likewise.
27409         * lib/truncl.c: Likewise.
27410         * lib/tsearch.c: Likewise.
27411         * lib/unicodeio.c: Likewise.
27412         * lib/unicodeio.h: Likewise.
27413         * lib/unistd--.h: Likewise.
27414         * lib/unistd-safer.h: Likewise.
27415         * lib/unistdio/ulc-fprintf.c: Likewise.
27416         * lib/unistdio/ulc-vfprintf.c: Likewise.
27417         * lib/unlinkdir.c: Likewise.
27418         * lib/unlinkdir.h: Likewise.
27419         * lib/unlocked-io.h: Likewise.
27420         * lib/unsetenv.c: Likewise.
27421         * lib/userspec.c: Likewise.
27422         * lib/utime.c: Likewise.
27423         * lib/utimecmp.c: Likewise.
27424         * lib/utimecmp.h: Likewise.
27425         * lib/utimens.c: Likewise.
27426         * lib/verify.h: Likewise.
27427         * lib/verror.c: Likewise.
27428         * lib/verror.h: Likewise.
27429         * lib/version-etc-fsf.c: Likewise.
27430         * lib/version-etc.c: Likewise.
27431         * lib/version-etc.h: Likewise.
27432         * lib/vfprintf.c: Likewise.
27433         * lib/vprintf.c: Likewise.
27434         * lib/vsprintf.c: Likewise.
27435         * lib/w32spawn.h: Likewise.
27436         * lib/wait-process.c: Likewise.
27437         * lib/wait-process.h: Likewise.
27438         * lib/wcwidth.c: Likewise.
27439         * lib/write-any-file.c: Likewise.
27440         * lib/xalloc-die.c: Likewise.
27441         * lib/xalloc.h: Likewise.
27442         * lib/xasprintf.c: Likewise.
27443         * lib/xgetcwd.c: Likewise.
27444         * lib/xgetcwd.h: Likewise.
27445         * lib/xgetdomainname.c: Likewise.
27446         * lib/xgetdomainname.h: Likewise.
27447         * lib/xgethostname.c: Likewise.
27448         * lib/xmalloc.c: Likewise.
27449         * lib/xmalloca.c: Likewise.
27450         * lib/xmalloca.h: Likewise.
27451         * lib/xmemcoll.c: Likewise.
27452         * lib/xnanosleep.c: Likewise.
27453         * lib/xreadlink.c: Likewise.
27454         * lib/xreadlink.h: Likewise.
27455         * lib/xsetenv.c: Likewise.
27456         * lib/xsetenv.h: Likewise.
27457         * lib/xstriconv.c: Likewise.
27458         * lib/xstriconv.h: Likewise.
27459         * lib/xstrndup.c: Likewise.
27460         * lib/xstrndup.h: Likewise.
27461         * lib/xstrtod.c: Likewise.
27462         * lib/xstrtod.h: Likewise.
27463         * lib/xstrtol-error.c: Likewise.
27464         * lib/xstrtol.c: Likewise.
27465         * lib/xstrtol.h: Likewise.
27466         * lib/xtime.h: Likewise.
27467         * lib/xvasprintf.c: Likewise.
27468         * lib/xvasprintf.h: Likewise.
27469         * lib/yesno.c: Likewise.
27470         * lib/yesno.h: Likewise.
27471         * posix-modules: Likewise.
27472         * tests/test-alloca-opt.c: Likewise.
27473         * tests/test-arcfour.c: Likewise.
27474         * tests/test-arctwo.c: Likewise.
27475         * tests/test-argmatch.c: Likewise.
27476         * tests/test-argp-2.sh: Likewise.
27477         * tests/test-argp.c: Likewise.
27478         * tests/test-arpa_inet.c: Likewise.
27479         * tests/test-array_list.c: Likewise.
27480         * tests/test-array_oset.c: Likewise.
27481         * tests/test-atexit.c: Likewise.
27482         * tests/test-avltree_list.c: Likewise.
27483         * tests/test-avltree_oset.c: Likewise.
27484         * tests/test-avltreehash_list.c: Likewise.
27485         * tests/test-base64.c: Likewise.
27486         * tests/test-binary-io.c: Likewise.
27487         * tests/test-byteswap.c: Likewise.
27488         * tests/test-c-ctype.c: Likewise.
27489         * tests/test-c-strcasecmp.c: Likewise.
27490         * tests/test-c-strcasestr.c: Likewise.
27491         * tests/test-c-strncasecmp.c: Likewise.
27492         * tests/test-c-strstr.c: Likewise.
27493         * tests/test-canonicalize-lgpl.c: Likewise.
27494         * tests/test-canonicalize.c: Likewise.
27495         * tests/test-carray_list.c: Likewise.
27496         * tests/test-ceilf.c: Likewise.
27497         * tests/test-ceill.c: Likewise.
27498         * tests/test-count-one-bits.c: Likewise.
27499         * tests/test-crc.c: Likewise.
27500         * tests/test-dirname.c: Likewise.
27501         * tests/test-fbufmode.c: Likewise.
27502         * tests/test-fcntl.c: Likewise.
27503         * tests/test-fflush.c: Likewise.
27504         * tests/test-floorf.c: Likewise.
27505         * tests/test-floorl.c: Likewise.
27506         * tests/test-fopen.c: Likewise.
27507         * tests/test-fprintf-posix.c: Likewise.
27508         * tests/test-fprintf-posix.h: Likewise.
27509         * tests/test-fpurge.c: Likewise.
27510         * tests/test-freadable.c: Likewise.
27511         * tests/test-freadahead.c: Likewise.
27512         * tests/test-freading.c: Likewise.
27513         * tests/test-freopen.c: Likewise.
27514         * tests/test-frexp.c: Likewise.
27515         * tests/test-frexpl.c: Likewise.
27516         * tests/test-fseek.c: Likewise.
27517         * tests/test-fseeko.c: Likewise.
27518         * tests/test-fseterr.c: Likewise.
27519         * tests/test-fstrcmp.c: Likewise.
27520         * tests/test-ftell.c: Likewise.
27521         * tests/test-ftello.c: Likewise.
27522         * tests/test-fwritable.c: Likewise.
27523         * tests/test-fwriting.c: Likewise.
27524         * tests/test-getaddrinfo.c: Likewise.
27525         * tests/test-getpass.c: Likewise.
27526         * tests/test-gettimeofday.c: Likewise.
27527         * tests/test-hmac-md5.c: Likewise.
27528         * tests/test-hmac-sha1.c: Likewise.
27529         * tests/test-iconv.c: Likewise.
27530         * tests/test-iconvme.c: Likewise.
27531         * tests/test-inttypes.c: Likewise.
27532         * tests/test-isnan.c: Likewise.
27533         * tests/test-isnanf.c: Likewise.
27534         * tests/test-isnanl-nolibm.c: Likewise.
27535         * tests/test-isnanl.c: Likewise.
27536         * tests/test-isnanl.h: Likewise.
27537         * tests/test-ldexpl.c: Likewise.
27538         * tests/test-linked_list.c: Likewise.
27539         * tests/test-linkedhash_list.c: Likewise.
27540         * tests/test-locale.c: Likewise.
27541         * tests/test-localename.c: Likewise.
27542         * tests/test-lock.c: Likewise.
27543         * tests/test-lseek.c: Likewise.
27544         * tests/test-malloca.c: Likewise.
27545         * tests/test-math.c: Likewise.
27546         * tests/test-mbscasecmp.c: Likewise.
27547         * tests/test-mbscasestr1.c: Likewise.
27548         * tests/test-mbscasestr2.c: Likewise.
27549         * tests/test-mbscasestr3.c: Likewise.
27550         * tests/test-mbscasestr4.c: Likewise.
27551         * tests/test-mbschr.c: Likewise.
27552         * tests/test-mbscspn.c: Likewise.
27553         * tests/test-mbsncasecmp.c: Likewise.
27554         * tests/test-mbspbrk.c: Likewise.
27555         * tests/test-mbspcasecmp.c: Likewise.
27556         * tests/test-mbsrchr.c: Likewise.
27557         * tests/test-mbsspn.c: Likewise.
27558         * tests/test-mbsstr1.c: Likewise.
27559         * tests/test-mbsstr2.c: Likewise.
27560         * tests/test-mbsstr3.c: Likewise.
27561         * tests/test-md5.c: Likewise.
27562         * tests/test-memmem.c: Likewise.
27563         * tests/test-netinet_in.c: Likewise.
27564         * tests/test-open.c: Likewise.
27565         * tests/test-printf-frexp.c: Likewise.
27566         * tests/test-printf-frexpl.c: Likewise.
27567         * tests/test-printf-posix.c: Likewise.
27568         * tests/test-printf-posix.h: Likewise.
27569         * tests/test-rbtree_list.c: Likewise.
27570         * tests/test-rbtree_oset.c: Likewise.
27571         * tests/test-rbtreehash_list.c: Likewise.
27572         * tests/test-read-file.c: Likewise.
27573         * tests/test-rijndael.c: Likewise.
27574         * tests/test-search.c: Likewise.
27575         * tests/test-signbit.c: Likewise.
27576         * tests/test-sleep.c: Likewise.
27577         * tests/test-snprintf-posix.c: Likewise.
27578         * tests/test-snprintf-posix.h: Likewise.
27579         * tests/test-snprintf.c: Likewise.
27580         * tests/test-sprintf-posix.c: Likewise.
27581         * tests/test-sprintf-posix.h: Likewise.
27582         * tests/test-stat-time.c: Likewise.
27583         * tests/test-stdbool.c: Likewise.
27584         * tests/test-stdint.c: Likewise.
27585         * tests/test-stdio.c: Likewise.
27586         * tests/test-stdlib.c: Likewise.
27587         * tests/test-stpncpy.c: Likewise.
27588         * tests/test-strcasestr.c: Likewise.
27589         * tests/test-striconv.c: Likewise.
27590         * tests/test-striconveh.c: Likewise.
27591         * tests/test-striconveha.c: Likewise.
27592         * tests/test-string.c: Likewise.
27593         * tests/test-sys_select.c: Likewise.
27594         * tests/test-sys_socket.c: Likewise.
27595         * tests/test-sys_stat.c: Likewise.
27596         * tests/test-sys_time.c: Likewise.
27597         * tests/test-sysexits.c: Likewise.
27598         * tests/test-time.c: Likewise.
27599         * tests/test-tls.c: Likewise.
27600         * tests/test-trunc.c: Likewise.
27601         * tests/test-truncf.c: Likewise.
27602         * tests/test-truncl.c: Likewise.
27603         * tests/test-unistd.c: Likewise.
27604         * tests/test-vasnprintf-posix.c: Likewise.
27605         * tests/test-vasnprintf-posix2.c: Likewise.
27606         * tests/test-vasnprintf.c: Likewise.
27607         * tests/test-vasprintf-posix.c: Likewise.
27608         * tests/test-vasprintf.c: Likewise.
27609         * tests/test-verify.c: Likewise.
27610         * tests/test-vfprintf-posix.c: Likewise.
27611         * tests/test-vprintf-posix.c: Likewise.
27612         * tests/test-vsnprintf-posix.c: Likewise.
27613         * tests/test-vsnprintf.c: Likewise.
27614         * tests/test-vsprintf-posix.c: Likewise.
27615         * tests/test-wchar.c: Likewise.
27616         * tests/test-wctype.c: Likewise.
27617         * tests/test-wcwidth.c: Likewise.
27618         * tests/test-xstrtol.c: Likewise.
27619         * tests/test-xvasprintf.c: Likewise.
27620         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
27621         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
27622         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
27623         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
27624         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
27625         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
27626         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
27627         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
27628         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
27629         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
27630         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
27631         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
27632         * tests/uniname/test-uninames.c: Likewise.
27633         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
27634         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
27635         * tests/unistdio/test-u16-printf1.h: Likewise.
27636         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
27637         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
27638         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
27639         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
27640         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
27641         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
27642         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
27643         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
27644         * tests/unistdio/test-u32-printf1.h: Likewise.
27645         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
27646         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
27647         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
27648         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
27649         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
27650         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
27651         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
27652         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
27653         * tests/unistdio/test-u8-printf1.h: Likewise.
27654         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
27655         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
27656         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
27657         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
27658         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
27659         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
27660         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
27661         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
27662         * tests/unistdio/test-ulc-printf1.h: Likewise.
27663         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
27664         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
27665         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
27666         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
27667         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
27668         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
27669         * tests/uniwidth/test-u16-strwidth.c: Likewise.
27670         * tests/uniwidth/test-u16-width.c: Likewise.
27671         * tests/uniwidth/test-u32-strwidth.c: Likewise.
27672         * tests/uniwidth/test-u32-width.c: Likewise.
27673         * tests/uniwidth/test-u8-strwidth.c: Likewise.
27674         * tests/uniwidth/test-u8-width.c: Likewise.
27675         * tests/uniwidth/test-uc_width.c: Likewise.
27676         * config/srclist-update: Likewise.
27677         (fixlicense): Update to GPLv3+.
27678
27679         Change copyright notice from LGPLv2.1+ to LGPLv3+.
27680         * tests/test-tsearch.c: Change copyright notice.
27681
27682         Change copyright notice from LGPLv2.0+ to LGPLv3+.
27683         * lib/c-strcaseeq.h: Change copyright notice.
27684         * lib/streq.h: Likewise.
27685         * lib/uniconv.h: Likewise.
27686         * lib/uniconv/u-conv-from-enc.h: Likewise.
27687         * lib/uniconv/u-conv-to-enc.h: Likewise.
27688         * lib/uniconv/u-strconv-from-enc.h: Likewise.
27689         * lib/uniconv/u-strconv-to-enc.h: Likewise.
27690         * lib/uniconv/u16-conv-from-enc.c: Likewise.
27691         * lib/uniconv/u16-conv-to-enc.c: Likewise.
27692         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
27693         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
27694         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
27695         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
27696         * lib/uniconv/u32-conv-from-enc.c: Likewise.
27697         * lib/uniconv/u32-conv-to-enc.c: Likewise.
27698         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
27699         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
27700         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
27701         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
27702         * lib/uniconv/u8-conv-from-enc.c: Likewise.
27703         * lib/uniconv/u8-conv-to-enc.c: Likewise.
27704         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
27705         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
27706         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
27707         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
27708         * lib/uniname.h: Likewise.
27709         * lib/uniname/uniname.c: Likewise.
27710         * lib/unistdio.h: Likewise.
27711         * lib/unistdio/u-asnprintf.h: Likewise.
27712         * lib/unistdio/u-asprintf.h: Likewise.
27713         * lib/unistdio/u-printf-args.c: Likewise.
27714         * lib/unistdio/u-printf-args.h: Likewise.
27715         * lib/unistdio/u-printf-parse.h: Likewise.
27716         * lib/unistdio/u-snprintf.h: Likewise.
27717         * lib/unistdio/u-sprintf.h: Likewise.
27718         * lib/unistdio/u-vasprintf.h: Likewise.
27719         * lib/unistdio/u-vsnprintf.h: Likewise.
27720         * lib/unistdio/u-vsprintf.h: Likewise.
27721         * lib/unistdio/u16-asnprintf.c: Likewise.
27722         * lib/unistdio/u16-asprintf.c: Likewise.
27723         * lib/unistdio/u16-printf-parse.c: Likewise.
27724         * lib/unistdio/u16-snprintf.c: Likewise.
27725         * lib/unistdio/u16-sprintf.c: Likewise.
27726         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
27727         * lib/unistdio/u16-u16-asprintf.c: Likewise.
27728         * lib/unistdio/u16-u16-snprintf.c: Likewise.
27729         * lib/unistdio/u16-u16-sprintf.c: Likewise.
27730         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
27731         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
27732         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
27733         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
27734         * lib/unistdio/u16-vasnprintf.c: Likewise.
27735         * lib/unistdio/u16-vasprintf.c: Likewise.
27736         * lib/unistdio/u16-vsnprintf.c: Likewise.
27737         * lib/unistdio/u16-vsprintf.c: Likewise.
27738         * lib/unistdio/u32-asnprintf.c: Likewise.
27739         * lib/unistdio/u32-asprintf.c: Likewise.
27740         * lib/unistdio/u32-printf-parse.c: Likewise.
27741         * lib/unistdio/u32-snprintf.c: Likewise.
27742         * lib/unistdio/u32-sprintf.c: Likewise.
27743         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
27744         * lib/unistdio/u32-u32-asprintf.c: Likewise.
27745         * lib/unistdio/u32-u32-snprintf.c: Likewise.
27746         * lib/unistdio/u32-u32-sprintf.c: Likewise.
27747         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
27748         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
27749         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
27750         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
27751         * lib/unistdio/u32-vasnprintf.c: Likewise.
27752         * lib/unistdio/u32-vasprintf.c: Likewise.
27753         * lib/unistdio/u32-vsnprintf.c: Likewise.
27754         * lib/unistdio/u32-vsprintf.c: Likewise.
27755         * lib/unistdio/u8-asnprintf.c: Likewise.
27756         * lib/unistdio/u8-asprintf.c: Likewise.
27757         * lib/unistdio/u8-printf-parse.c: Likewise.
27758         * lib/unistdio/u8-snprintf.c: Likewise.
27759         * lib/unistdio/u8-sprintf.c: Likewise.
27760         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
27761         * lib/unistdio/u8-u8-asprintf.c: Likewise.
27762         * lib/unistdio/u8-u8-snprintf.c: Likewise.
27763         * lib/unistdio/u8-u8-sprintf.c: Likewise.
27764         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
27765         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
27766         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
27767         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
27768         * lib/unistdio/u8-vasnprintf.c: Likewise.
27769         * lib/unistdio/u8-vasprintf.c: Likewise.
27770         * lib/unistdio/u8-vsnprintf.c: Likewise.
27771         * lib/unistdio/u8-vsprintf.c: Likewise.
27772         * lib/unistdio/ulc-asnprintf.c: Likewise.
27773         * lib/unistdio/ulc-asprintf.c: Likewise.
27774         * lib/unistdio/ulc-printf-parse.c: Likewise.
27775         * lib/unistdio/ulc-snprintf.c: Likewise.
27776         * lib/unistdio/ulc-sprintf.c: Likewise.
27777         * lib/unistdio/ulc-vasnprintf.c: Likewise.
27778         * lib/unistdio/ulc-vasprintf.c: Likewise.
27779         * lib/unistdio/ulc-vsnprintf.c: Likewise.
27780         * lib/unistdio/ulc-vsprintf.c: Likewise.
27781         * lib/unistr.h: Likewise.
27782         * lib/unistr/u-cpy-alloc.h: Likewise.
27783         * lib/unistr/u-cpy.h: Likewise.
27784         * lib/unistr/u-endswith.h: Likewise.
27785         * lib/unistr/u-move.h: Likewise.
27786         * lib/unistr/u-set.h: Likewise.
27787         * lib/unistr/u-startswith.h: Likewise.
27788         * lib/unistr/u-stpcpy.h: Likewise.
27789         * lib/unistr/u-stpncpy.h: Likewise.
27790         * lib/unistr/u-strcat.h: Likewise.
27791         * lib/unistr/u-strcpy.h: Likewise.
27792         * lib/unistr/u-strcspn.h: Likewise.
27793         * lib/unistr/u-strdup.h: Likewise.
27794         * lib/unistr/u-strlen.h: Likewise.
27795         * lib/unistr/u-strncat.h: Likewise.
27796         * lib/unistr/u-strncpy.h: Likewise.
27797         * lib/unistr/u-strnlen.h: Likewise.
27798         * lib/unistr/u-strpbrk.h: Likewise.
27799         * lib/unistr/u-strspn.h: Likewise.
27800         * lib/unistr/u-strstr.h: Likewise.
27801         * lib/unistr/u-strtok.h: Likewise.
27802         * lib/unistr/u16-check.c: Likewise.
27803         * lib/unistr/u16-chr.c: Likewise.
27804         * lib/unistr/u16-cmp.c: Likewise.
27805         * lib/unistr/u16-cpy-alloc.c: Likewise.
27806         * lib/unistr/u16-cpy.c: Likewise.
27807         * lib/unistr/u16-endswith.c: Likewise.
27808         * lib/unistr/u16-mblen.c: Likewise.
27809         * lib/unistr/u16-mbsnlen.c: Likewise.
27810         * lib/unistr/u16-mbtouc-aux.c: Likewise.
27811         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
27812         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
27813         * lib/unistr/u16-mbtouc.c: Likewise.
27814         * lib/unistr/u16-mbtoucr.c: Likewise.
27815         * lib/unistr/u16-move.c: Likewise.
27816         * lib/unistr/u16-next.c: Likewise.
27817         * lib/unistr/u16-prev.c: Likewise.
27818         * lib/unistr/u16-set.c: Likewise.
27819         * lib/unistr/u16-startswith.c: Likewise.
27820         * lib/unistr/u16-stpcpy.c: Likewise.
27821         * lib/unistr/u16-stpncpy.c: Likewise.
27822         * lib/unistr/u16-strcat.c: Likewise.
27823         * lib/unistr/u16-strchr.c: Likewise.
27824         * lib/unistr/u16-strcmp.c: Likewise.
27825         * lib/unistr/u16-strcpy.c: Likewise.
27826         * lib/unistr/u16-strcspn.c: Likewise.
27827         * lib/unistr/u16-strdup.c: Likewise.
27828         * lib/unistr/u16-strlen.c: Likewise.
27829         * lib/unistr/u16-strmblen.c: Likewise.
27830         * lib/unistr/u16-strmbtouc.c: Likewise.
27831         * lib/unistr/u16-strncat.c: Likewise.
27832         * lib/unistr/u16-strncmp.c: Likewise.
27833         * lib/unistr/u16-strncpy.c: Likewise.
27834         * lib/unistr/u16-strnlen.c: Likewise.
27835         * lib/unistr/u16-strpbrk.c: Likewise.
27836         * lib/unistr/u16-strrchr.c: Likewise.
27837         * lib/unistr/u16-strspn.c: Likewise.
27838         * lib/unistr/u16-strstr.c: Likewise.
27839         * lib/unistr/u16-strtok.c: Likewise.
27840         * lib/unistr/u16-to-u32.c: Likewise.
27841         * lib/unistr/u16-to-u8.c: Likewise.
27842         * lib/unistr/u16-uctomb-aux.c: Likewise.
27843         * lib/unistr/u16-uctomb.c: Likewise.
27844         * lib/unistr/u32-check.c: Likewise.
27845         * lib/unistr/u32-chr.c: Likewise.
27846         * lib/unistr/u32-cmp.c: Likewise.
27847         * lib/unistr/u32-cpy-alloc.c: Likewise.
27848         * lib/unistr/u32-cpy.c: Likewise.
27849         * lib/unistr/u32-endswith.c: Likewise.
27850         * lib/unistr/u32-mblen.c: Likewise.
27851         * lib/unistr/u32-mbsnlen.c: Likewise.
27852         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
27853         * lib/unistr/u32-mbtouc.c: Likewise.
27854         * lib/unistr/u32-mbtoucr.c: Likewise.
27855         * lib/unistr/u32-move.c: Likewise.
27856         * lib/unistr/u32-next.c: Likewise.
27857         * lib/unistr/u32-prev.c: Likewise.
27858         * lib/unistr/u32-set.c: Likewise.
27859         * lib/unistr/u32-startswith.c: Likewise.
27860         * lib/unistr/u32-stpcpy.c: Likewise.
27861         * lib/unistr/u32-stpncpy.c: Likewise.
27862         * lib/unistr/u32-strcat.c: Likewise.
27863         * lib/unistr/u32-strchr.c: Likewise.
27864         * lib/unistr/u32-strcmp.c: Likewise.
27865         * lib/unistr/u32-strcpy.c: Likewise.
27866         * lib/unistr/u32-strcspn.c: Likewise.
27867         * lib/unistr/u32-strdup.c: Likewise.
27868         * lib/unistr/u32-strlen.c: Likewise.
27869         * lib/unistr/u32-strmblen.c: Likewise.
27870         * lib/unistr/u32-strmbtouc.c: Likewise.
27871         * lib/unistr/u32-strncat.c: Likewise.
27872         * lib/unistr/u32-strncmp.c: Likewise.
27873         * lib/unistr/u32-strncpy.c: Likewise.
27874         * lib/unistr/u32-strnlen.c: Likewise.
27875         * lib/unistr/u32-strpbrk.c: Likewise.
27876         * lib/unistr/u32-strrchr.c: Likewise.
27877         * lib/unistr/u32-strspn.c: Likewise.
27878         * lib/unistr/u32-strstr.c: Likewise.
27879         * lib/unistr/u32-strtok.c: Likewise.
27880         * lib/unistr/u32-to-u16.c: Likewise.
27881         * lib/unistr/u32-to-u8.c: Likewise.
27882         * lib/unistr/u32-uctomb.c: Likewise.
27883         * lib/unistr/u8-check.c: Likewise.
27884         * lib/unistr/u8-chr.c: Likewise.
27885         * lib/unistr/u8-cmp.c: Likewise.
27886         * lib/unistr/u8-cpy-alloc.c: Likewise.
27887         * lib/unistr/u8-cpy.c: Likewise.
27888         * lib/unistr/u8-endswith.c: Likewise.
27889         * lib/unistr/u8-mblen.c: Likewise.
27890         * lib/unistr/u8-mbsnlen.c: Likewise.
27891         * lib/unistr/u8-mbtouc-aux.c: Likewise.
27892         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
27893         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
27894         * lib/unistr/u8-mbtouc.c: Likewise.
27895         * lib/unistr/u8-mbtoucr.c: Likewise.
27896         * lib/unistr/u8-move.c: Likewise.
27897         * lib/unistr/u8-next.c: Likewise.
27898         * lib/unistr/u8-prev.c: Likewise.
27899         * lib/unistr/u8-set.c: Likewise.
27900         * lib/unistr/u8-startswith.c: Likewise.
27901         * lib/unistr/u8-stpcpy.c: Likewise.
27902         * lib/unistr/u8-stpncpy.c: Likewise.
27903         * lib/unistr/u8-strcat.c: Likewise.
27904         * lib/unistr/u8-strchr.c: Likewise.
27905         * lib/unistr/u8-strcmp.c: Likewise.
27906         * lib/unistr/u8-strcpy.c: Likewise.
27907         * lib/unistr/u8-strcspn.c: Likewise.
27908         * lib/unistr/u8-strdup.c: Likewise.
27909         * lib/unistr/u8-strlen.c: Likewise.
27910         * lib/unistr/u8-strmblen.c: Likewise.
27911         * lib/unistr/u8-strmbtouc.c: Likewise.
27912         * lib/unistr/u8-strncat.c: Likewise.
27913         * lib/unistr/u8-strncmp.c: Likewise.
27914         * lib/unistr/u8-strncpy.c: Likewise.
27915         * lib/unistr/u8-strnlen.c: Likewise.
27916         * lib/unistr/u8-strpbrk.c: Likewise.
27917         * lib/unistr/u8-strrchr.c: Likewise.
27918         * lib/unistr/u8-strspn.c: Likewise.
27919         * lib/unistr/u8-strstr.c: Likewise.
27920         * lib/unistr/u8-strtok.c: Likewise.
27921         * lib/unistr/u8-to-u16.c: Likewise.
27922         * lib/unistr/u8-to-u32.c: Likewise.
27923         * lib/unistr/u8-uctomb-aux.c: Likewise.
27924         * lib/unistr/u8-uctomb.c: Likewise.
27925         * lib/unitypes.h: Likewise.
27926         * lib/uniwidth.h: Likewise.
27927         * lib/uniwidth/cjk.h: Likewise.
27928         * lib/uniwidth/u16-strwidth.c: Likewise.
27929         * lib/uniwidth/u16-width.c: Likewise.
27930         * lib/uniwidth/u32-strwidth.c: Likewise.
27931         * lib/uniwidth/u32-width.c: Likewise.
27932         * lib/uniwidth/u8-strwidth.c: Likewise.
27933         * lib/uniwidth/u8-width.c: Likewise.
27934         * lib/uniwidth/width.c: Likewise.
27935
27936 2007-10-07  Bruno Haible  <bruno@clisp.org>
27937
27938         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
27939         The file is still under LGPL (see modules/inttypes).
27940
27941 2007-10-06  Bruno Haible  <bruno@clisp.org>
27942
27943         * modules/trunc (Dependencies): Add 'extensions'.
27944         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
27945         Reported by Ben Pfaff <blp@gnu.org>.
27946
27947 2007-10-06  Bruno Haible  <bruno@clisp.org>
27948
27949         * modules/freopen-tests: New file.
27950         * tests/test-freopen.c: New file.
27951
27952         * modules/fopen-tests: New file.
27953         * tests/test-fopen.c: New file.
27954
27955         * modules/fopen: New file.
27956         * lib/fopen.c: New file.
27957         * m4/fopen.m4: New file.
27958         * modules/freopen: New file.
27959         * lib/freopen.c: New file.
27960         * m4/freopen.m4: New file.
27961         * lib/stdio.in.h (fopen, freopen): New declarations.
27962         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
27963         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
27964         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
27965         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
27966         * doc/functions/fopen.texi: Mention the 'fopen' module.
27967         * doc/functions/freopen.texi: Mention the 'freopen' module.
27968
27969 2007-10-06  Bruno Haible  <bruno@clisp.org>
27970
27971         * modules/open-tests: New file.
27972         * tests/test-open.c: New file.
27973
27974         * modules/open: New file.
27975         * lib/open.c: New file.
27976         * m4/open.m4: New file.
27977         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
27978         lib/open.c does.
27979         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
27980         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
27981         macros.
27982         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
27983         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
27984         REPLACE_OPEN.
27985         * doc/functions/open.texi: Mention the 'open' module.
27986
27987 2007-10-04  Bruno Haible  <bruno@clisp.org>
27988
27989         * modules/ceill-tests: New file.
27990         * tests/test-ceill.c: New file.
27991
27992         * modules/ceill: New file.
27993         * lib/ceill.c: Replace entire file.
27994         * m4/ceill.m4: New file.
27995         * lib/math.in.h (ceill): Replace declaration.
27996         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
27997         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
27998         * doc/functions/ceill.texi: Mention the 'ceill' module.
27999         * modules/mathl (Files): Remove lib/ceill.c.
28000         (Depends-on): Add ceill.
28001
28002 2007-10-04  Bruno Haible  <bruno@clisp.org>
28003
28004         * modules/ceilf-tests: New file.
28005         * tests/test-ceilf.c: New file.
28006
28007         * modules/ceilf: New file.
28008         * lib/ceil.c: New file.
28009         * lib/ceilf.c: New file.
28010         * m4/ceilf.m4: New file.
28011         * lib/math.in.h (ceilf): New declaration.
28012         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
28013         HAVE_DECL_CEILF.
28014         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
28015         HAVE_DECL_CEILF.
28016         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
28017
28018 2007-10-04  Bruno Haible  <bruno@clisp.org>
28019
28020         * modules/floorl-tests: New file.
28021         * tests/test-floorl.c: New file.
28022
28023         * modules/floorl: New file.
28024         * lib/floorl.c: Replace entire file.
28025         * m4/floorl.m4: New file.
28026         * lib/math.in.h (floorl): Replace declaration.
28027         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
28028         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
28029         * doc/functions/floorl.texi: Mention the 'floorl' module.
28030         * modules/mathl (Files): Remove lib/floorl.c.
28031         (Depends-on): Add floorl.
28032
28033 2007-10-04  Bruno Haible  <bruno@clisp.org>
28034
28035         * modules/floorf-tests: New file.
28036         * tests/test-floorf.c: New file.
28037
28038         * modules/floorf: New file.
28039         * lib/floor.c: New file.
28040         * lib/floorf.c: New file.
28041         * m4/floorf.m4: New file.
28042         * lib/math.in.h (floorf): New declaration.
28043         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
28044         HAVE_DECL_FLOORF.
28045         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
28046         HAVE_DECL_FLOORF.
28047         * doc/functions/floorf.texi: Mention the 'floorf' module.
28048
28049 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
28050             Bruno Haible  <bruno@clisp.org>
28051
28052         Advertise for the Git server instead of the CVS server.
28053         * doc/gnulib-intro.texi (Steady Development): Mention the Git
28054         repository instead of the CVS one.
28055         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
28056         about all VCS systems generically.
28057         * doc/gnulib.texi (Introduction): Capitalize `Git'.
28058
28059 2007-10-04  Bruno Haible  <bruno@clisp.org>
28060
28061         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
28062         means.
28063         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
28064
28065 2007-10-04  Bruno Haible  <bruno@clisp.org>
28066
28067         * modules/truncl-tests: New file.
28068         * tests/test-truncl.c: New file.
28069
28070         * modules/truncl: New file.
28071         * lib/truncl.c: New file.
28072         * m4/truncl.m4: New file.
28073         * lib/math.in.h (truncl): New declaration.
28074         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
28075         HAVE_DECL_TRUNCL.
28076         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
28077         HAVE_DECL_TRUNCL.
28078         * doc/functions/truncl.texi: Mention the 'truncl' module.
28079
28080 2007-10-04  Bruno Haible  <bruno@clisp.org>
28081
28082         * modules/truncf-tests: New file.
28083         * tests/test-truncf.c: New file.
28084
28085         * modules/truncf: New file.
28086         * lib/trunc.c: Make paramerizable through USE_* macros.
28087         * lib/truncf.c: New file.
28088         * m4/truncf.m4: New file.
28089         * lib/math.in.h (truncf): New declaration.
28090         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
28091         HAVE_DECL_TRUNCF.
28092         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
28093         HAVE_DECL_TRUNCF.
28094         * doc/functions/truncf.texi: Mention the 'truncf' module.
28095
28096 2007-10-03  Bruno Haible  <bruno@clisp.org>
28097
28098         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
28099         augmentation also for tests modules.
28100         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
28101         * modules/atexit-tests (Makefile.am): Likewise.
28102         * modules/binary-io-tests (Makefile.am): Likewise.
28103         * modules/c-strcase-tests (Makefile.am): Likewise.
28104         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
28105         * modules/canonicalize-tests (Makefile.am): Likewise.
28106         * modules/closein-tests (Makefile.am): Likewise.
28107         * modules/fprintf-posix-tests (Makefile.am): Likewise.
28108         * modules/freadahead-tests (Makefile.am): Likewise.
28109         * modules/fseek-tests (Makefile.am): Likewise.
28110         * modules/fseeko-tests (Makefile.am): Likewise.
28111         * modules/ftell-tests (Makefile.am): Likewise.
28112         * modules/ftello-tests (Makefile.am): Likewise.
28113         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
28114         * modules/isnanl-tests (Makefile.am): Likewise.
28115         * modules/lseek-tests (Makefile.am): Likewise.
28116         * modules/mbscasecmp-tests (Makefile.am): Likewise.
28117         * modules/mbscasestr-tests (Makefile.am): Likewise.
28118         * modules/mbschr-tests (Makefile.am): Likewise.
28119         * modules/mbscspn-tests (Makefile.am): Likewise.
28120         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
28121         * modules/mbspbrk-tests (Makefile.am): Likewise.
28122         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
28123         * modules/mbsrchr-tests (Makefile.am): Likewise.
28124         * modules/mbsspn-tests (Makefile.am): Likewise.
28125         * modules/mbsstr-tests (Makefile.am): Likewise.
28126         * modules/printf-posix-tests (Makefile.am): Likewise.
28127         * modules/snprintf-posix-tests (Makefile.am): Likewise.
28128         * modules/sprintf-posix-tests (Makefile.am): Likewise.
28129         * modules/tsearch-tests (Makefile.am): Likewise.
28130         * modules/uniname/uniname-tests (Makefile.am): Likewise.
28131         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
28132         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
28133         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
28134         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
28135         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
28136         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
28137         * modules/vprintf-posix-tests (Makefile.am): Likewise.
28138         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
28139         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
28140         * modules/xstrtoimax-tests (Makefile.am): Likewise.
28141         * modules/xstrtol-tests (Makefile.am): Likewise.
28142         * modules/xstrtoumax-tests (Makefile.am): Likewise.
28143         * modules/yesno-tests (Makefile.am): Likewise.
28144
28145 2007-10-03  Bruno Haible  <bruno@clisp.org>
28146
28147         * modules/trunc-tests: New file.
28148         * tests/test-trunc.c: New file.
28149
28150         * modules/trunc: New file.
28151         * lib/trunc.c: New file.
28152         * m4/trunc.m4: New file.
28153         * lib/math.in.h (trunc): New declaration.
28154         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
28155         HAVE_DECL_TRUNC.
28156         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
28157         HAVE_DECL_TRUNC.
28158         * doc/functions/trunc.texi: Mention the 'trunc' module.
28159
28160 2007-10-03  Bruno Haible  <bruno@clisp.org>
28161
28162         * tests/test-fpending.c: New file, mostly copied
28163         from coreutils/lib/t-fpending.c.
28164         * modules/fpending-tests: New file.
28165
28166 2007-10-03  Bruno Haible  <bruno@clisp.org>
28167
28168         Port the stdio extensions to QNX (untested).
28169         * lib/fseterr.c (fseterr): Add support for QNX.
28170         * lib/fbufmode.c (fbufmode): Likewise.
28171         * lib/freadable.c (freadable): Likewise.
28172         * lib/fwritable.c (fwritable): Likewise.
28173         * lib/freading.c (freading): Likewise.
28174         * lib/fwriting.c (fwriting): Likewise.
28175         * lib/freadahead.c (freadahed): Likewise.
28176         * lib/fpurge.c (fpurge): Likewise.
28177         * lib/fseeko.c (rpl_fseeko): Likewise.
28178
28179 2007-10-03  Bruno Haible  <bruno@clisp.org>
28180             Jim Meyering  <jim@meyering.net>
28181             Eric Blake  <ebb9@byu.net>
28182
28183         * doc/relocatable.texi: Use @command instead of @program.
28184
28185 2007-10-02  Jim Meyering  <jim@meyering.net>
28186
28187         Perform one more "_.h" -> ".in.h" substitution.
28188         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
28189         instead of unistd_.h here, too.
28190
28191 2007-10-01  Bruno Haible  <bruno@clisp.org>
28192
28193         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
28194         Needed for the alloca-opt module.
28195
28196 2007-09-30  Bruno Haible  <bruno@clisp.org>
28197
28198         * lib/alloca.in.h: Renamed from lib/alloca_.h.
28199         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
28200         alloca_.h.
28201         * lib/argz.in.h: Renamed from lib/argz_.h.
28202         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
28203         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
28204         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
28205         byteswap_.h.
28206         * lib/dirent.in.h: Renamed from lib/dirent_.h.
28207         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
28208         dirent_.h.
28209         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
28210         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
28211         fcntl_.h.
28212         * lib/float.in.h: Renamed from lib/float_.h.
28213         * modules/float (Files, Makefile.am): Use float.in.h instead of
28214         float_.h.
28215         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
28216         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
28217         fnmatch_.h.
28218         * lib/getopt.in.h: Renamed from lib/getopt_.h.
28219         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
28220         getopt_.h.
28221         * lib/glob.in.h: Renamed from lib/glob_.h.
28222         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
28223         * lib/iconv.in.h: Renamed from lib/iconv_.h.
28224         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
28225         iconv_.h.
28226         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
28227         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
28228         inttypes_.h.
28229         * lib/locale.in.h: Renamed from lib/locale_.h.
28230         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
28231         locale_.h.
28232         * lib/math.in.h: Renamed from lib/math_.h.
28233         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
28234         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
28235         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
28236         of netinet_in_.h. Add dependency.
28237         * lib/poll.in.h: Renamed from lib/poll_.h.
28238         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
28239         * lib/search.in.h: Renamed from lib/search_.h.
28240         * modules/search (Files, Makefile.am): Use search.in.h instead of
28241         search_.h.
28242         * lib/signal.in.h: Renamed from lib/signal_.h.
28243         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
28244         _signal.h.
28245         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
28246         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
28247         stdbool_.h.
28248         * lib/stdint.in.h: Renamed from lib/stdint_.h.
28249         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
28250         stdint_.h.
28251         * lib/stdio.in.h: Renamed from lib/stdio_.h.
28252         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
28253         stdio_.h.
28254         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
28255         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
28256         stdlib_.h.
28257         * lib/string.in.h: Renamed from lib/string_.h.
28258         * modules/string (Files, Makefile.am): Use string.in.h instead of
28259         string_.h.
28260         * doc/gnulib-tool.texi (Initial import): Update.
28261         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
28262         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
28263         of sys_select_.h. Add dependency.
28264         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
28265         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
28266         of sys_socket_.h.
28267         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
28268         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
28269         sys_stat_.h.
28270         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
28271         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
28272         sys_time_.h.
28273         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
28274         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
28275         sysexits_.h.
28276         * lib/time.in.h: Renamed from lib/time_.h.
28277         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
28278         * lib/unistd.in.h: Renamed from lib/unistd_.h.
28279         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
28280         unistd_.h.
28281         * lib/wchar.in.h: Renamed from lib/wchar_.h.
28282         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
28283         wchar_.h.
28284         * lib/wctype.in.h: Renamed from lib/wctype_.h.
28285         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
28286         wctype_.h.
28287         * build-aux/bootstrap (slurp): Update.
28288         * lib/.cppi-disable: Update.
28289
28290 2007-09-30  Bruno Haible  <bruno@clisp.org>
28291
28292         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
28293         Needed on BeOS.
28294
28295 2007-09-30  Bruno Haible  <bruno@clisp.org>
28296
28297         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
28298
28299 2007-09-29  Bruno Haible  <bruno@clisp.org>
28300
28301         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
28302
28303 2007-09-29  Bruno Haible  <bruno@clisp.org>
28304
28305         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
28306         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
28307         * build-aux/install-reloc: Compile also areadlink.c.
28308         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
28309
28310 2007-09-29  Bruno Haible  <bruno@clisp.org>
28311
28312         * gnulib-tool (func_emit_initmacro_done): Indentation.
28313
28314 2007-09-29  Bruno Haible  <bruno@clisp.org>
28315
28316         * README: Add CVS checkout update instructions.
28317         Info from Bob Proulx <bob@proulx.com>.
28318
28319 2007-09-28  Eric Blake  <ebb9@byu.net>
28320
28321         Provide move-if-change.
28322         * build-aux/move-if-change: New file, based on best practice
28323         rather than any canonical upstream location.
28324
28325 2007-09-28  Jim Meyering  <jim@meyering.net>
28326
28327         Fix canonicalize loop-detection corner case.
28328         Do not attempt to stat the symlink values stored via seen_triple.
28329         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
28330         on linux-2.6.18, (but not 2.6.22).
28331         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
28332         triple_compare.  The former compares dev,ino,filename, while the latter
28333         would actually stat dirname(filename) when dev and ino were equal.
28334         * lib/hash-triple.c: Install <string.h>.
28335         (STREQ): Define.
28336         (triple_compare_ino_str): New function.
28337         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
28338
28339 2007-09-28  Eric Blake  <ebb9@byu.net>
28340
28341         Enforce that AC_REPLACE_FUNCS files exist.
28342         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
28343         override check for typos.
28344
28345         Fix test-closein on Solaris 10.
28346         * tests/test-closein.c (main): Don't assume stdin can be inherited
28347         closed on all systems.
28348         * tests/test-closein.sh: Likewise.
28349         Reported by Piotr Tarnowski.
28350
28351 2007-09-28  Jim Meyering  <jim@meyering.net>
28352
28353         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
28354
28355 2007-09-27  Jim Meyering  <jim@meyering.net>
28356
28357         canonicalize: Avoid a false-positive cycle failure.
28358         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
28359         Sort.  Remove cycle-check.
28360         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
28361         not cycle-check.h.
28362         (seen_triple): New function.
28363         (canonicalize_filename_mode): Use it instead of cycle-check.
28364         * tests/test-canonicalize.c: Add a test for this bug.
28365         * tests/test-canonicalize.sh: Set up and run the test.
28366
28367         New module, file-set, from coreutils.
28368         * modules/file-set: Define it.
28369         * lib/file-set.c, lib/file-set.h: Implement.
28370
28371         New module, hash-triple, from coreutils.
28372         * modules/hash-triple: Define it.
28373         * lib/hash-triple.c, lib/hash-triple.h: Implement.
28374
28375 2007-09-25  Eric Blake  <ebb9@byu.net>
28376
28377         Fix strerror on Interix.
28378         * lib/string_.h (strerror): Declare replacement.
28379         * doc/functions/strerror.texi (strerror): Document the Interix
28380         shortcoming.
28381         * modules/string (Makefile.am): Support new hooks.
28382         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
28383         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
28384         gl_FUNC_STRERROR_SEPARATE.
28385         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
28386         * lib/strerror.c (rpl_strerror): Provide replacement.
28387         * modules/strerror (Depends-on): Add string.
28388         (configure.ac): Detect use of module.
28389         * tests/test-strerror.c: New file.
28390         * modules/strerror-tests: New test module.
28391         * modules/argp (Depends-on): Add strerror.
28392         * modules/error (Depends-on): Likewise.
28393         Reported by Martin Koeppe.
28394
28395 2007-09-24  Bruno Haible  <bruno@clisp.org>
28396
28397         * README: Update git instructions.
28398
28399 2007-09-24  Eric Blake  <ebb9@byu.net>
28400
28401         Revert fpending breakage from 2007-09-08.
28402         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
28403         __fpending.c.
28404
28405 2007-09-24  Jim Meyering  <jim@meyering.net>
28406
28407         filenamecat.c: Add a test.
28408         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
28409         showing how the function works when DIR is the empty string.
28410
28411 2007-09-21  Simon Josefsson  <simon@josefsson.org>
28412
28413         * tests/test-canonicalize.sh: Turn on executable bit.
28414
28415 2007-09-19  Eric Blake  <ebb9@byu.net>
28416
28417         * README: Update CVS instructions.
28418
28419 2007-09-18  Bruno Haible  <bruno@clisp.org>
28420
28421         * modules/areadlink: New file.
28422         * lib/areadlink.h (areadlink): New declaration.
28423         * lib/areadlink.c: New file, based on lib/xreadlink.c.
28424
28425 2007-09-17  Jim Meyering  <jim@meyering.net>
28426
28427         * lib/savewd.c (ESTALE) [!defined]: Define.
28428         Reported to be required on Interix by Martin Koeppe.
28429
28430 2007-09-17  Bruno Haible  <bruno@clisp.org>
28431
28432         * gnulib-tool (func_version): Use $version.
28433
28434 2007-09-16  Bruno Haible  <bruno@clisp.org>
28435
28436         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
28437         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
28438         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
28439         Reported by Greg Schafer <gschafer@zip.com.au>.
28440
28441 2007-09-15  Bruno Haible  <bruno@clisp.org>
28442
28443         * gnulib-tool (sed): Try a little harder to make bash understand the
28444         alias.
28445         Reported by Bruce Korb <bruce.korb@gmail.com>.
28446
28447 2007-09-13  Eric Blake  <ebb9@byu.net>
28448
28449         * ChangeLog: Remove conflict markers.
28450
28451 2007-09-13  Simon Josefsson  <simon@josefsson.org>
28452
28453         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
28454         Reported by Bruno Haible <bruno@clisp.org>.
28455
28456 2007-09-12  Bruno Haible  <bruno@clisp.org>
28457
28458         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
28459         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
28460         is not defined.
28461
28462 2007-09-12  Eric Blake  <ebb9@byu.net>
28463
28464         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
28465         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
28466         Autoconf definition.
28467         * modules/euidaccess (Depends-on): Add extensions, for
28468         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
28469         * modules/fnmatch (Depends-on): Likewise.
28470         * modules/getaddrinfo (Depends-on): Likewise.
28471         * modules/getdelim (Depends-on): Likewise.
28472         * modules/getline (Depends-on): Likewise.
28473         * modules/getsubopt (Depends-on): Likewise.
28474         * modules/gettext (Depends-on): Likewise.
28475         * modules/group-member (Depends-on): Likewise.
28476         * modules/mbchar (Depends-on): Likewise.
28477         * modules/memmem (Depends-on): Likewise.
28478         * modules/mempcpy (Depends-on): Likewise.
28479         * modules/memrchr (Depends-on): Likewise.
28480         * modules/pagealign_alloc (Depends-on): Likewise.
28481         * modules/readutmp (Depends-on): Likewise.
28482         * modules/stpcpy (Depends-on): Likewise.
28483         * modules/stpncpy (Depends-on): Likewise.
28484         * modules/strchrnul (Depends-on): Likewise.
28485         * modules/strndup (Depends-on): Likewise.
28486         * modules/strsep (Depends-on): Likewise.
28487         * modules/strverscmp (Depends-on): Likewise.
28488         * modules/vasprintf (Depends-on): Likewise.
28489         * modules/wcwidth (Depends-on): Likewise.
28490         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
28491         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
28492         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
28493         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
28494         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
28495         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
28496         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
28497         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
28498         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
28499         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
28500         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
28501         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
28502         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
28503         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
28504         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
28505         * m4/readutmp.m4 (gl_READUTMP): Likewise.
28506         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
28507         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
28508         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
28509         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
28510         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
28511         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
28512         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
28513         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
28514         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
28515         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
28516         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
28517         so that lock.m4 can be used in gettext without extensions module.
28518
28519 2007-09-11  Bruno Haible  <bruno@clisp.org>
28520
28521         * m4/isc-posix.m4: Remove file.
28522         Suggested by Eric Blake.
28523
28524 2007-09-11  Eric Blake  <ebb9@byu.net>
28525
28526         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
28527
28528 2007-09-10  Bruno Haible  <bruno@clisp.org>
28529
28530         * posix-modules: Fix typo in error message.
28531         Reported by Matt <mkraai@beckman.com>.
28532
28533 2007-09-09  Bruno Haible  <bruno@clisp.org>
28534
28535         * doc/functions/getdelim.texi: Update list of platforms lacking the
28536         function.
28537         * doc/functions/getline.texi: Likewise.
28538
28539 2007-09-09  Jim Meyering  <jim@meyering.net>
28540
28541         * lib/hash.c (hash_initialize): Detect calloc failure.
28542         Reported by Bruno Haible.
28543
28544 2007-09-09  Bruno Haible  <bruno@clisp.org>
28545
28546         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
28547         malloc or realloc fails.
28548
28549 2007-09-09  Bruno Haible  <bruno@clisp.org>
28550
28551         * modules/getcwd (Depends-on): Add malloc-posix.
28552         * modules/glob (Depends-on): Likewise.
28553         * modules/putenv (Depends-on): Likewise.
28554         * modules/strdup (Depends-on): Likewise.
28555         * modules/getdelim (Depends-on): Add realloc-posix.
28556         * modules/read-file (Depends-on): Likewise.
28557
28558 2007-09-09  Bruno Haible  <bruno@clisp.org>
28559
28560         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
28561         (gl_FUNC_MALLOC_POSIX): Require it.
28562         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
28563         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
28564         * modules/realloc (Files): Add m4/malloc.m4.
28565         * modules/calloc (Files): Likewise.
28566
28567 2007-09-09  Bruno Haible  <bruno@clisp.org>
28568
28569         * modules/malloc-posix: New file.
28570         * modules/malloc (Depends-on): Add malloc-posix.
28571         * lib/malloc.c: Include errno.h.
28572         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
28573         and a POSIX-compatible malloc into a single function. Set ENOMEM
28574         when returning NULL.
28575         * m4/malloc.m4: New file.
28576         * doc/functions/malloc.texi: Mention the malloc-posix module.
28577         * lib/stdlib_.h (malloc): New declaration.
28578         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
28579         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
28580         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
28581         and HAVE_MALLOC_POSIX.
28582
28583 2007-09-09  Bruno Haible  <bruno@clisp.org>
28584
28585         * modules/realloc-posix: New file.
28586         * modules/realloc (Depends-on): Add realloc-posix.
28587         * lib/realloc.c: Include errno.h.
28588         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
28589         and a POSIX-compatible realloc into a single function. Set ENOMEM
28590         when returning NULL.
28591         * m4/realloc.m4: New file.
28592         * doc/functions/realloc.texi: Mention the realloc-posix module.
28593         * lib/stdlib_.h (realloc): New declaration.
28594         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
28595         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
28596         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
28597         and HAVE_REALLOC_POSIX.
28598
28599 2007-09-09  Bruno Haible  <bruno@clisp.org>
28600
28601         * modules/calloc-posix: New file.
28602         * modules/calloc (Depends-on): Add calloc-posix.
28603         * lib/calloc.c: Include errno.h.
28604         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
28605         and a POSIX-compatible calloc into a single function. Set ENOMEM
28606         when returning NULL.
28607         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
28608         * doc/functions/calloc.texi: Mention the calloc-posix module.
28609         * lib/stdlib_.h (calloc): New declaration.
28610         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
28611         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
28612         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
28613         and HAVE_CALLOC_POSIX.
28614
28615 2007-09-09  Bruno Haible  <bruno@clisp.org>
28616
28617         Allow for modules to show an arbitrary notice.
28618         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
28619         * gnulib-tool: New option --extract-notice.
28620         (func_usage): Document it.
28621         (sed_extract_prog): Update.
28622         (func_get_notice): New function.
28623         (func_modules_notice): New function.
28624         (func_import, func_create_testdir): Invoke it.
28625         Suggested by Jim Meyering.
28626
28627 2007-09-09  Bruno Haible  <bruno@clisp.org>
28628
28629         * gnulib-tool: New options --verbose, --quiet.
28630         (func_usage): Document them.
28631         (verbose): New variable.
28632         (func_execute_command): New function.
28633         (func_import): Don't show the module list and the file list if
28634         $verbose < 0.
28635         (func_create_testdir): Likewise. Use func_execute_command.
28636         (func_create_megatestdir): Use func_execute_command.
28637
28638 2007-09-08  Bruno Haible  <bruno@clisp.org>
28639
28640         * gnulib-tool (func_import): Prefer rsync over wget when available,
28641         for fetching the PO files.
28642
28643 2007-09-08  Bruno Haible  <bruno@clisp.org>
28644
28645         * posix-modules: New file. Portions copied from gnulib-tool.
28646         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
28647
28648 2007-09-08  Jim Meyering  <jim@meyering.net>
28649
28650         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
28651         * lib/fpending.h: Rename from __fpending.h.
28652         * lib/fpending.c: Rename from __fpending.c.
28653         Include "fpending.h", not "__fpending.h".
28654         * lib/__fpending.h, lib/__fpending.c: Remove files.
28655         * modules/fpending (Files): Reflect new file names.
28656         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
28657
28658 2007-09-08  Bruno Haible  <bruno@clisp.org>
28659
28660         * m4/inttypes-h.m4: Remove stub file.
28661
28662 2007-09-07  Simon Josefsson  <simon@josefsson.org>
28663
28664         * doc/headers/stdint.texi: Discuss #include_next issue.
28665
28666 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
28667
28668         * build-aux/bootstrap: Remove obsolete comment about wget --help.
28669
28670 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
28671
28672         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
28673         in variable name.
28674
28675 2007-09-03  Jim Meyering  <jim@meyering.net>
28676
28677         New module: git-version-gen.
28678         * modules/git-version-gen: New file.
28679
28680         Import changes from coreutils for bootstrap script.
28681
28682         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
28683
28684         bootstrap: uses rsync to download the .po files
28685         * build-aux/bootstrap (po_download_command_format): New global.
28686         (download_po_files): Use rsync.
28687         (update_po_files): Don't remove .po files after download,
28688         so future rsync runs can take advantage of the copies.
28689
28690         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
28691
28692         Solve the unnecessary-.po-file-regeneration problem once and for all.
28693         * build-aux/bootstrap (download_po_files): New function, renamed from
28694         get_translations.  Now, downloads, but doesn't update LINGUAS.
28695         (update_po_files): New function.
28696
28697         bootstrap: Ignore more.
28698         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
28699         uniwidth to e.g., lib/.gitignore.
28700         (slurp): Handle the sys_stat_.h -> sys mapping, too.
28701
28702         * build-aux/bootstrap: New setting: vc_ignore.
28703         (insert_sorted_if_absent): Create $file if absent.
28704         Adapt to new, possibly empty, list: $vc_ignore.
28705
28706         bootstrap: generate more ignorable names
28707         * build-aux/bootstrap (slurp): When generating ignorable names,
28708         also map .sin to .sed, .gperf to .c, and .y to .c.
28709
28710 2007-09-03  Jim Meyering  <jim@meyering.net>
28711
28712         * build-aux/git-version-gen: New file, from coreutils.  For details, see
28713         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
28714
28715 2007-09-02  Bruno Haible  <bruno@clisp.org>
28716
28717         Fix mis-recognition of 'mcs' on QNX 6.
28718         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
28719         output contains the string "Mono".
28720         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
28721         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
28722
28723 2007-09-01  Bruno Haible  <bruno@clisp.org>
28724
28725         Fix collision between uniwidth/* and linebreak modules.
28726         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
28727         u32_width): Remove declarations.
28728         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
28729         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
28730         streq3, streq2, streq1, streq0): Remove functions.
28731         (STREQ): Remove macro.
28732         (is_cjk_encoding): Remove function.
28733         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
28734         (uc_width, u8_width, u16_width, u32_width): Remove functions.
28735         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
28736         * NEWS: Document the change.
28737
28738 2007-09-01  Bruno Haible  <bruno@clisp.org>
28739
28740         * lib/streq.h: Add double-inclusion guard.
28741
28742 2007-09-01  Karl Berry  <karl@gnu.org>
28743
28744         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
28745
28746 2007-08-28  Jim Meyering  <jim@meyering.net>
28747
28748         Rename mreadlink_with_size to areadlink_with_size.
28749         * NEWS: Document the change.
28750         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
28751         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
28752         * lib/mreadlink.h: Rename this to...
28753         * lib/areadlink.h: ...this.
28754         * modules/mreadlink-with-size: Rename this to...
28755         * modules/areadlink-with-size: ...this.
28756         * lib/canonicalize.c: Reflect the renaming.
28757         * modules/canonicalize: Likewise.
28758
28759 2007-08-26  Bruno Haible  <bruno@clisp.org>
28760
28761         * gnulib-tool (func_import): When deciding which files to remove,
28762         consider also dangling symbolic links.
28763         Reported by Eric Blake.
28764
28765 2007-08-26  Bruno Haible  <bruno@clisp.org>
28766
28767         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
28768
28769 2007-08-23  Simon Josefsson  <simon@josefsson.org>
28770
28771         * lib/readline.c: Don't include getline.h, the prototype is now
28772         found in stdio.h.
28773
28774 2007-08-23  Jim Meyering  <jim@meyering.net>
28775
28776         Getdelim touchup.
28777         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
28778         around the funlockfile call, since funlockfile never sets errno.
28779         Don't set errno upon failed realloc.
28780
28781 2007-08-22  Eric Blake  <ebb9@byu.net>
28782
28783         Getline touchups.
28784         * lib/getdelim.c (getdelim): Revert regression that required *n to
28785         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
28786         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
28787         getdelim, rather than whether implementation is missing.
28788         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
28789         * lib/stdio_.h (getline): Also declare if replacement is
28790         required.
28791         * doc/functions/getdelim.texi: New file.
28792         * doc/functions/getline.texi: Likewise.
28793         * doc/gnulib.texi (Function Substitutes): Add new files.
28794         Reported by Bruno Haible.
28795
28796 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
28797
28798         * users.txt: Add Guile.
28799
28800 2007-08-22  Eric Blake  <ebb9@byu.net>
28801
28802         * tests/test-getdelim.c (main): Use remove, not unlink.
28803         * tests/test-getline.c (main): Likewise.
28804
28805         Move getline and getdelim into stdio.h, per POSIX 200x.
28806         * modules/getline (Files): Remove getline.h.
28807         (Depends-on): Add stdio.
28808         (configure.ac): Add module indicator.
28809         * modules/getdelim (Files): Remove getdelim.h.
28810         (Depends-on): Add stdio.
28811         (configure.ac): Add module indicator.
28812         * modules/stdio (Makefile.am): Work with new indicators.
28813         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
28814         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
28815         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
28816         * lib/getdelim.h: Delete.
28817         * lib/getline.h: Delete.
28818         * lib/stdio_.h (getdelim, getline): Declare.
28819         * modules/getdelim-tests: New module.
28820         * modules/getline-tests: Likewise.
28821         * tests/test-getdelim.c: New file.
28822         * tests/test-getline.c: Likewise.
28823         * NEWS: Document the change.
28824         * lib/getline.c: Update choice of header.
28825         * lib/csharpcomp.c: Likewise.
28826         * lib/getpass.c: Likewise.
28827         * lib/javacomp.c: Likewise.
28828         * lib/javaversion.c: Likewise.
28829         * lib/yesno.c: Likewise.
28830         * lib/getdelim.c: Likewise.
28831         (getdelim): Set errno on failure, and avoid memory leak.
28832
28833 2007-08-19  Bruno Haible  <bruno@clisp.org>
28834
28835         * modules/closein (Depends-on): Add freadahead.
28836         * lib/closein.c: Include freadahead.h.
28837         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
28838         is zero.
28839
28840 2007-08-19  Bruno Haible  <bruno@clisp.org>
28841
28842         * modules/freadahead-tests: New file.
28843         * tests/test-freadahead.sh: New file.
28844         * tests/test-freadahead.c: New file.
28845
28846         * modules/freadahead: New file.
28847         * lib/freadahead.h: New file.
28848         * lib/freadahead.c: New file.
28849         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
28850         fbufmode, fpurge, freadable, fwritable.
28851
28852 2007-08-19  Eric Blake  <ebb9@byu.net>
28853
28854         Test yesno in combination with closein.
28855         * lib/yesno.c (yesno): Document use of stdin.
28856         * modules/yesno-tests (Files): New module.
28857         * tests/test-yesno.c (main): New file.
28858         * tests/test-yesno.sh: Likewise.
28859
28860 2007-08-19  Bruno Haible  <bruno@clisp.org>
28861
28862         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
28863         * lib/fseeko.c (rpl_fseeko): Likewise.
28864         * lib/fseterr.c (fseterr): Likewise.
28865
28866 2007-08-19  Bruno Haible  <bruno@clisp.org>
28867
28868         * tests/test-lseek.c (main): Disable a test for BeOS.
28869         * doc/functions/lseek.texi: Document the BeOS bug.
28870
28871 2007-08-19  Bruno Haible  <bruno@clisp.org>
28872             Eric Blake  <ebb9@byu.net>
28873
28874         * lib/lseek.c: Include <sys/stat.h>.
28875         (rpl_lseek): Add workaround code also for Unix platforms.
28876         Needed for BeOS.
28877         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
28878         * doc/functions/lseek.texi: Document BeOS definiency.
28879
28880 2007-08-18  Bruno Haible  <bruno@clisp.org>
28881
28882         * modules/fstrcmp-tests: New file.
28883         * tests/test-fstrcmp.c: New file.
28884
28885 2007-08-18  Bruno Haible  <bruno@clisp.org>
28886
28887         * modules/fstrcmp: New file, from GNU gettext with modifications.
28888         * lib/fstrcmp.h: New file, from GNU gettext.
28889         * lib/fstrcmp.c: New file, from GNU gettext.
28890         * MODULES.html.sh (String handling): Add fstrcmp.
28891
28892 2007-08-18  Bruno Haible  <bruno@clisp.org>
28893
28894         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
28895         'bool'.
28896         (diag, compareseq): Remove const from the ctxt argument.
28897         (USE_HEURISTIC): Undefine at the end.
28898
28899 2007-08-18  Jim Meyering  <jim@meyering.net>
28900
28901         New file: lib/idcache.h
28902         * NEWS: Mention the addition.
28903         * modules/idcache (Files): Add lib/idcache.h
28904         * lib/idcache.c: Include "idcache.h".
28905         Don't include <sys/types.h>.
28906         Add a FIXME comment.
28907         Move file-scoped "static" declarations to the top.
28908         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
28909
28910 2007-08-17  Bruno Haible  <bruno@clisp.org>
28911         and Paul Eggert  <eggert@cs.ucla.edu>
28912
28913         * MODULES.html.sh: Add diffseq.
28914         * modules/diffseq: New file.
28915         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
28916         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
28917
28918 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
28919
28920         Import changes from coreutils for bootstrap script.
28921
28922         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
28923
28924         * build-aux/bootstrap (slurp): Work even in environments where
28925         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
28926         current code does not slurp files whose names start with ".", and
28927         this looks like it might be a troublesome area.
28928
28929         2007-07-11  Jim Meyering  <jim@meyering.net>
28930
28931         If there's a GPL vN copyright comment, require that N == 3.
28932
28933         2007-07-08  Jim Meyering  <jim@meyering.net>
28934
28935         Run the coreutils-specific code only if tests/Makefile.am.in exists.
28936         * build-aux/bootstrap (mam_template): Move definition out of loop.
28937
28938         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
28939
28940         * build-aux/bootstrap (symlink_to_dir): Rename function from
28941         symlink_to_gnulib.  Add a directory parameter.  Update all
28942         callers.
28943         (cp_mark_as_generated): Also check for -- and link to -- files in
28944         gl/.
28945
28946         2007-07-08  Jim Meyering  <jim@meyering.net>
28947
28948         Adapt to deeper hierarchy in gnulib.
28949         * build-aux/bootstrap (symlink_to_dir): If the destination
28950         directory doesn't exist, create it. This is required at least for
28951         "lib/uniwidth/cjk.h".
28952
28953         2007-05-15  Jim Meyering  <jim@meyering.net>
28954
28955         * build-aux/bootstrap: Now that generated Makefile.am files
28956         are no longer under version control, they must be created at
28957         bootstrap time.
28958
28959 2007-08-14  Ben Pfaff  <blp@gnu.org>
28960
28961         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
28962
28963 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
28964
28965         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
28966         given the changes below.
28967         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
28968         even on hosts that have padding bits beyond the supported 64.
28969
28970 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
28971
28972         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
28973         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
28974         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
28975         depends on it.
28976         (xstrtol_error): Remove.
28977         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
28978         but with a different signature.
28979         (ATTRIBUTE_NORETURN, __attribute__): New macros.
28980         * lib/xstrtol-error.c: Include exitfail.h.
28981         (xstrtol_fatal): New function, with a different signature from the
28982         old xstrtol_error, so that the caller need not worry about passing
28983         in an exit status, or about storage management of the option argument.
28984         (xstrtol_error): Now a static function.  Redo signature to
28985         implement xstrtol_fatal.  Output the correct number of hyphens in
28986         front of the option so that the caller need not worry about
28987         storage management.
28988         (N_): New macro.
28989         (_): Remove; not used now.
28990         * modules/xstrtol: Depend on getopt.
28991         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
28992         of old STRTOL_FATAL_ERROR macro.
28993         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
28994         of test program.
28995         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
28996         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
28997
28998 2007-08-08  Eric Blake  <ebb9@byu.net>
28999
29000         * lib/xstrtol-error.c: Add missing include.
29001
29002         Move xstrtol messages into gnulib domain, when --pobase is used.
29003         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
29004         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
29005         * modules/xstrtol (Files): Distribute new file.
29006         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
29007         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
29008         * tests/test-xstrtol.c: ...into new file.
29009         * tests/test-xstrtoul.c: Also test xstrtoul.
29010         * tests/test-xstrtoimax.c: Also test xstrtoimax.
29011         * tests/test-xstrtoumax.c: Also test xstrtoumax.
29012         * tests/test-xstrtol.sh: Drive the tests.
29013         * tests/test-xstrtoimax.sh: Likewise.
29014         * tests/test-xstrtoumax.sh: Likewise.
29015         * modules/xstrtol-tests: New module.
29016         * modules/xstrtoimax-tests: Likewise.
29017         * modules/xstrtoumax-tests: Likewise.
29018
29019 2007-08-08  Jim Meyering  <jim@meyering.net>
29020
29021         New function: mfile_name_concat.
29022         * lib/filenamecat.c (mfile_name_concat): New function, just like
29023         file_name_concat, but return NULL upon failure rather than exiting
29024         with a diagnostic.
29025         * lib/filenamecat.h: Declare it.
29026
29027 2007-08-07  Bruno Haible  <bruno@clisp.org>
29028
29029         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
29030         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
29031         warning from gcc.
29032         Reported by Eric Blake.
29033
29034 2007-08-07  Simon Josefsson  <simon@josefsson.org>
29035
29036         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
29037         * modules/crypto/arcfour (License): Likewise.
29038         * modules/crypto/des-tests (License): Likewise.
29039         * modules/crypto/gc-arctwo-tests (License): Likewise.
29040         * modules/crypto/gc-des-tests (License): Likewise.
29041         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
29042         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
29043         * modules/crypto/gc-md2-tests (License): Likewise.
29044         * modules/crypto/gc-md4-tests (License): Likewise.
29045         * modules/crypto/gc-md5-tests (License): Likewise.
29046         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
29047         * modules/crypto/gc-rijndael-tests (License): Likewise.
29048         * modules/crypto/gc-sha1-tests (License): Likewise.
29049         * modules/crypto/gc-tests (License): Likewise.
29050         * modules/crypto/hmac-md5 (License): Likewise.
29051         * modules/crypto/hmac-sha1 (License): Likewise.
29052         * modules/crypto/md2-tests (License): Likewise.
29053         * modules/crypto/md4-tests (License): Likewise.
29054         * modules/crypto/md5 (License): Likewise.
29055         * modules/crypto/rijndael (License): Likewise.
29056         * modules/crypto/sha1 (License): Likewise.
29057         * modules/memxor (License): Likewise.
29058
29059 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
29060         and Bruno Haible  <bruno@clisp.org>
29061
29062         * NEWS: Describe interface changes to human, xstrtol.
29063         * lib/human.h: Include <xstrtol.h>.
29064         (human_options): Return enum strtol_error, not int.  Remove
29065         bool arg; take int * instead.
29066         * lib/human.c: Don't include "gettext.h".
29067         (_): Remove; no longer used.
29068         Don't include <xstrtol.h>, since human.h does it.
29069         (human_options): Adjust to abovementioned interface changes.
29070         Do not report error to stderr; that's now the caller's
29071         responsibility.
29072         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
29073         interface change.
29074         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
29075         Str, Argument_type_string.  All uses changed.  Put " argument"
29076         in diagnostics to make them clearer.  Change wording of suffix
29077         message for clarity.
29078         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
29079         Argument_type_string.
29080         (STRTOL_FATAL_WARN): Remove; no longer used.
29081         * modules/human (Depends-on): Remove gettext-h.
29082
29083 2007-08-06  Simon Josefsson  <simon@josefsson.org>
29084
29085         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
29086
29087 2007-07-31  Bruno Haible  <bruno@clisp.org>
29088
29089         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
29090         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
29091         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
29092
29093 2007-07-31  Bruno Haible  <bruno@clisp.org>
29094
29095         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
29096         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
29097
29098 2007-07-30  Bruno Haible  <bruno@clisp.org>
29099
29100         * modules/base64 (License): Use the synonymous term "LGPLv2+".
29101         * modules/c-ctype (License): Likewise.
29102         * modules/c-strcase (License): Likewise.
29103         * modules/check-version (License): Likewise.
29104         * modules/iconv (License): Likewise.
29105         * modules/iconv_open (License): Likewise.
29106         * modules/read-file (License): Likewise.
29107         * modules/striconv (License): Likewise.
29108         * modules/strverscmp (License): Likewise.
29109         * modules/vasprintf (License): Likewise.
29110         * modules/crypto/des (License): Likewise.
29111         * modules/crypto/gc (License): Likewise.
29112         * modules/crypto/gc-arcfour (License): Likewise.
29113         * modules/crypto/gc-arctwo (License): Likewise.
29114         * modules/crypto/gc-des (License): Likewise.
29115         * modules/crypto/gc-hmac-md5 (License): Likewise.
29116         * modules/crypto/gc-hmac-sha1 (License): Likewise.
29117         * modules/crypto/gc-md2 (License): Likewise.
29118         * modules/crypto/gc-md4 (License): Likewise.
29119         * modules/crypto/gc-md5 (License): Likewise.
29120         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
29121         * modules/crypto/gc-random (License): Likewise.
29122         * modules/crypto/gc-rijndael (License): Likewise.
29123         * modules/crypto/gc-sha1 (License): Likewise.
29124         * modules/crypto/md2 (License): Likewise.
29125         * modules/crypto/md4 (License): Likewise.
29126
29127 2007-07-30  Jim Meyering  <jim@meyering.net>
29128
29129         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
29130         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
29131         it has valid stat data.  This bug would cause du not to count the
29132         sizes of inaccessible directories.
29133         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
29134         in <http://bugzilla.redhat.com/250077>.
29135
29136 2007-07-25  Peter O'Gorman  <peter@pogma.com>
29137             Bruno Haible  <bruno@clisp.org>
29138
29139         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
29140         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
29141         #include_next, gives a diagnostic about it, but reports no error in
29142         the exit code.
29143         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
29144
29145 2007-07-24  Ben Pfaff  <blp@gnu.org>
29146
29147         Improve name: "count-one-bits" is better than "popcount".
29148         * MODULES.html.sh: Update name.
29149         * lib/popcount.h: Renamed lib/count-one-bits.h.
29150         (popcount): Renamed count_one_bits.
29151         (popcountl): Renamed count_one_bits_l.
29152         (popcountll): Renamed count_one_bits_ll.
29153         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
29154         * modules/popcount: Renamed module/count-one-bits.
29155         * modules/popcount-tests: Renamed module/count-one-bits-tests.
29156         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
29157
29158 2007-07-23  Ben Pfaff  <blp@gnu.org>
29159
29160         * lib/popcount.h (popcount32): Reduce size of constants, to allow
29161         better code generation, and add U to large constants to avoid
29162         warnings, in non-GCC case.
29163         Suggested by Bruno Haible.
29164
29165 2007-07-23  Ben Pfaff  <blp@gnu.org>
29166
29167         * lib/popcount.h: Use verify_true instead of if...abort.
29168         * modules/popcount: Depend on verify module.
29169         Suggested by Jim Meyering.
29170
29171 2007-07-23  Bruno Haible  <bruno@clisp.org>
29172
29173         * gnulib-tool (func_import): Create a .cvsignore file also when the
29174         directory is not yet in CVS but the toplevel directory is. When
29175         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
29176         Reported by Karl Berry.
29177
29178 2007-07-22  Ben Pfaff  <blp@gnu.org>
29179
29180         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
29181         case.
29182         Suggested by Eric Blake.
29183
29184 2007-07-22  Ben Pfaff  <blp@gnu.org>
29185
29186         New module: popcount.
29187         * MODULES.html.sh: Add popcount.
29188         * modules/popcount: New file.
29189         * modules/popcount-tests: New file.
29190         * tests/test-popcount.c: New file.
29191         * lib/popcount.h: New file.
29192         * m4/popcount.m4: New file.
29193
29194 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
29195
29196         * build-aux/announce-gen: Update to GPLv3.
29197
29198         * build-aux/config.guess: Update from config.
29199
29200 2007-07-21  Bruno Haible  <bruno@clisp.org>
29201
29202         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
29203         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
29204
29205 2007-07-20  Jim Meyering  <jim@meyering.net>
29206
29207         * check-module: Diagnose a self-dependency.
29208
29209 2007-07-19  Bruno Haible  <bruno@clisp.org>
29210
29211         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
29212         empty.
29213         Reported by Eric Blake.
29214
29215 2007-07-18  Bruno Haible  <bruno@clisp.org>
29216
29217         * gnulib-tool: New options --po-base, --po-domain.
29218         (func_usage): Document them.
29219         (pobase, po_domain): New variables.
29220         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
29221         DEFAULT_TEXT_DOMAIN.
29222         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
29223         (func_import): Consider pobase and po_domain. Create a po/ directory.
29224         (func_create_testdir): Set pobase and po_domain to empty.
29225         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
29226         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
29227
29228 2007-07-18  Bruno Haible  <bruno@clisp.org>
29229
29230         * gnulib-tool (func_get_automake_snippet): Synthesize also an
29231         EXTRA_DIST augmentation for files in build-aux/.
29232
29233 2007-07-16  Bruno Haible  <bruno@clisp.org>
29234
29235         * modules/lseek (License): Use the synonymous term "LGPLv2+".
29236         * modules/getdelim (License): Likewise.
29237
29238 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
29239
29240         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
29241         * modules/d-type (License): Likewise.
29242         * modules/extensions (License): Likewise.
29243         * modules/fnmatch (License): Likewise.
29244         * modules/fseeko (License): Likewise.
29245         * modules/getaddrinfo (License): Likewise.
29246         * modules/getline (License): Likewise.
29247         * modules/getlogin_r (License): Likewise.
29248         * modules/getpass (License): Likewise.
29249         * modules/gettimeofday (License): Likewise.
29250         * modules/glob (License): Likewise.
29251         * modules/inet_ntop (License): Likewise.
29252         * modules/malloc (License): Likewise.
29253         * modules/malloca (License): Likewise.
29254         * modules/memmem (License): Likewise.
29255         * modules/mempcpy (License): Likewise.
29256         * modules/memset (License): Likewise.
29257         * modules/minmax (License): Likewise.
29258         * modules/mktime (License): Likewise.
29259         * modules/netinet_in (License): Likewise.
29260         * modules/pathmax (License): Likewise.
29261         * modules/poll (License): Likewise.
29262         * modules/regex (License): Likewise.
29263         * modules/snprintf (License): Likewise.
29264         * modules/stdbool (License): Likewise.
29265         * modules/stdint (License): Likewise.
29266         * modules/stdio (License): Likewise.
29267         * modules/strcase (License): Likewise.
29268         * modules/strcasestr (License): Likewise.
29269         * modules/strdup (License): Likewise.
29270         * modules/string (License): Likewise.
29271         * modules/strndup (License): Likewise.
29272         * modules/strnlen (License): Likewise.
29273         * modules/strpbrk (License): Likewise.
29274         * modules/strptime (License): Likewise.
29275         * modules/strsep (License): Likewise.
29276         * modules/sys_select (License): Likewise.
29277         * modules/sys_socket (License): Likewise.
29278         * modules/sys_stat (License): Likewise.
29279         * modules/sys_time (License): Likewise.
29280         * modules/time (License): Likewise.
29281         * modules/time_r (License): Likewise.
29282         * modules/timegm (License): Likewise.
29283         * modules/unistd (License): Likewise.
29284         * modules/vsnprintf (License): Likewise.
29285         * modules/wctype (License): Likewise.
29286
29287 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29288
29289         * modules/argz (License): LGPLv2+.
29290
29291 2007-07-15  Karl Berry  <karl@gnu.org>
29292
29293         * doc/gnulib.texi: revise node structure per new fdl.texi.
29294
29295 2007-07-14  Bruno Haible  <bruno@clisp.org>
29296
29297         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
29298         the output file.
29299         * lib/uniname/uninames.h: Regenerated.
29300
29301 2007-07-14  Karl Berry  <karl@gnu.org>
29302
29303         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
29304         omitting sectioning and index commands.
29305
29306 2007-07-13  Bruno Haible  <bruno@clisp.org>
29307
29308         New gnulib-tool option --more-symlinks.
29309         * gnulib-tool (func_usage): Document --more-symlinks.
29310         (do_copyrights): New variable.
29311         Recognize option --more-symlinks.
29312         (func_import): Don't add a copyright notice transform to
29313         sed_transform_lib_file if do_copyrights is empty.
29314
29315 2007-07-13  Bruno Haible  <bruno@clisp.org>
29316
29317         * lib/vasnprintf.c (decimal_point_char): Define also if
29318         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
29319         && !NEED_PRINTF_DIRECTIVE_A.
29320         Reported by Clemens Koller <clemens.koller@anagramm.de> via
29321         Gary V. Vaughan <gary@gnu.org>.
29322
29323 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
29324
29325         * lib/inttypes_.h: Undo previous change, since it was fixed
29326         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
29327
29328 2007-07-13  Bruno Haible  <bruno@clisp.org>
29329
29330         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
29331         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
29332
29333 2007-07-13  Jim Meyering  <jim@meyering.net>
29334
29335         df: Don't fail for Tru64's "file-on-file mount".
29336         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
29337         so we fall through and use statfs instead.  Details here:
29338         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
29339         Reported by Albert Chin.
29340
29341 2007-07-13  Bruno Haible  <bruno@clisp.org>
29342
29343         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
29344         * modules/configmake (License): Likewise.
29345         * modules/gettext (License): Likewise.
29346         * modules/gettext-h (License): Likewise.
29347         * modules/include_next (License): Likewise.
29348         * modules/link-warning (License): Likewise.
29349         * modules/localcharset (License): Likewise.
29350         * modules/localename (License): Likewise.
29351         * modules/lock (License): Likewise.
29352         * modules/relocatable-lib-lgpl (License): Likewise.
29353         * modules/size_max (License): Likewise.
29354         * modules/vasnprintf (License): Likewise.
29355         * modules/wchar (License): Likewise.
29356         * modules/xsize (License): Likewise.
29357
29358 2007-07-13  Bruno Haible  <bruno@clisp.org>
29359
29360         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
29361         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
29362
29363 2007-07-12  Bruno Haible  <bruno@clisp.org>
29364
29365         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
29366         in the modules files.
29367
29368 2007-07-11  Karl Berry  <karl@gnu.org>
29369
29370         * MODULES.html.sh (func_module): use
29371          sed -e '\|^'"${includefile}"'$|d'
29372          instead of /.../d, to avoid errors on $includefile's containing /.
29373
29374 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
29375
29376         * gnulib-tool (func_import): Avoid duplication of --avoid
29377         statements
29378         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
29379         names to `_' in variable names.
29380
29381 2007-07-10  Eric Blake  <ebb9@byu.net>
29382
29383         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
29384         * NEWS: Document this change.
29385
29386 2007-07-08  Bruno Haible  <bruno@clisp.org>
29387
29388         Update to Unicode 5.0.
29389         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
29390         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
29391         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
29392         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
29393         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
29394         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
29395         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
29396         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
29397         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
29398         U+10A3F, U+1D242..U+1D244.
29399         (nonspacing_table_ind): Update.
29400         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
29401         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
29402
29403 2007-07-08  Bruno Haible  <bruno@clisp.org>
29404
29405         Update to Unicode 5.0.
29406         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
29407         code transform. Extend the name index field of unicode_name_to_code and
29408         unicode_code_to_name from 16 to 24 bits.
29409         * lib/uniname/uniname.c (unicode_character_name,
29410         unicode_name_character): Add the range 0x12xxx to the code transform.
29411         * lib/uniname/uninames.h: Regenerated.
29412         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
29413
29414 2007-07-07  Bruno Haible  <bruno@clisp.org>
29415
29416         * modules/wcwidth-tests: New file.
29417         * tests/test-wcwidth.c: New file.
29418
29419         Work around MacOS X wcwidth() bug.
29420         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
29421         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
29422         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
29423         original wcwidth in non-UTF-8 locales.
29424         * modules/wcwidth (Depends-on): Add localcharset, streq,
29425         uniwidth/width.
29426         * doc/functions/wcwidth.texi: Update.
29427
29428 2007-07-07  Bruno Haible  <bruno@clisp.org>
29429
29430         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
29431         (wcwidth): New declaration.
29432         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
29433         macros.
29434         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
29435         here. Prepare for creating <wchar.h> unconditionally.
29436         * modules/wchar (Depends-on): Add link-warning.
29437         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
29438         REPLACE_WCWIDTH, and GL_LINK_WARNING.
29439         * lib/wcwidth.h: Remove file.
29440         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
29441         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
29442         * modules/wcwidth (Files): Remove lib/wcwidth.h.
29443         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
29444         (Include): Replace wcwidth.h with <wchar.h>.
29445         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
29446         * lib/mbchar.h: Don't include wcwidth.h.
29447         * lib/mbswidth.c: Likewise.
29448         * NEWS: Mention the change.
29449
29450 2007-07-07  Bruno Haible  <bruno@clisp.org>
29451
29452         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
29453         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
29454         definition with an external declaration.
29455         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
29456         defined as a function. Remove AC_C_INLINE requirement.
29457         * modules/wcwidth (Files): Add lib/wcwidth.c.
29458         (Makefile.am): Remove redundant statement.
29459
29460 2007-07-07  Bruno Haible  <bruno@clisp.org>
29461
29462         * MODULES.html.sh (Unicode string functions): Add the new modules.
29463
29464         * tests/uniwidth/test-u32-strwidth.c: New file.
29465         * modules/uniwidth/u32-strwidth-tests: New file.
29466
29467         * lib/uniwidth/u32-strwidth.c: New file.
29468         * modules/uniwidth/u32-strwidth: New file.
29469
29470         * tests/uniwidth/test-u16-strwidth.c: New file.
29471         * modules/uniwidth/u16-strwidth-tests: New file.
29472
29473         * lib/uniwidth/u16-strwidth.c: New file.
29474         * modules/uniwidth/u16-strwidth: New file.
29475
29476         * tests/uniwidth/test-u8-strwidth.c: New file.
29477         * modules/uniwidth/u8-strwidth-tests: New file.
29478
29479         * lib/uniwidth/u8-strwidth.c: New file.
29480         * modules/uniwidth/u8-strwidth: New file.
29481
29482         * tests/uniwidth/test-u32-width.c: New file.
29483         * modules/uniwidth/u32-width-tests: New file.
29484
29485         * lib/uniwidth/u32-width.c: New file.
29486         * modules/uniwidth/u32-width: New file.
29487
29488         * tests/uniwidth/test-u16-width.c: New file.
29489         * modules/uniwidth/u16-width-tests: New file.
29490
29491         * lib/uniwidth/u16-width.c: New file.
29492         * modules/uniwidth/u16-width: New file.
29493
29494         * tests/uniwidth/test-u8-width.c: New file.
29495         * modules/uniwidth/u8-width-tests: New file.
29496
29497         * lib/uniwidth/u8-width.c: New file.
29498         * modules/uniwidth/u8-width: New file.
29499
29500         * tests/uniwidth/test-uc_width.c: New file.
29501         * modules/uniwidth/width-tests: New file.
29502
29503         * lib/uniwidth/width.c: New file, from GNU libiconv.
29504         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
29505         * modules/uniwidth/width: New file.
29506
29507         * lib/uniwidth.h: New file, from GNU libiconv.
29508         * modules/uniwidth/base: New file.
29509
29510 2007-07-07  Bruno Haible  <bruno@clisp.org>
29511
29512         * lib/uniname.h: New file, from GNU gettext.
29513         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
29514         * lib/uniname/uninames.h: New file, from GNU gettext.
29515         * lib/uniname/uniname.c: New file, from GNU gettext.
29516         * tests/uniname/test-uninames.sh: New file.
29517         * tests/uniname/test-uninames.c: New file, from GNU gettext.
29518         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
29519         * modules/uniname/base: New file.
29520         * modules/uniname/uniname: New file.
29521         * modules/uniname/uniname-tests: New file.
29522         * MODULES.html.sh (Unicode string functions): Add the new modules.
29523
29524 2007-07-06  Bruno Haible  <bruno@clisp.org>
29525
29526         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
29527
29528 2007-07-06  Bruno Haible  <bruno@clisp.org>
29529
29530         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
29531         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
29532         includes <cygwin/sys_time.h> which includes <sys/select.h> which
29533         include <sys/time.h>.
29534         Reported by Eric Blake.
29535
29536 2007-07-06  Eric Blake  <ebb9@byu.net>
29537
29538         Fix testing canonicalize on cygwin.
29539         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
29540         Revert patch from 2007-06-19.
29541         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
29542         canonicalize module is also in use.
29543         * tests/test-canonicalize.c: New file.
29544         * tests/test-canonicalize.sh: Likewise.
29545         * modules/canonicalize-tests: Likewise.
29546
29547 2007-07-06  Jim Meyering  <jim@meyering.net>
29548
29549         * lib/getugroups.c (getugroups): Detect getgrent failure.
29550         Adjust comment to reflect reality: this function may return -1.
29551
29552 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
29553
29554         * build-aux/bootstrap (TP_URL,get_translations): Update to use
29555         the new TP address.
29556         (usage): Fix typo
29557         (gnulib_mk): New variable.
29558
29559 2007-07-05  Jim Meyering  <jim@meyering.net>
29560
29561         Don't let endgrent clobber errno, no matter how improbable.
29562         * lib/getugroups.c (getugroups): Save and restore errno around
29563         endgrent call.
29564
29565         Close the group DB even when failing with 2^31 or more members.
29566         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
29567
29568 2007-07-04  Jim Meyering  <jim@meyering.net>
29569
29570         * lib/getugroups.h: New file.
29571         * lib/getugroups.c: Include "getugroups.h".
29572         Remove uses of "register" keyword.
29573         Move local variable, "cp", down into scope where used.
29574         Give "username" parameter the "const" attribute.
29575         * modules/getugroups (Files): Add lib/getugroups.h
29576
29577 2007-07-04  Karl Berry  <karl@gnu.org>
29578
29579         * MODULES.html.sh (func_all_modules): Complete rename of
29580         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
29581
29582 2007-07-02  Bruno Haible  <bruno@clisp.org>
29583
29584         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
29585         mode, when inttypes.h comes from gnulib.
29586         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
29587
29588 2007-07-02  Simon Josefsson  <simon@josefsson.org>
29589
29590         * NEWS: Mention lgpl module name change.
29591
29592         * modules/lgpl-2.1: Renamed from lgpl.
29593
29594         * NEWS: Mention gpl module name change.
29595
29596         * modules/gpl-3.0: New file, based on gpl-2.0.
29597
29598         * modules/gpl-2.0: Renamed from gpl.
29599
29600         * modules/gpl: Fix filename, doc/gpl.texi is now found at
29601         doc/gpl-2.0.texi.
29602
29603 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
29604
29605         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
29606         #define __STDC_LIMIT_MACROS temporarily while including
29607         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
29608         Problem reported by Joel E. Denny in
29609         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
29610
29611 2007-07-01  Bruno Haible  <bruno@clisp.org>
29612
29613         * lib/unistdio.h: New file.
29614         * lib/unistdio/u-asnprintf.h: New file.
29615         * lib/unistdio/u-asprintf.h: New file.
29616         * lib/unistdio/u-printf-args.c: New file.
29617         * lib/unistdio/u-printf-args.h: New file.
29618         * lib/unistdio/u-printf-parse.h: New file.
29619         * lib/unistdio/u-snprintf.h: New file.
29620         * lib/unistdio/u-sprintf.h: New file.
29621         * lib/unistdio/u-vasprintf.h: New file.
29622         * lib/unistdio/u-vsnprintf.h: New file.
29623         * lib/unistdio/u-vsprintf.h: New file.
29624         * lib/unistdio/ulc-asnprintf.c: New file.
29625         * lib/unistdio/ulc-asprintf.c: New file.
29626         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
29627         * lib/unistdio/ulc-printf-parse.c: New file.
29628         * lib/unistdio/ulc-snprintf.c: New file.
29629         * lib/unistdio/ulc-sprintf.c: New file.
29630         * lib/unistdio/ulc-vasnprintf.c: New file.
29631         * lib/unistdio/ulc-vasprintf.c: New file.
29632         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
29633         * lib/unistdio/ulc-vsnprintf.c: New file.
29634         * lib/unistdio/ulc-vsprintf.c: New file.
29635         * lib/unistdio/u8-asnprintf.c: New file.
29636         * lib/unistdio/u8-asprintf.c: New file.
29637         * lib/unistdio/u8-printf-parse.c: New file.
29638         * lib/unistdio/u8-snprintf.c: New file.
29639         * lib/unistdio/u8-sprintf.c: New file.
29640         * lib/unistdio/u8-vasnprintf.c: New file.
29641         * lib/unistdio/u8-vasprintf.c: New file.
29642         * lib/unistdio/u8-vsnprintf.c: New file.
29643         * lib/unistdio/u8-vsprintf.c: New file.
29644         * lib/unistdio/u8-u8-asnprintf.c: New file.
29645         * lib/unistdio/u8-u8-asprintf.c: New file.
29646         * lib/unistdio/u8-u8-snprintf.c: New file.
29647         * lib/unistdio/u8-u8-sprintf.c: New file.
29648         * lib/unistdio/u8-u8-vasnprintf.c: New file.
29649         * lib/unistdio/u8-u8-vasprintf.c: New file.
29650         * lib/unistdio/u8-u8-vsnprintf.c: New file.
29651         * lib/unistdio/u8-u8-vsprintf.c: New file.
29652         * lib/unistdio/u16-asnprintf.c: New file.
29653         * lib/unistdio/u16-asprintf.c: New file.
29654         * lib/unistdio/u16-printf-parse.c: New file.
29655         * lib/unistdio/u16-snprintf.c: New file.
29656         * lib/unistdio/u16-sprintf.c: New file.
29657         * lib/unistdio/u16-vasnprintf.c: New file.
29658         * lib/unistdio/u16-vasprintf.c: New file.
29659         * lib/unistdio/u16-vsnprintf.c: New file.
29660         * lib/unistdio/u16-vsprintf.c: New file.
29661         * lib/unistdio/u16-u16-asnprintf.c: New file.
29662         * lib/unistdio/u16-u16-asprintf.c: New file.
29663         * lib/unistdio/u16-u16-snprintf.c: New file.
29664         * lib/unistdio/u16-u16-sprintf.c: New file.
29665         * lib/unistdio/u16-u16-vasnprintf.c: New file.
29666         * lib/unistdio/u16-u16-vasprintf.c: New file.
29667         * lib/unistdio/u16-u16-vsnprintf.c: New file.
29668         * lib/unistdio/u16-u16-vsprintf.c: New file.
29669         * lib/unistdio/u32-asnprintf.c: New file.
29670         * lib/unistdio/u32-asprintf.c: New file.
29671         * lib/unistdio/u32-printf-parse.c: New file.
29672         * lib/unistdio/u32-snprintf.c: New file.
29673         * lib/unistdio/u32-sprintf.c: New file.
29674         * lib/unistdio/u32-vasnprintf.c: New file.
29675         * lib/unistdio/u32-vasprintf.c: New file.
29676         * lib/unistdio/u32-vsnprintf.c: New file.
29677         * lib/unistdio/u32-vsprintf.c: New file.
29678         * lib/unistdio/u32-u32-asnprintf.c: New file.
29679         * lib/unistdio/u32-u32-asprintf.c: New file.
29680         * lib/unistdio/u32-u32-snprintf.c: New file.
29681         * lib/unistdio/u32-u32-sprintf.c: New file.
29682         * lib/unistdio/u32-u32-vasnprintf.c: New file.
29683         * lib/unistdio/u32-u32-vasprintf.c: New file.
29684         * lib/unistdio/u32-u32-vsnprintf.c: New file.
29685         * lib/unistdio/u32-u32-vsprintf.c: New file.
29686         * tests/unistdio/test-ulc-asnprintf1.c: New file.
29687         * tests/unistdio/test-ulc-asnprintf1.h: New file.
29688         * tests/unistdio/test-ulc-printf1.h: New file.
29689         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
29690         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
29691         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
29692         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
29693         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
29694         * tests/unistdio/test-ulc-vasprintf1.c: New file.
29695         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
29696         * tests/unistdio/test-ulc-vsprintf1.c: New file.
29697         * tests/unistdio/test-u8-asnprintf1.c: New file.
29698         * tests/unistdio/test-u8-asnprintf1.h: New file.
29699         * tests/unistdio/test-u8-printf1.h: New file.
29700         * tests/unistdio/test-u8-vasnprintf1.c: New file.
29701         * tests/unistdio/test-u8-vasnprintf2.c: New file.
29702         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
29703         * tests/unistdio/test-u8-vasnprintf3.c: New file.
29704         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
29705         * tests/unistdio/test-u8-vasprintf1.c: New file.
29706         * tests/unistdio/test-u8-vsnprintf1.c: New file.
29707         * tests/unistdio/test-u8-vsprintf1.c: New file.
29708         * tests/unistdio/test-u16-asnprintf1.c: New file.
29709         * tests/unistdio/test-u16-asnprintf1.h: New file.
29710         * tests/unistdio/test-u16-printf1.h: New file.
29711         * tests/unistdio/test-u16-vasnprintf1.c: New file.
29712         * tests/unistdio/test-u16-vasnprintf2.c: New file.
29713         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
29714         * tests/unistdio/test-u16-vasnprintf3.c: New file.
29715         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
29716         * tests/unistdio/test-u16-vasprintf1.c: New file.
29717         * tests/unistdio/test-u16-vsnprintf1.c: New file.
29718         * tests/unistdio/test-u16-vsprintf1.c: New file.
29719         * tests/unistdio/test-u32-asnprintf1.c: New file.
29720         * tests/unistdio/test-u32-asnprintf1.h: New file.
29721         * tests/unistdio/test-u32-printf1.h: New file.
29722         * tests/unistdio/test-u32-vasnprintf1.c: New file.
29723         * tests/unistdio/test-u32-vasnprintf2.c: New file.
29724         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
29725         * tests/unistdio/test-u32-vasnprintf3.c: New file.
29726         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
29727         * tests/unistdio/test-u32-vasprintf1.c: New file.
29728         * tests/unistdio/test-u32-vsnprintf1.c: New file.
29729         * tests/unistdio/test-u32-vsprintf1.c: New file.
29730         * modules/unistdio/base: New file.
29731         * modules/unistdio/u-printf-args: New file.
29732         * modules/unistdio/ulc-asnprintf: New file.
29733         * modules/unistdio/ulc-asprintf: New file.
29734         * modules/unistdio/ulc-fprintf: New file.
29735         * modules/unistdio/ulc-printf-parse: New file.
29736         * modules/unistdio/ulc-snprintf: New file.
29737         * modules/unistdio/ulc-sprintf: New file.
29738         * modules/unistdio/ulc-vasnprintf: New file.
29739         * modules/unistdio/ulc-vasprintf: New file.
29740         * modules/unistdio/ulc-vfprintf: New file.
29741         * modules/unistdio/ulc-vsnprintf: New file.
29742         * modules/unistdio/ulc-vsprintf: New file.
29743         * modules/unistdio/u8-asnprintf: New file.
29744         * modules/unistdio/u8-asprintf: New file.
29745         * modules/unistdio/u8-printf-parse: New file.
29746         * modules/unistdio/u8-snprintf: New file.
29747         * modules/unistdio/u8-sprintf: New file.
29748         * modules/unistdio/u8-vasnprintf: New file.
29749         * modules/unistdio/u8-vasprintf: New file.
29750         * modules/unistdio/u8-vsnprintf: New file.
29751         * modules/unistdio/u8-vsprintf: New file.
29752         * modules/unistdio/u8-u8-asnprintf: New file.
29753         * modules/unistdio/u8-u8-asprintf: New file.
29754         * modules/unistdio/u8-u8-snprintf: New file.
29755         * modules/unistdio/u8-u8-sprintf: New file.
29756         * modules/unistdio/u8-u8-vasnprintf: New file.
29757         * modules/unistdio/u8-u8-vasprintf: New file.
29758         * modules/unistdio/u8-u8-vsnprintf: New file.
29759         * modules/unistdio/u8-u8-vsprintf: New file.
29760         * modules/unistdio/u16-asnprintf: New file.
29761         * modules/unistdio/u16-asprintf: New file.
29762         * modules/unistdio/u16-printf-parse: New file.
29763         * modules/unistdio/u16-snprintf: New file.
29764         * modules/unistdio/u16-sprintf: New file.
29765         * modules/unistdio/u16-vasnprintf: New file.
29766         * modules/unistdio/u16-vasprintf: New file.
29767         * modules/unistdio/u16-vsnprintf: New file.
29768         * modules/unistdio/u16-vsprintf: New file.
29769         * modules/unistdio/u16-u16-asnprintf: New file.
29770         * modules/unistdio/u16-u16-asprintf: New file.
29771         * modules/unistdio/u16-u16-snprintf: New file.
29772         * modules/unistdio/u16-u16-sprintf: New file.
29773         * modules/unistdio/u16-u16-vasnprintf: New file.
29774         * modules/unistdio/u16-u16-vasprintf: New file.
29775         * modules/unistdio/u16-u16-vsnprintf: New file.
29776         * modules/unistdio/u16-u16-vsprintf: New file.
29777         * modules/unistdio/u32-asnprintf: New file.
29778         * modules/unistdio/u32-asprintf: New file.
29779         * modules/unistdio/u32-printf-parse: New file.
29780         * modules/unistdio/u32-snprintf: New file.
29781         * modules/unistdio/u32-sprintf: New file.
29782         * modules/unistdio/u32-vasnprintf: New file.
29783         * modules/unistdio/u32-vasprintf: New file.
29784         * modules/unistdio/u32-vsnprintf: New file.
29785         * modules/unistdio/u32-vsprintf: New file.
29786         * modules/unistdio/u32-u32-asnprintf: New file.
29787         * modules/unistdio/u32-u32-asprintf: New file.
29788         * modules/unistdio/u32-u32-snprintf: New file.
29789         * modules/unistdio/u32-u32-sprintf: New file.
29790         * modules/unistdio/u32-u32-vasnprintf: New file.
29791         * modules/unistdio/u32-u32-vasprintf: New file.
29792         * modules/unistdio/u32-u32-vsnprintf: New file.
29793         * modules/unistdio/u32-u32-vsprintf: New file.
29794         * modules/unistdio/ulc-asnprintf-tests: New file.
29795         * modules/unistdio/ulc-vasnprintf-tests: New file.
29796         * modules/unistdio/ulc-vasprintf-tests: New file.
29797         * modules/unistdio/ulc-vsnprintf-tests: New file.
29798         * modules/unistdio/ulc-vsprintf-tests: New file.
29799         * modules/unistdio/u8-asnprintf-tests: New file.
29800         * modules/unistdio/u8-vasnprintf-tests: New file.
29801         * modules/unistdio/u8-vasprintf-tests: New file.
29802         * modules/unistdio/u8-vsnprintf-tests: New file.
29803         * modules/unistdio/u8-vsprintf-tests: New file.
29804         * modules/unistdio/u16-asnprintf-tests: New file.
29805         * modules/unistdio/u16-vasnprintf-tests: New file.
29806         * modules/unistdio/u16-vasprintf-tests: New file.
29807         * modules/unistdio/u16-vsnprintf-tests: New file.
29808         * modules/unistdio/u16-vsprintf-tests: New file.
29809         * modules/unistdio/u32-asnprintf-tests: New file.
29810         * modules/unistdio/u32-vasnprintf-tests: New file.
29811         * modules/unistdio/u32-vasprintf-tests: New file.
29812         * modules/unistdio/u32-vsnprintf-tests: New file.
29813         * modules/unistdio/u32-vsprintf-tests: New file.
29814         * MODULES.html.sh (Unicode string functions): Add the new modules.
29815
29816 2007-07-01  Bruno Haible  <bruno@clisp.org>
29817
29818         * lib/sprintf.c (sprintf): Limit the available length estimation,
29819         to avoid address wraparound.
29820         * lib/vsprintf.c (vsprintf): Likewise.
29821         * modules/sprintf-posix (Dependencies): Add stdint.
29822         * modules/vsprintf-posix (Dependencies): Likewise.
29823
29824 2007-07-01  Bruno Haible  <bruno@clisp.org>
29825
29826         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
29827         Windows PATH as well. Conservative double-quoting. Comments.
29828
29829 2007-07-01  Bruno Haible  <bruno@clisp.org>
29830             Eric Blake  <ebb9@byu.net>
29831             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29832
29833         * gnulib-tool (self_abspathname): Fix algorithm to cope with
29834         empty components in $PATH, denoting '.'.
29835
29836 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29837
29838         * gnulib-tool: Fix indentation.
29839         (func_create_megatestdir): Likewise.
29840         Report by Bruno Haible.
29841
29842 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29843
29844         Sync from Automake.
29845         * build-aux/gnupload: Fix shell portability issues with for loops.
29846         Report by Karl Berry.
29847
29848 2007-06-29  Simon Josefsson  <simon@josefsson.org>
29849
29850         * build-aux/maint.mk (POURL): Use translationproject.org.
29851
29852 2007-06-27  Simon Josefsson  <simon@josefsson.org>
29853             Bruno Haible  <bruno@clisp.org>
29854
29855         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
29856         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
29857         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
29858         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
29859         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
29860
29861 2007-06-27  Bruno Haible  <bruno@clisp.org>
29862
29863         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
29864         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
29865
29866 2007-06-26  Karl Berry  <karl@gnu.org>
29867
29868         * MODULES.html.sh: remove xreadlink-with-size.
29869
29870 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
29871
29872         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
29873         method that I hope also handles the double-include problem noted
29874         by Bruno Haible in
29875         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
29876
29877 2007-06-23  Bruno Haible  <bruno@clisp.org>
29878
29879         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
29880         Don't let the 'mostlyclean' target fail if the last subdirectory could
29881         not be removed.
29882         Reported by Karl Berry.
29883
29884 2007-06-23  Bruno Haible  <bruno@clisp.org>
29885
29886         * gnulib-tool (echo): Add a speedier workaround for ksh.
29887         * tests/test-echo.sh: Likewise.
29888
29889 2007-06-23  Bruno Haible  <bruno@clisp.org>
29890
29891         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
29892         * tests/test-echo.sh: Likewise.
29893
29894 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29895
29896         * gnulib-tool (IFS): Initialize early, so we don't set it to
29897         empty later.
29898         (self_abspathname): Rewrite algorithm to set it, reindent.
29899         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
29900         (func_create_megatestdir): Merge some sed scripts.
29901
29902 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
29903
29904         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
29905         exposed by Sun Studio 11 cc on Solaris 8.
29906
29907 2007-06-22  Bruno Haible  <bruno@clisp.org>
29908
29909         * gnulib-tool (echo): Ensure the echo primitive does not interpret
29910         backslashes.
29911         * tests/test-echo.sh: New file.
29912
29913 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29914
29915         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
29916         simplify `sed_replace_build_aux' scripts, they are portable but
29917         echoing them with `echo' is not.
29918         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
29919
29920 2007-06-21  Karl Berry  <karl@gnu.org>
29921
29922         * config/srclist.txt: guess we can't handle the licenses via
29923         srclist at the moment.
29924
29925 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
29926
29927         * MODULES.html.sh: Add include_next.
29928         * modules/include_next: New file.
29929
29930 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
29931
29932         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
29933         INCLUDE_NEXT.
29934         (gl_CHECK_NEXT_HEADERS): New macro.
29935         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
29936         the obsolescent gl_ABSOLUTE_HEADER.
29937         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
29938         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
29939         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
29940         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
29941         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
29942         * m4/math_h.m4 (gl_MATH_H): Likewise.
29943         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
29944         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
29945         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
29946         * m4/stdint.m4 (gl_STDINT_H): Likewise.
29947         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
29948         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
29949         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
29950         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
29951         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
29952         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
29953         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
29954         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
29955         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
29956         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
29957         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
29958         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
29959         * m4/inttypes.m4 (gl_INTTYPES_H): Define
29960         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
29961         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
29962         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
29963         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
29964         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
29965         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
29966         * lib/float_.h: Likewise.
29967         * lib/inttypes_.h: Likewise.
29968         * lib/math_.h: Likewise.
29969         * lib/search_.h: Likewise.
29970         * lib/signal_.h: Likewise.
29971         * lib/stdint_.h: Likewise.
29972         * lib/stdio_.h: Likewise.
29973         * lib/stdlib_.h: Likewise.
29974         * lib/string_.h: Likewise.
29975         * lib/sys_stat_.h: Likewise.
29976         * lib/sys_time_.h: Likewise.
29977         * lib/time_.h: Likewise.
29978         * lib/unistd_.h: Likewise.
29979         * lib/wchar_.h: Likewise.
29980         * lib/wctype_.h: Likewise.
29981         * lib/dirent_.h: Likewise.
29982         * lib/iconv_.h: Likewise.
29983         * lib/locale_.h: Likewise.
29984         * lib/netinet_in_.h: Likewise.
29985         * lib/sys_select_.h: Likewise.
29986         * lib/sys_socket_.h: Likewise.
29987         * lib/sysexits_.h: Likewise.
29988         * modules/fcntl (Depends-on): Depend on include_next, not
29989         absolute_header.
29990         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
29991         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
29992         * modules/fchdir: Likewise.
29993         * modules/float: Likewise.
29994         * modules/iconv_open: Likewise.
29995         * modules/inttypes: Likewise.
29996         * modules/locale: Likewise.
29997         * modules/math: Likewise.
29998         * modules/netinet_in: Likewise.
29999         * modules/search: Likewise.
30000         * modules/signal: Likewise.
30001         * modules/stdint: Likewise.
30002         * modules/stdio: Likewise.
30003         * modules/stdlib: Likewise.
30004         * modules/string: Likewise.
30005         * modules/sys_select: Likewise.
30006         * modules/sys_socket: Likewise.
30007         * modules/sys_stat: Likewise.
30008         * modules/sys_time: Likewise.
30009         * modules/sysexits: Likewise.
30010         * modules/time: Likewise.
30011         * modules/unistd: Likewise.
30012         * modules/wchar: Likewise.
30013         * modules/wctype: Likewise.
30014         * modules/sys_stat: Change maintainer to "all".
30015         * modules/unistd: Likewise.
30016
30017 2007-06-20  Karl Berry  <karl@gnu.org>
30018
30019         * config/srclist.txt: track www changes in license files.
30020
30021 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
30022
30023         * build-aux/bootstrap: Remove stray dot.
30024         Make sure build_aux settings are honored when linking
30025         gnulib_extra_files.
30026
30027 2007-06-19  Eric Blake  <ebb9@byu.net>
30028
30029         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
30030         Allow compilation on cygwin.
30031
30032 2007-06-19  Jim Meyering  <jim@meyering.net>
30033
30034         xreadlink-with-size: Remove module.  No longer used.
30035         Ex-callers now use xreadlink or mreadlink-with-size.
30036         * modules/xreadlink-with-size: Remove module.
30037         * lib/xreadlink-with-size.c: Remove file.
30038         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
30039         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
30040         just before the function definition *is* accurate.
30041
30042         Eliminate one way canonicalize_filename_mode could exit.
30043         * lib/canonicalize.c (canonicalize_filename_mode):
30044         Use mreadlink_with_size, not xreadlink_with_size.
30045
30046 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
30047
30048         Detect porting problems to FreeBSD/arm, which has time_t wider than
30049         long int.  Original problem reported for GNU diff by Xin Li in
30050         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
30051         * modules/getdate (Depends-on): Add intprops, verify.
30052         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
30053         is an integer type no wider than long int.
30054
30055 2007-06-18  Jim Meyering  <jim@meyering.net>
30056
30057         New module: mreadlink-with-size.
30058         * MODULES.html.sh: Add mreadlink-with-size.
30059         * modules/mreadlink-with-size: New module
30060         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
30061         not xreadlink-with-size.
30062         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
30063
30064 2007-06-16  Bruno Haible  <bruno@clisp.org>
30065
30066         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
30067         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
30068         Reported by Gary V. Vaughan <gary@gnu.org>.
30069
30070 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
30071
30072         Revamp lchown so that it lives in unistd.h where it belongs.
30073         * lib/lchown.h: Remove.
30074         * lib/dirchownmod.c: Don't include lib/lchown.h.
30075         * lib/fchownat.c: Likewise.
30076         * lib/openat.c: Likewise.
30077         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
30078         does not follow symlinks.
30079         (EOPNOTSUPP): Define if not defined.
30080         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
30081         is defined to 0.
30082         (lchown): New decl.
30083         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
30084         Do not check for lchown decl.
30085         Set REPLACE_LCHOWN.
30086         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
30087         REPLACE_LCHOWN.
30088         * modules/chown: Make it clear it follows symlinks.
30089         * modules/lchown: Make it clear it doesn't follow symlinks.
30090         (Files): Remove lib/lchown.h
30091         (Depends-on): Add unistd.
30092         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
30093         (Include): Include <unistd.h>, not "lchown.h".
30094         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
30095         REPLACE_LCHOWN.
30096
30097 2007-06-15  Jim Meyering  <jim@meyering.net>
30098
30099         Change license (GPL to LGPL) of fsusage and dependents.
30100         * modules/fsusage (License): Change to LGPL.
30101         * modules/full-read (License): Likewise.
30102         * modules/full-write (License): Likewise.
30103         * modules/safe-read (License): Likewise.
30104         * modules/safe-write (License): Likewise.
30105
30106 2007-06-14  Ben Pfaff  <blp@gnu.org>
30107
30108         Missing part of allocsa -> malloca transition.
30109         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
30110         gl_MALLOCA.
30111
30112 2007-06-12  Bruno Haible  <bruno@clisp.org>
30113
30114         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
30115         to ia64, x86_64, i386.
30116         Reported by Eric Blake.
30117
30118 2007-06-12  Bruno Haible  <bruno@clisp.org>
30119
30120         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
30121         cross-compiling to x86_64.
30122
30123 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
30124
30125         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
30126         glitch reported by Ralf Wildenhues in
30127         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
30128
30129         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
30130         Vin Shelton.
30131
30132 2007-06-11  Bruno Haible  <bruno@clisp.org>
30133
30134         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
30135         replacement string.
30136         Reported by Eric Blake.
30137
30138 2007-06-10  Bruno Haible  <bruno@clisp.org>
30139
30140         Prepare vasnprintf code for use with Unicode strings.
30141         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
30142         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
30143         TYPE_U32_STRING.
30144         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
30145         a_u32_string variants.
30146         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
30147         * lib/printf-args.c: Don't include config.h and the specification
30148         header if PRINTF_FETCHARGS is already defined.
30149         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
30150         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
30151         TYPE_U16_STRING, TYPE_U32_STRING.
30152         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
30153         u16_directive, u16_directives, u32_directive, u32_directives): New
30154         types.
30155         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
30156         New declarations.
30157         * lib/printf-parse.c: Don't include config.h and the specification
30158         header if PRINTF_PARSE is already defined. Eliminate the set of
30159         parameters for WIDE_CHAR_VERSION; the user of this file must provide
30160         them now. Include c-ctype.h.
30161         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
30162         directive and CHAR_T_ONLY_ASCII.
30163         * lib/vasnprintf.c: Don't include config.h and the specification header
30164         if VASNPRINTF is already defined.
30165         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
30166         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
30167         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
30168         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
30169         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
30170         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
30171         code accordingly.
30172         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
30173         pad_ourselves also in this case, with the 'c' and 's' directives, and
30174         with a different notion of "width".
30175         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
30176
30177 2007-06-10  Bruno Haible  <bruno@clisp.org>
30178
30179         * modules/unistr/u32-mbsnlen: New file.
30180         * lib/unistr/u32-mbsnlen.c: New file.
30181
30182         * modules/unistr/u16-mbsnlen: New file.
30183         * lib/unistr/u16-mbsnlen.c: New file.
30184
30185         * modules/unistr/u8-mbsnlen: New file.
30186         * lib/unistr/u8-mbsnlen.c: New file.
30187
30188         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
30189         declarations.
30190
30191 2007-06-10  Bruno Haible  <bruno@clisp.org>
30192
30193         * lib/string_.h (mbsnlen): New declaration.
30194         * lib/mbsnlen.c: New file.
30195         * m4/mbsnlen.m4: New file.
30196         * modules/mbsnlen: New file.
30197         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
30198         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
30199         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
30200
30201 2007-06-10  Bruno Haible  <bruno@clisp.org>
30202
30203         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
30204
30205 2007-06-10  Bruno Haible  <bruno@clisp.org>
30206
30207         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
30208         * lib/mbuiter.h: Likewise.
30209
30210 2007-06-10  Bruno Haible  <bruno@clisp.org>
30211
30212         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
30213         declaration.
30214
30215 2007-06-10  Karl Berry  <karl@gnu.org>
30216
30217         * config/srclist.txt: remove gettext entries, Bruno prefers
30218         to update individually.
30219
30220 2007-06-10  Bruno Haible  <bruno@clisp.org>
30221
30222         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
30223         'maxlen'. Ensure only length + width bytes are allocated, not
30224         length + 1 + width.
30225
30226 2007-06-09  Bruno Haible  <bruno@clisp.org>
30227
30228         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
30229         (CHAR_T): Remove macro.
30230         (VASNPRINTF): Update.
30231
30232 2007-06-09  Bruno Haible  <bruno@clisp.org>
30233
30234         * MODULES.html.sh (Unicode string functions): Add the new modules.
30235
30236         * modules/uniconv/u32-conv-to-enc: New file.
30237         * lib/uniconv/u32-conv-to-enc.c: New file.
30238         * modules/uniconv/u32-conv-to-enc-tests: New file.
30239         * tests/uniconv/test-u32-conv-to-enc.c: New file.
30240
30241         * modules/uniconv/u16-conv-to-enc: New file.
30242         * lib/uniconv/u16-conv-to-enc.c: New file.
30243         * lib/uniconv/u-conv-to-enc.h: New file.
30244         * modules/uniconv/u16-conv-to-enc-tests: New file.
30245         * tests/uniconv/test-u16-conv-to-enc.c: New file.
30246
30247         * modules/uniconv/u8-conv-to-enc: New file.
30248         * lib/uniconv/u8-conv-to-enc.c: New file.
30249         * modules/uniconv/u8-conv-to-enc-tests: New file.
30250         * tests/uniconv/test-u8-conv-to-enc.c: New file.
30251
30252         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
30253         u32_conv_to_encoding): New declarations.
30254
30255 2007-06-09  Bruno Haible  <bruno@clisp.org>
30256
30257         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
30258
30259 2007-06-09  Bruno Haible  <bruno@clisp.org>
30260
30261         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
30262         * modules/malloca: Renamed from modules/allocsa, updated.
30263         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
30264         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
30265         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
30266         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
30267         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
30268         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
30269         * modules/xmalloca: Renamed from modules/xallocsa, updated.
30270         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
30271         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
30272         * modules/c-strcasestr (Depends-on): Update.
30273         * lib/c-strcasestr.c: Update.
30274         * modules/c-strstr (Depends-on): Update.
30275         * lib/c-strstr.c: Update.
30276         * modules/canonicalize-lgpl (Depends-on): Update.
30277         * lib/canonicalize-lgpl.c: Update.
30278         * modules/clean-temp (Depends-on): Update.
30279         * lib/clean-temp.c: Update.
30280         * modules/csharpcomp (Depends-on): Update.
30281         * lib/csharpcomp.c: Update.
30282         * modules/csharpexec (Depends-on): Update.
30283         * lib/csharpexec.c: Update.
30284         * modules/javacomp (Depends-on): Update.
30285         * lib/javacomp.c: Update.
30286         * modules/javaexec (Depends-on): Update.
30287         * lib/javaexec.c: Update.
30288         * modules/mbscasestr (Depends-on): Update.
30289         * lib/mbscasestr.c: Update.
30290         * modules/mbsstr (Depends-on): Update.
30291         * lib/mbsstr.c: Update.
30292         * modules/setenv (Depends-on): Update.
30293         * lib/setenv.c: Update.
30294         * modules/strcasestr (Depends-on): Update.
30295         * lib/strcasestr.c: Update.
30296         * modules/striconveha (Depends-on): Update.
30297         * lib/striconveha.c: Update.
30298         * modules/relocatable-prog-wrapper (Files): Update.
30299         * lib/relocwrapper.c: Update.
30300         * build-aux/install-reloc: Update.
30301         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
30302
30303 2007-06-08  Bruno Haible  <bruno@clisp.org>
30304
30305         Port to uClibc.
30306         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
30307         * lib/fpurge.c (fpurge): Likewise.
30308         * lib/freading.c (freading): Likewise.
30309         * lib/fseeko.c (rpl_fseeko): Likewise.
30310         * lib/fseterr.c (fseterr): Likewise.
30311         * lib/fwriting.c (fwriting): Likewise.
30312         * tests/test-fflush.c (main): Avoid a failure on uClibc.
30313
30314 2007-06-08  Bruno Haible  <bruno@clisp.org>
30315
30316         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
30317         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
30318         * modules/gettext (Files): Add m4/intlmacosx.m4.
30319
30320 2007-06-07  Bruno Haible  <bruno@clisp.org>
30321
30322         * modules/localename-tests: New file.
30323         * tests/test-localename.c: New file.
30324
30325         New module 'localename'.
30326         * lib/localename.h: New file.
30327         * lib/localename.c: New file, from GNU gettext.
30328         * m4/localename.m4: New file.
30329         * modules/localename: New file.
30330
30331 2007-06-07  Bruno Haible  <bruno@clisp.org>
30332
30333         Work around the lack of <wchar.h> on some builds of uClibc.
30334         * doc/headers/wchar.texi: Update.
30335         * lib/wchar_.h: Include <wchar.h> only if it exists.
30336         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
30337         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
30338         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
30339         doesn't exist.
30340         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
30341         * modules/mbfile (Depends-on): Add wchar.
30342         * modules/mbiter (Depends-on): Likewise.
30343         * modules/mbuiter (Depends-on): Likewise.
30344         Reported by Simon Josefsson.
30345
30346 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
30347
30348         Work around problem reported by Steven M. Schweda in
30349         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
30350         Tru64 5.1B with the Compaq compiler environment installed declares
30351         an 'isblank' function but does not define it in the C library.
30352         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
30353         * lib/regex_internal.h (isblank): Likewise.
30354         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
30355         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
30356
30357 2007-06-05  Bruno Haible  <bruno@clisp.org>
30358
30359         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
30360         ia64.
30361         * modules/printf-safe: New file.
30362         * modules/fprintf-posix (Depends-on): Add printf-safe.
30363         * modules/printf-posix (Depends-on): Likewise.
30364         * modules/snprintf-posix (Depends-on): Likewise.
30365         * modules/sprintf-posix (Depends-on): Likewise.
30366         * modules/vasnprintf-posix (Depends-on): Likewise.
30367         * modules/vasprintf-posix (Depends-on): Likewise.
30368         * modules/vfprintf-posix (Depends-on): Likewise.
30369         * modules/vprintf-posix (Depends-on): Likewise.
30370         * modules/vsnprintf-posix (Depends-on): Likewise.
30371         * modules/vsprintf-posix (Depends-on): Likewise.
30372         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
30373         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
30374         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
30375         "no" on i386, x86_64, ia64.
30376         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
30377         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
30378         on i386, x86_64, ia64.
30379         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
30380         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
30381         on i386, x86_64, ia64.
30382         * tests/test-vasnprintf-posix.c: Include float.h.
30383         (LDBL80_WORDS): New macro.
30384         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
30385         on i386, x86_64, ia64.
30386         * tests/test-vasprintf-posix.c: Include float.h.
30387         (LDBL80_WORDS): New macro.
30388         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
30389         on i386, x86_64, ia64.
30390         * tests/test-snprintf-posix.c: Include float.h.
30391         * tests/test-sprintf-posix.c: Likewise.
30392         * tests/test-vsnprintf-posix.c: Likewise.
30393         * tests/test-vsprintf-posix.c: Likewise.
30394
30395 2007-06-05  Bruno Haible  <bruno@clisp.org>
30396
30397         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
30398         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
30399         non-IEEE numbers on i386, x86_64, ia64.
30400         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
30401         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
30402         * tests/test-isnanl.h: Include float.h.
30403         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
30404
30405 2007-06-05  Bruno Haible  <bruno@clisp.org>
30406
30407         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
30408         also the %a / %A. Handle the %a / %A code before this extra handling.
30409
30410 2007-06-05  Bruno Haible  <bruno@clisp.org>
30411
30412         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
30413         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
30414
30415 2007-06-05  Bruno Haible  <bruno@clisp.org>
30416
30417         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
30418         typo in variable name.
30419
30420 2007-06-05  Eric Blake  <ebb9@byu.net>
30421
30422         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
30423         Reported by Simon Josefsson.
30424
30425 2007-06-04  Bruno Haible  <bruno@clisp.org>
30426
30427         Avoid test failures on some PowerPC platforms.
30428         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
30429         Define differently for PowerPC.
30430         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
30431         Reported by Gary V. Vaughan <gary@gnu.org>.
30432
30433 2007-06-02  Bruno Haible  <bruno@clisp.org>
30434
30435         Fix test-stdint failure on FreeBSD/ia64.
30436         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
30437         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
30438         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
30439         * doc/headers/stdint.texi: Update.
30440
30441 2007-06-01  Bruno Haible  <bruno@clisp.org>
30442
30443         * tests/test-binary-io.c (main): Pass a third argument to open().
30444         Reported by Gary V. Vaughan <gary@gnu.org>.
30445
30446 2007-06-01  Bruno Haible  <bruno@clisp.org>
30447
30448         * doc/functions/frexpl.texi: Update for mingw.
30449
30450 2007-06-01  Bruno Haible  <bruno@clisp.org>
30451
30452         * tests/test-lseek.c (main): Disable test of errno for invalid third
30453         argument.
30454         * doc/functions/lseek.texi: Update.
30455         Reported by Gary V. Vaughan <gary@gnu.org>.
30456
30457 2007-05-28  Bruno Haible  <bruno@clisp.org>
30458
30459         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
30460
30461 2007-05-31  Eric Blake  <ebb9@byu.net>
30462
30463         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
30464         cross compiling.
30465
30466 2007-05-30  Eric Blake  <ebb9@byu.net>
30467         and Bruno Haible  <bruno@clisp.org>
30468
30469         Work around mingw test failures exposed by m4-1.4.9b.
30470         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
30471         * tests/test-unistd.c: Disable uid_t and git_t tests for the
30472         moment.
30473
30474 2007-05-30  Bruno Haible  <bruno@clisp.org>
30475
30476         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
30477         assuming that they are closed. Needed on HP-UX 11.
30478
30479 2007-05-29  Bruno Haible  <bruno@clisp.org>
30480
30481         Fix a problem with #include_next.
30482         * lib/dirent_.h: Split the double-inclusion guard.
30483         * lib/fcntl_.h: Likewise.
30484         * lib/float_.h: Likewise.
30485         * lib/iconv_.h: Likewise.
30486         * lib/inttypes_.h: Likewise.
30487         * lib/locale_.h: Likewise.
30488         * lib/math_.h: Likewise.
30489         * lib/netinet_in_.h: Likewise.
30490         * lib/search_.h: Likewise.
30491         * lib/signal_.h: Likewise.
30492         * lib/stdint_.h: Likewise.
30493         * lib/stdio_.h: Likewise.
30494         * lib/stdlib_.h: Likewise.
30495         * lib/string_.h: Likewise.
30496         * lib/sys_select_.h: Likewise.
30497         * lib/sys_socket_.h: Likewise.
30498         * lib/sys_stat_.h: Likewise.
30499         * lib/sys_time_.h: Likewise.
30500         * lib/sysexits_.h: Likewise.
30501         * lib/time_.h: Likewise.
30502         * lib/unistd_.h: Likewise.
30503         * lib/wchar_.h: Likewise.
30504         * lib/wctype_.h: Likewise.
30505
30506 2007-05-29  Bruno Haible  <bruno@clisp.org>
30507
30508         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
30509         for the moment.
30510
30511 2007-05-29  Bruno Haible  <bruno@clisp.org>
30512
30513         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
30514         invocation.
30515         Reported by Eric Blake.
30516
30517 2007-05-29  Bruno Haible  <bruno@clisp.org>
30518
30519         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
30520         compiling case.
30521
30522 2007-05-29  Eric Blake  <ebb9@byu.net>
30523             Bruno Haible  <bruno@clisp.org>
30524
30525         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
30526         cross compiles.
30527
30528 2007-05-28  Eric Blake  <ebb9@byu.net>
30529
30530         * modules/closein-tests (test_closein_LDADD): Support test on
30531         cygwin with libtool.
30532
30533 2007-05-28  Bruno Haible  <bruno@clisp.org>
30534
30535         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
30536         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
30537         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
30538         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
30539         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
30540         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
30541         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
30542         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
30543         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
30544
30545 2007-05-28  Eric Blake  <ebb9@byu.net>
30546
30547         Unconditionally include <config.h> in unit tests.
30548         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
30549         * tests/test-allocsa.c, tests/test-arcfour.c,
30550         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
30551         tests/test-array_list.c, tests/test-array_oset.c,
30552         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
30553         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
30554         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
30555         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
30556         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
30557         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
30558         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
30559         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
30560         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
30561         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
30562         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
30563         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
30564         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
30565         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
30566         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
30567         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
30568         test-md5.c, test-memmem.c, test-printf-posix.c,
30569         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
30570         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
30571         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
30572         test-strcasestr.c, test-striconv.c, test-striconveh.c,
30573         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
30574         test-vasnprintf-posix2.c, test-vasnprintf.c,
30575         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
30576         test-vfprintf-posix.c, test-vprintf-posix.c,
30577         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
30578         test-xvasprintf.c: Likewise.
30579
30580 2007-05-28  Bruno Haible  <bruno@clisp.org>
30581
30582         * gnulib-tool (func_import): Remember the --with-tests command-line
30583         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
30584         Reported by Eric Blake.
30585
30586 2007-05-28  Bruno Haible  <bruno@clisp.org>
30587
30588         * modules/ftell-tests: New file.
30589         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
30590         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
30591
30592         * lib/ftell.c: New file.
30593         * modules/ftell: New file.
30594         * m4/ftell.m4: New file.
30595         * doc/functions/ftell.texi: Update.
30596         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
30597         REPLACE_FTELL.
30598         * lib/stdio_.h (rpl_ftell): New declaration.
30599         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
30600         REPLACE_FTELL.
30601
30602 2007-05-28  Eric Blake  <ebb9@byu.net>
30603
30604         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
30605
30606 2007-05-28  Bruno Haible  <bruno@clisp.org>
30607
30608         * modules/fseek-tests: New file.
30609         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
30610         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
30611
30612         * lib/fseek.c: New file.
30613         * modules/fseek: New file.
30614         * m4/fseek.m4: New file.
30615         * doc/functions/fseek.texi: Update.
30616         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
30617         REPLACE_FSEEK.
30618         * lib/stdio_.h (rpl_fseek): New declaration.
30619         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
30620         REPLACE_FSEEK.
30621
30622 2007-05-28  Bruno Haible  <bruno@clisp.org>
30623
30624         * lib/stdio_.h (fflush): More comments.
30625
30626 2007-05-28  Bruno Haible  <bruno@clisp.org>
30627
30628         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
30629         runtime test.
30630
30631 2007-05-28  Eric Blake  <ebb9@byu.net>
30632
30633         Improve lseek module.
30634         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
30635         * lib/unistd_.h (lseek): Scale back link warning message.
30636         * tests/test-lseek.c: Beef up test.
30637         * tests/test-lseek.sh: Exercise more facets of lseek.
30638         Reported by Bruno Haible.
30639
30640 2007-05-28  Bruno Haible  <bruno@clisp.org>
30641
30642         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
30643         to define.
30644
30645 2007-05-27  Bruno Haible  <bruno@clisp.org>
30646
30647         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
30648
30649 2007-05-27  Bruno Haible  <bruno@clisp.org>
30650
30651         * modules/openmp: New file.
30652         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
30653         Noah Misch.
30654
30655 2007-05-26  Bruno Haible  <bruno@clisp.org>
30656
30657         * modules/chdir-long (Depends-on): Add fchdir.
30658         * modules/chdir-safer (Depends-on): Likewise.
30659         * modules/fts (Depends-on): Likewise.
30660         * modules/fts-lgpl (Depends-on): Likewise.
30661         * modules/openat (Depends-on): Likewise.
30662         * modules/savewd (Depends-on): Likewise.
30663
30664 2007-05-24  Eric Blake  <ebb9@byu.net>
30665
30666         Fix lseek on mingw.
30667         * modules/lseek: New module.
30668         * m4/lseek.m4: New file.
30669         * lib/lseek.c: New file.
30670         * modules/lseek-tests: New file.
30671         * tests/test-lseek.c: New file.
30672         * tests/test-lseek.sh: New file.
30673         * MODULES.html.sh: Document lseek module.
30674         * modules/fflush (Depends-on): Add lseek, fseeko.
30675         * modules/fseeko (Depends-on): Likewise.
30676         * modules/ftello (Depends-on): Likewise.
30677         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
30678         broken.
30679         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
30680         broken.
30681         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
30682         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
30683         * lib/ftello.c (rpl_ftello): Likewise.
30684         * tests/test-fseeko.c (main): Test this.
30685         * tests/test-fseeko.sh: Likewise.
30686         * tests/test-ftello.c (main): Likewise.
30687         * tests/test-ftello.sh: Likewise.
30688         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
30689         implies replacing fseek.
30690         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
30691         HAVE_FTELLO.
30692         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
30693         * modules/unistd (Makefile.am): Likewise.
30694         * lib/unistd_.h (lseek): Declare a replacement.
30695         * doc/functions/lseek.texi (lseek): Document this fix.
30696         * doc/functions/fseek.texi (fseek): Likewise.
30697         * doc/functions/ftell.texi (ftell): Likewise.
30698
30699 2007-05-24  Bruno Haible  <bruno@clisp.org>
30700
30701         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
30702         in the printed representation of a NaN.
30703         * tests/test-vasprintf-posix.c (test_function): Likewise.
30704         * tests/test-snprintf-posix.h (test_function): Likewise.
30705         * tests/test-sprintf-posix.h (test_function): Likewise.
30706         Reported by Eric Blake.
30707
30708 2007-05-23  Eric Blake  <ebb9@byu.net>
30709
30710         Fix fseeko/ftello on cygwin 1.5.24.
30711         * doc/functions/fseeko.texi (fseeko): Document the fix.
30712         * doc/functions/ftello.texi (ftello): Document the fix.
30713         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
30714         * doc/functions/stdout.text (stdout): New file.
30715         * doc/functions/stderr.text (stderr): New file.
30716         * doc/gnulib.texi (Function Substitutes): Use new files.
30717         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
30718         prior to 1.7.0.
30719         * tests/test-ftello.c (main): Likewise for ftello.
30720         * tests/test-fseeko.sh: New file.
30721         * tests/test-ftello.sh: New file.
30722         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
30723         with seekable stdin.
30724         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
30725         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
30726         (gl_REPLACE_FSEEKO): New macro.
30727         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
30728         * modules/fseeko (Files): Distribute fseeko.c.
30729         * modules/ftello (Files): Distribute ftello.c.
30730         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
30731         mode.
30732         * lib/ftello.c (rpl_ftello): New file.
30733         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
30734         fseeko, ftello.
30735         (gl_STDIN_LARGE_OFFSET): New macro.
30736         * modules/stdio (Makefile.am): Perform the replacement.
30737         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
30738
30739 2007-05-23  Bruno Haible  <bruno@clisp.org>
30740
30741         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
30742         GNULIB_POSIXCHECK is defined.
30743
30744 2007-05-21  Bruno Haible  <bruno@clisp.org>
30745
30746         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
30747         Check also the output for NaN arguments. When cross-compiling, guess
30748         no on IRIX.
30749         * lib/vasnprintf.c: Update comments.
30750         * tests/test-vasnprintf-posix.c (strisnan): New function.
30751         (test_function): Use it.
30752         * tests/test-vasprintf-posix.c (strisnan): New function.
30753         (test_function): Use it.
30754         * tests/test-snprintf-posix.h (strisnan): New function.
30755         (test_function): Use it.
30756         * tests/test-sprintf-posix.h (strisnan): New function.
30757         (test_function): Use it.
30758         Reported by Eric Blake.
30759
30760 2007-05-20  Bruno Haible  <bruno@clisp.org>
30761
30762         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
30763         numbers that fails on BeOS.
30764         * doc/functions/frexpl.texi: Update.
30765
30766 2007-05-20  Jim Meyering  <jim@meyering.net>
30767
30768         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
30769         forced upon us by glibc-2.6.
30770
30771 2007-05-20  Bruno Haible  <bruno@clisp.org>
30772
30773         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
30774         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
30775         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
30776         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
30777         NEED_PRINTF_INFINITE.
30778         (is_infinitel): New function.
30779         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
30780         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
30781         gl_PREREQ_VASNPRINTF_INFINITE.
30782         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
30783         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
30784         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
30785         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
30786         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
30787         gl_PREREQ_VASNPRINTF_INFINITE.
30788         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
30789         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
30790         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
30791         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
30792         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
30793         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
30794         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
30795         * doc/functions/fprintf.texi: Update.
30796         * doc/functions/printf.texi: Update.
30797         * doc/functions/snprintf.texi: Update.
30798         * doc/functions/sprintf.texi: Update.
30799         * doc/functions/vfprintf.texi: Update.
30800         * doc/functions/vprintf.texi: Update.
30801         * doc/functions/vsnprintf.texi: Update.
30802         * doc/functions/vsprintf.texi: Update.
30803
30804 2007-05-20  Bruno Haible  <bruno@clisp.org>
30805
30806         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
30807         was not found in libc.
30808         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
30809
30810 2007-05-20  Bruno Haible  <bruno@clisp.org>
30811
30812         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
30813         printed as "-nan" instead of "nan".
30814         * tests/test-vasprintf-posix.c (test_function): Likewise.
30815         * tests/test-snprintf-posix.h (test_function): Likewise.
30816         * tests/test-sprintf-posix.h (test_function): Likewise.
30817         Needed for HP-UX 11.
30818
30819 2007-05-20  Jim Meyering  <jim@meyering.net>
30820
30821         Fix buggy test for the fchownat-deref bug.
30822         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
30823         symlink required for the run-test.  Without it, this test would
30824         always declare that fchownat doesn't work, and client code would
30825         unnecessarily use the replacement function with fixed libc.
30826         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
30827         Reported by Greg Schafer.
30828
30829 2007-05-19  Bruno Haible  <bruno@clisp.org>
30830
30831         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
30832         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
30833         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
30834         Needed for IRIX 6.5 and Solaris 2.5.1.
30835
30836 2007-05-19  Bruno Haible  <bruno@clisp.org>
30837
30838         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
30839         (test_function): Skip tests involving -0.0 on platforms where
30840         -0.0 = 0.0.
30841         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
30842         (test_function): Skip tests involving -0.0 on platforms where
30843         -0.0 = 0.0.
30844         * tests/test-snprintf-posix.h (have_minus_zero): New function.
30845         (test_function): Skip tests involving -0.0 on platforms where
30846         -0.0 = 0.0.
30847         * tests/test-sprintf-posix.h (have_minus_zero): New function.
30848         (test_function): Skip tests involving -0.0 on platforms where
30849         -0.0 = 0.0.
30850         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
30851         tests.
30852         * tests/test-printf-posix.h (test_function): Likewise.
30853         * tests/test-printf-posix.output: Remove all -0.0 related results.
30854         Needed for IRIX 6.5.
30855
30856 2007-05-19  Bruno Haible  <bruno@clisp.org>
30857
30858         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
30859         printed as "nan0x7fffffff" instead of "nan".
30860         * tests/test-vasprintf-posix.c (test_function): Likewise.
30861         * tests/test-snprintf-posix.h (test_function): Likewise.
30862         * tests/test-sprintf-posix.h (test_function): Likewise.
30863         * tests/test-fprintf-posix.h (NaN): Remove macro.
30864         (test_function): Remove all NaN related tests.
30865         * tests/test-printf-posix.h (NaN): Remove macro.
30866         (test_function): Remove all NaN related tests.
30867         * tests/test-printf-posix.output: Remove all NaN related results.
30868         Needed for IRIX 6.5.
30869
30870 2007-05-19  Bruno Haible  <bruno@clisp.org>
30871
30872         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
30873         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
30874
30875 2007-05-19  Bruno Haible  <bruno@clisp.org>
30876
30877         * lib/float_.h: New file.
30878         * m4/float_h.m4: New file.
30879         * modules/float: New file.
30880         * modules/isnanl (Dependencies): Add float.
30881         * modules/isnanl-nolibm (Dependencies): Likewise.
30882         * modules/mathl (Dependencies): Likewise.
30883         * modules/printf-frexpl (Dependencies): Likewise.
30884         * modules/signbit (Dependencies): Likewise.
30885         * modules/vasnprintf (Dependencies): Likewise.
30886         * doc/headers/float.texi: Update.
30887
30888 2007-05-19  Jim Meyering  <jim@meyering.net>
30889
30890         * lib/utimens.c (gl_futimens): Rename from futimens,
30891         now that glibc-2.6 declares futimens.
30892         * lib/utimens.h: Likewise.
30893
30894 2007-05-19  Bruno Haible  <bruno@clisp.org>
30895
30896         Avoid test failures on mingw.
30897         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
30898         * tests/test-printf-posix.sh: Likewise.
30899         * tests/test-vfprintf-posix.sh: Likewise.
30900         * tests/test-vprintf-posix.sh: Likewise.
30901
30902 2007-05-19  Bruno Haible  <bruno@clisp.org>
30903
30904         Fix *printf result for NaN, Inf, -0.0 on mingw.
30905         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
30906         * lib/vasnprintf.c: Include math.h and isnan.h.
30907         (is_infinite_or_zero): New function.
30908         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
30909         values in the %f, %F, %e, %E, %g, %G directives.
30910         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
30911         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
30912         gl_PRINTF_INFINITE and test its result. Invoke
30913         gl_PREREQ_VASNPRINTF_INFINITE.
30914         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
30915         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
30916         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
30917         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
30918         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
30919         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
30920         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
30921         * doc/functions/fprintf.texi: Update.
30922         * doc/functions/printf.texi: Update.
30923         * doc/functions/snprintf.texi: Update.
30924         * doc/functions/sprintf.texi: Update.
30925         * doc/functions/vfprintf.texi: Update.
30926         * doc/functions/vprintf.texi: Update.
30927         * doc/functions/vsnprintf.texi: Update.
30928         * doc/functions/vsprintf.texi: Update.
30929
30930 2007-05-19  Bruno Haible  <bruno@clisp.org>
30931
30932         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
30933         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
30934         Instead of multiplying with 10^k, set extra_zeroes to k.
30935         (scale10_round_long_double): Remove function.
30936
30937 2007-05-18  Bruno Haible  <bruno@clisp.org>
30938
30939         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
30940         introduced on 2007-05-06.
30941
30942 2007-05-18  Bruno Haible  <bruno@clisp.org>
30943
30944         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
30945         %g directives.
30946         * tests/test-vasprintf-posix.c (test_function): Likewise.
30947         * tests/test-snprintf-posix.h (test_function): Likewise.
30948         * tests/test-sprintf-posix.h (test_function): Likewise.
30949
30950 2007-05-18  Bruno Haible  <bruno@clisp.org>
30951
30952         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
30953         (strmatch): New function.
30954         (test_function): Test the %f directive on numbers of various exponents.
30955         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
30956         (strmatch): New function.
30957         (test_function): Test the %f directive on numbers of various exponents.
30958         * tests/test-snprintf-posix.h (strmatch): New function.
30959         (test_function): Test the %f directive on numbers of various exponents.
30960         * tests/test-sprintf-posix.h (strmatch): New function.
30961         (test_function): Test the %f directive on numbers of various exponents.
30962         * tests/test-snprintf-posix.c (SIZEOF): New macro.
30963         * tests/test-sprintf-posix.c (SIZEOF): New macro.
30964         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
30965         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
30966
30967 2007-05-18  Bruno Haible  <bruno@clisp.org>
30968
30969         Add support for 'long double' number output.
30970         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
30971         * lib/vasnprintf.c: Include math.h and float+.h.
30972         (mp_limb_t): New type.
30973         (GMP_LIMB_BITS): New macro.
30974         (mp_twolimb_t): New type.
30975         (GMP_TWOLIMB_BITS): New macro.
30976         (mpn_t): New type.
30977         (multiply, divide, convert_to_decimal, decode_long_double,
30978         scale10_round_long_double, scale10_round_decimal_long_double,
30979         floorlog10l): New functions.
30980         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
30981         for the %f, %F, %e, %E, %g, %G directives.
30982         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
30983         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
30984         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
30985         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
30986         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
30987         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
30988         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
30989         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
30990         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
30991         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
30992         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
30993         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
30994         * modules/snprintf-posix (Depends-on): Likewise.
30995         * modules/sprintf-posix (Depends-on): Likewise.
30996         * modules/vasnprintf-posix (Depends-on): Likewise.
30997         * modules/vasprintf-posix (Depends-on): Likewise.
30998         * modules/vfprintf-posix (Depends-on): Likewise.
30999         * modules/vsnprintf-posix (Depends-on): Likewise.
31000         * modules/vsprintf-posix (Depends-on): Likewise.
31001         * modules/vasnprintf (Files): Add lib/float+.h.
31002         * doc/functions/fprintf.texi: Update.
31003         * doc/functions/printf.texi: Update.
31004         * doc/functions/snprintf.texi: Update.
31005         * doc/functions/sprintf.texi: Update.
31006         * doc/functions/vfprintf.texi: Update.
31007         * doc/functions/vprintf.texi: Update.
31008         * doc/functions/vsnprintf.texi: Update.
31009         * doc/functions/vsprintf.texi: Update.
31010
31011 2007-05-18  Bruno Haible  <bruno@clisp.org>
31012
31013         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
31014
31015 2007-05-18  Bruno Haible  <bruno@clisp.org>
31016
31017         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
31018         for printing 64-bit integers. Needed for mingw.
31019
31020 2007-05-18  Bruno Haible  <bruno@clisp.org>
31021
31022         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
31023         gl_FUNC_FREXPL_WORKS.
31024         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
31025
31026 2007-05-18  Bruno Haible  <bruno@clisp.org>
31027
31028         * modules/frexpl-nolibm-tests: New file.
31029
31030         * modules/frexpl-nolibm: New file.
31031         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
31032
31033 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
31034
31035         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
31036         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
31037         GCC 4.2, which otherwise issues a lot of warnings.
31038         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
31039         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
31040         Likewise.
31041         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
31042         * modules/iconv_open (iconv.h): Likewise.
31043         * modules/locale (locale.h): Likewise.
31044         * modules/netinet_in (netinet/in.h): Likewise.
31045         * modules/sys_select (sys_select.h): Likewise.
31046         * modules/sys_socket (sys/socket.h): Likewise.
31047         * modules/sys_stat (sys/stat.h): Likewise.
31048         * modules/sysexits (sysexits.h): Likewise.
31049         * modules/unistd (unistd.h): Likewise.
31050
31051 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31052
31053         * modules/closein-tests (Makefile.am): Distribute
31054         `test-closein.sh'.
31055
31056 2007-05-17  Bruno Haible  <bruno@clisp.org>
31057
31058         * tests/test-printf-posix.output: Renamed from
31059         tests/test-fprintf-posix.out.
31060         * modules/fprintf-posix-tests: Update.
31061         * modules/printf-posix-tests: Update.
31062         * modules/vfprintf-posix-tests: Update.
31063         * modules/vprintf-posix-tests: Update.
31064         * tests/test-fprintf-posix.sh: Update.
31065         * tests/test-printf-posix.sh: Update.
31066         * tests/test-vfprintf-posix.sh: Update.
31067         * tests/test-vprintf-posix.sh: Update.
31068         Reported by Ralf Wildenhues.
31069
31070 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
31071
31072         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
31073         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
31074         GCC 4.2, which otherwise issues a lot of warnings.
31075         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
31076         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
31077         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
31078         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
31079         it should no longer be needed.
31080         * lib/string_.h: Likewise.
31081         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
31082         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
31083         * modules/inttypes (inttypes.h): Likewise.
31084         * modules/math (math.h): Likewise.
31085         * modules/search (search.h): Likewise.
31086         * modules/signal (signal.h): Likewise.
31087         * modules/stdint (stdint.h): Likewise.
31088         * modules/stdio (stdio.h): Likewise.
31089         * modules/stdlib (stdlib.h): Likewise.
31090         * modules/string (string.h): Likewise.
31091         * modules/sys_time (sys/time.h): Likewise.
31092         * modules/time (time.h): Likewise.
31093         * modules/wchar (wchar.h): Likewise.
31094         * modules/wctype (wtype.h): Likewise.
31095
31096 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
31097
31098         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
31099
31100 2007-05-13  Bruno Haible  <bruno@clisp.org>
31101
31102         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
31103         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
31104         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
31105         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
31106         (gl_PREREQ_STRTOK_R): Don't require it here.
31107
31108 2007-05-13  Bruno Haible  <bruno@clisp.org>
31109
31110         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
31111         when used in C++ mode.
31112
31113 2007-05-12  Bruno Haible  <bruno@clisp.org>
31114
31115         * lib/linebuffer.h: Tweak doc.
31116         * lib/linebuffer.c: Likewise.
31117
31118 2007-05-12  James Youngman  <jay@gnu.org>
31119
31120         * lib/linebuffer.c (readlinebuffer_delim): New function,
31121         like readlinebuffer, but use a caller-specified delimiter.
31122         (readlinebuffer): Just call readlinebuffer_delim with '\n'
31123         as the delimiter.
31124         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
31125
31126 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
31127
31128         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
31129         * modules/openat (Files): Remove openat-die.c.
31130         (Depends-on): Add openat-die.
31131         * modules/openat-die: New module.
31132
31133 2007-05-06  Bruno Haible  <bruno@clisp.org>
31134
31135         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
31136         Update with info about Cygwin.
31137         * doc/functions/fprintf.texi: Update.
31138         * doc/functions/printf.texi: Update.
31139         * doc/functions/snprintf.texi: Update.
31140         * doc/functions/sprintf.texi: Update.
31141         * doc/functions/vfprintf.texi: Update.
31142         * doc/functions/vprintf.texi: Update.
31143         * doc/functions/vsnprintf.texi: Update.
31144         * doc/functions/vsprintf.texi: Update.
31145         Reported by Eric Blake.
31146
31147 2007-05-06  Bruno Haible  <bruno@clisp.org>
31148
31149         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
31150         padding ourselves for the floating-point directives.
31151         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
31152         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
31153         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
31154         gl_PRINTF_FLAG_ZERO and test its result. Invoke
31155         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
31156         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
31157         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
31158         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
31159         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
31160         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
31161         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
31162         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
31163         * tests/test-snprintf-posix.h (test_function): Also check the width
31164         and some flags in the %f directive.
31165         * tests/test-sprintf-posix.h (test_function): Likewise.
31166         * tests/test-vasnprintf-posix.c (test_function): Likewise.
31167         * tests/test-vasprintf-posix.c (test_function): Likewise.
31168         * doc/functions/fprintf.texi: Update.
31169         * doc/functions/printf.texi: Update.
31170         * doc/functions/snprintf.texi: Update.
31171         * doc/functions/sprintf.texi: Update.
31172         * doc/functions/vfprintf.texi: Update.
31173         * doc/functions/vprintf.texi: Update.
31174         * doc/functions/vsnprintf.texi: Update.
31175         * doc/functions/vsprintf.texi: Update.
31176
31177 2007-05-06  Bruno Haible  <bruno@clisp.org>
31178
31179         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
31180         pass the ' flag character to sprintf or snprintf.
31181         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
31182         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
31183         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
31184         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
31185         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
31186         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
31187         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
31188         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
31189         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
31190         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
31191         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
31192         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
31193         * tests/test-snprintf-posix.h (test_function): Also check the grouping
31194         flag.
31195         * tests/test-sprintf-posix.h (test_function): Likewise.
31196         * tests/test-vasnprintf-posix.c (test_function): Likewise.
31197         * tests/test-vasprintf-posix.c (test_function): Likewise.
31198         * doc/functions/fprintf.texi: Update.
31199         * doc/functions/printf.texi: Update.
31200         * doc/functions/snprintf.texi: Update.
31201         * doc/functions/sprintf.texi: Update.
31202         * doc/functions/vfprintf.texi: Update.
31203         * doc/functions/vprintf.texi: Update.
31204         * doc/functions/vsnprintf.texi: Update.
31205         * doc/functions/vsprintf.texi: Update.
31206
31207 2007-05-01  Bruno Haible  <bruno@clisp.org>
31208
31209         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
31210
31211 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
31212
31213         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
31214         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
31215
31216 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
31217
31218         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
31219         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
31220         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
31221
31222 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
31223
31224         * lib/argp-help.c (struct hol_entry): New member `ord'.
31225         (HOL_ENTRY_PTRCMP): Use ord for comparison
31226         (hol_sort): Initialize ord.
31227
31228 2007-05-01  Bruno Haible  <bruno@clisp.org>
31229
31230         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
31231         Reported by Eric Blake.
31232         * doc/gnulib.texi (Function Substitutes): Update.
31233
31234 2007-05-01  Bruno Haible  <bruno@clisp.org>
31235
31236         * doc/functions.texi: Remove file, now redundant through
31237         doc/functions/*.texi.
31238
31239 2007-05-01  Bruno Haible  <bruno@clisp.org>
31240
31241         * modules/argp (Depends-on): Add sleep.
31242
31243 2007-05-01  Bruno Haible  <bruno@clisp.org>
31244
31245         * modules/sleep-tests: New file.
31246         * tests/test-sleep.c: New file.
31247
31248         * modules/sleep: New file.
31249         * lib/sleep.c: New file.
31250         * m4/sleep.m4: New file.
31251         * lib/unistd_.h (sleep): New declaration.
31252         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
31253         HAVE_SLEEP.
31254         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
31255         * doc/functions/sleep.texi: Document the sleep module.
31256
31257 2007-05-01  Bruno Haible  <bruno@clisp.org>
31258
31259         * lib/sigprocmask.h: Remove file.
31260         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
31261         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
31262         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
31263         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
31264         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
31265         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
31266         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
31267         HAVE_SIGSET_T as a shell variable.
31268         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
31269         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
31270         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
31271         (Depends-on): Add signal. Remove verify.
31272         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
31273         (Include): Mention <signal.h> instead of sigprocmask.h.
31274         * NEWS: Mention the change.
31275         * lib/fatal-signal.c: Don't include sigprocmask.h.
31276
31277 2007-05-01  Bruno Haible  <bruno@clisp.org>
31278
31279         * modules/signal: New file.
31280         * lib/signal_.h: New file.
31281         * m4/signal_h.m4: New file.
31282
31283 2007-05-01  Bruno Haible  <bruno@clisp.org>
31284
31285         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
31286         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
31287         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
31288         HAVE_WCTYPE_CTMP_BUG into wctype.h.
31289
31290 2007-05-01  Bruno Haible  <bruno@clisp.org>
31291
31292         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
31293         configure time.
31294         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
31295         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
31296         * modules/sys_stat (Makefile.am): Substitute their values into
31297         sys/stat.h.
31298
31299 2007-05-01  Bruno Haible  <bruno@clisp.org>
31300
31301         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
31302         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
31303         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
31304
31305 2007-05-01  Bruno Haible  <bruno@clisp.org>
31306
31307         * doc/header/assert.texi: Undo last change: don't mention the gnulib
31308         'assert' module here.
31309
31310 2007-05-01  Bruno Haible  <bruno@clisp.org>
31311
31312         * doc/functions/*.texi: New files.
31313         * doc/functions/google-ranking.txt: New file.
31314         * doc/gnulib.texi (Function Substitutes): New chapter.
31315         (ctime, inet_ntoa): Remove sections.
31316         * doc/ctime.texi: Remove file.
31317         * doc/inet_ntoa.texi: Remove file.
31318         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
31319         dependencies.
31320         (%.info): New rule, specifying a --reference-limit.
31321
31322 2007-05-01  Bruno Haible  <bruno@clisp.org>
31323
31324         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
31325
31326 2007-05-01  Bruno Haible  <bruno@clisp.org>
31327
31328         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
31329         the portability of 'mkdir' to mingw systems.
31330
31331 2007-05-01  Bruno Haible  <bruno@clisp.org>
31332
31333         * doc/headers/google-ranking.txt: New file.
31334
31335 2007-04-30  Eric Blake  <ebb9@byu.net>
31336
31337         Prefer fseeko to fseek.
31338         * modules/getpass (Depends-on): Add fseeko.
31339         * lib/getpass.c (getpass): Use fseeko, not fseek.
31340
31341 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
31342
31343         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
31344         assumes the sorting is stable, while most qsort implementations
31345         are not.  Use argument addresses to ensure they never compare as
31346         equal.
31347
31348         * tests/test-argp-2.sh (usage-indent test): Fix output
31349         (func_compare): Restore diff options
31350         * tests/test-argp.c: Restore #include "progname.h"
31351
31352 2007-04-29  Bruno Haible  <bruno@clisp.org>
31353
31354         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
31355         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
31356         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
31357         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
31358         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
31359         (configure.ac): Define CHECK_SNPRINTF_POSIX.
31360         (TESTS, check_PROGRAMS): Add test-snprintf.
31361         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
31362         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
31363         (TESTS, check_PROGRAMS): Add test-vsnprintf.
31364         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
31365         assertions that fail on HP-UX, OSF/1, or IRIX.
31366         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
31367
31368 2007-04-29  Bruno Haible  <bruno@clisp.org>
31369
31370         * MODULES.html.sh (posix_functions): Remove 'contents'.
31371
31372 2007-04-29  Karl Berry  <karl@gnu.org>
31373
31374         * config/srclist.txt (gendocs_template_min): new entry.
31375
31376 2007-04-29  Bruno Haible  <bruno@clisp.org>
31377
31378         Work around fpurge bug on BSD systems.
31379         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
31380         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
31381         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
31382         fpurge to rpl_fpurge if the system already has this function.
31383         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
31384         the case where the system already has this function. Correct invariants
31385         on BSD systems.
31386         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
31387         BSD systems.
31388
31389 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
31390
31391         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
31392         proposed by Sven Verdoolaege.
31393
31394         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
31395         options.
31396         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
31397         (usage and help tests): Update
31398
31399 2007-04-29  Bruno Haible  <bruno@clisp.org>
31400
31401         * tests/test-fflush.c (main): Use a file of size 17, not 10.
31402         Print more information in case of failure. Disable a test on BeOS.
31403
31404 2007-04-29  Bruno Haible  <bruno@clisp.org>
31405
31406         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
31407         This helps debugging on systems on which no gdb is available.
31408
31409 2007-04-29  Bruno Haible  <bruno@clisp.org>
31410
31411         * lib/freading.h: Improve comments.
31412         * lib/fwriting.h: Likewise.
31413         * tests/test-freading.c (main): Don't check freading immediately after
31414         repositioning. Needed for glibc.
31415
31416 2007-04-29  Bruno Haible  <bruno@clisp.org>
31417
31418         * lib/freading.c (freading): Trivial simplification.
31419
31420 2007-04-28  Bruno Haible  <bruno@clisp.org>
31421
31422         * tests/test-fwriting.c (main): Also test the interaction between
31423         fflush and fwriting.
31424         * modules/fwriting-tests (Depends-on): Add fflush.
31425
31426         * tests/test-freading.c (main): Also test the interaction between
31427         fflush and freading.
31428         * modules/freading-tests (Depends-on): Add fflush.
31429
31430 2007-04-28  Bruno Haible  <bruno@clisp.org>
31431
31432         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
31433         fseeko and ftello.
31434         Suggested by Eric Blake.
31435
31436 2007-04-28  Jim Meyering  <jim@meyering.net>
31437
31438         Avoid false-negative in gl_STDINT_H's C99 conformance test.
31439         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
31440         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
31441
31442 2007-04-27  Eric Blake  <ebb9@byu.net>
31443
31444         * doc/headers/assert.texi (assert.h): Document assert module use.
31445
31446 2007-04-27  Bruno Haible  <bruno@clisp.org>
31447
31448         * doc/headers/*.texi: New files.
31449         * doc/gnulib.texi (Header File Substitutes): New chapter.
31450         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
31451         dependencies.
31452         (standards.info ,standards.html, standards.dvi): Update dependencies.
31453         (mostlyclean, clean): New targets.
31454
31455 2007-04-27  Bruno Haible  <bruno@clisp.org>
31456
31457         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
31458         * modules/sysexits (Files, Makefile.am): Update.
31459
31460         * lib/sys_socket_.h: Renamed from lib/socket_.h.
31461         * modules/sys_socket (Files, Makefile.am): Update.
31462
31463         * lib/sys_stat_.h: Renamed from lib/stat_.h.
31464         * modules/sys_stat (Files, Makefile.am): Update.
31465
31466 2007-04-27  Eric Blake  <ebb9@byu.net>
31467
31468         * lib/freading.h: Improve comments.
31469         * lib/fwriting.h: Likewise.
31470         * lib/fflush.c: Likewise.
31471
31472         Fix closein for mingw.
31473         * modules/closein-tests: Add tests for closein.
31474         * tests/test-closein.c: New file.
31475         * tests/test-closein.sh: Likewise.
31476         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
31477         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
31478
31479 2007-04-27  Bruno Haible  <bruno@clisp.org>
31480
31481         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
31482         version is < 6.
31483         * lib/math_.h [__DECC]: Likewise.
31484         * lib/stdio_.h [__DECC]: Likewise.
31485         * lib/stdlib_.h [__DECC]: Likewise.
31486         * lib/string_.h [__DECC]: Likewise.
31487         * lib/time_.h [__DECC]: Likewise.
31488         * lib/wchar_.h [__DECC]: Likewise.
31489         * lib/wctype_.h [__DECC]: Likewise.
31490
31491 2007-04-27  Bruno Haible  <bruno@clisp.org>
31492
31493         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
31494
31495 2007-04-27  Bruno Haible  <bruno@clisp.org>
31496
31497         * lib/fflush.c: Add comments.
31498         * modules/fpurge-tests (Depends-on): Add fflush.
31499         * modules/freadable-tests (Depends-on): Likewise.
31500         * modules/fwritable-tests (Depends-on): Likewise.
31501
31502 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
31503
31504         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
31505         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
31506         Report by Bruno Haible <bruno@clisp.org>.
31507
31508 2007-04-26  Eric Blake  <ebb9@byu.net>
31509
31510         Fix fflush on mingw.
31511         * modules/fflush (Depends-on): Add freading.
31512         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
31513         but unread data.
31514
31515 2007-04-26  Eric Blake  <ebb9@byu.net>
31516         and Bruno Haible  <bruno@clisp.org>
31517
31518         Implement freading and fwriting.
31519         * lib/freading.c: New file.
31520         * lib/freading.h: Likewise.
31521         * m4/freading.m4: Likewise.
31522         * modules/freading: Likewise.
31523         * modules/freading-tests: Likewise.
31524         * tests/test-freading.c: Likewise.
31525         * lib/fwriting.c: New file.
31526         * lib/fwriting.h: Likewise.
31527         * m4/fwriting.m4: Likewise.
31528         * modules/fwriting: Likewise.
31529         * modules/fwriting-tests: Likewise.
31530         * tests/test-fwriting.c: Likewise.
31531         * MODULES.html.sh (File stream based Input/Output): Mention them.
31532
31533 2007-04-26  Bruno Haible  <bruno@clisp.org>
31534
31535         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
31536         'long' when we assume it.
31537         Suggested by Eric Blake.
31538
31539 2007-04-26  Bruno Haible  <bruno@clisp.org>
31540
31541         Ensure fseeko, ftello are declared on glibc systems.
31542         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
31543         * modules/fseeko (configure.ac-early): Likewise.
31544         * modules/ftello (configure.ac-early): Likewise.
31545         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
31546         AC_FUNC_FSEEKO for this.
31547         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
31548         (gl_CHECK_FSEEKO): Remove macro.
31549
31550 2007-04-26  Bruno Haible  <bruno@clisp.org>
31551
31552         * tests/test-fflush.c (main): Also check the ftell result after
31553         fflush and fseek/fseeko.
31554         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
31555         file descriptor position cache in the stream.
31556         * lib/fseeko.c (rpl_fseeko): Likewise.
31557
31558 2007-04-26  Bruno Haible  <bruno@clisp.org>
31559
31560         * modules/fflush-tests (Depends-on): Add fseeko.
31561
31562 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
31563             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31564
31565         * lib/argz_.h: ensure error_t definition is obtained in same
31566         mechanism system argz.h would have.
31567         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
31568         argz facilities are known bad.  Err on the side of caution if
31569         cross-compiling.
31570
31571 2007-04-25  Eric Blake  <ebb9@byu.net>
31572
31573         * lib/fpurge.c (includes): Use stdlib.h for free.
31574         * tests/test-fflush.c (main): Also test fflush-fseeko.
31575
31576 2007-04-25  Bruno Haible  <bruno@clisp.org>
31577
31578         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
31579         * lib/fseeko.c: New file.
31580         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
31581         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
31582         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
31583         gl_FUNC_FSEEKO.
31584         (gl_FUNC_FSEEKO): Invoke it.
31585         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
31586         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
31587         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
31588
31589 2007-04-25  Bruno Haible  <bruno@clisp.org>
31590
31591         * modules/fflush (Depends-on): Add ftello.
31592
31593 2007-04-25  Bruno Haible  <bruno@clisp.org>
31594
31595         * modules/ftello-tests: New file.
31596         * tests/test-ftello.c: New file.
31597
31598         * modules/ftello: New file.
31599         * m4/ftello.m4: New file.
31600         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
31601         HAVE_FTELLO.
31602         * lib/stdio_.h (ftello): New declaration.
31603         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
31604         HAVE_FTELLO.
31605
31606 2007-04-25  Bruno Haible  <bruno@clisp.org>
31607
31608         * modules/fseeko-tests: New file.
31609         * tests/test-fseeko.c: New file.
31610
31611         * modules/fseeko: New file.
31612         * m4/fseeko.m4: New file.
31613         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
31614         HAVE_FSEEKO.
31615         * lib/stdio_.h (fseeko): New declaration.
31616         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
31617         HAVE_FSEEKO.
31618
31619 2007-04-25  Bruno Haible  <bruno@clisp.org>
31620
31621         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
31622
31623 2007-04-25  Bruno Haible  <bruno@clisp.org>
31624
31625         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
31626         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
31627         * tests/test-unistd.c: Likewise.
31628         * tests/test-fcntl.c: Likewise.
31629
31630 2007-04-23  Eric Blake  <ebb9@byu.net>
31631
31632         * lib/fflush.c: Fix missing include.
31633         Reported by Bruno Haible.
31634
31635 2007-04-23  Bruno Haible  <bruno@clisp.org>
31636
31637         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
31638         Reported by Eric Blake.
31639
31640 2007-04-23  Bruno Haible  <bruno@clisp.org>
31641
31642         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
31643
31644 2007-04-23  Bruno Haible  <bruno@clisp.org>
31645
31646         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
31647
31648 2007-04-23  Bruno Haible  <bruno@clisp.org>
31649
31650         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
31651         Needed on HP-UX 11.
31652
31653 2007-04-16  Eric Blake  <ebb9@byu.net>
31654
31655         Make fflush rely on fpurge.
31656         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
31657         open coding all variants.
31658         * modules/fflush (Depends-on): Add fpurge and unistd.
31659         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
31660         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
31661
31662         Fix --with-tests compilation on cygwin.
31663         * modules/argmatch-tests (Makefile.am): List gnulib library first
31664         in LDADD.
31665         * modules/argp-tests (Makefile.am): Likewise.
31666         * modules/array-list-tests (Makefile.am): Likewise.
31667         * modules/array-oset-tests (Makefile.am): Likewise.
31668         * modules/avltree-list-tests (Makefile.am): Likewise.
31669         * modules/avltree-oset-tests (Makefile.am): Likewise.
31670         * modules/avltreehash-list-tests (Makefile.am): Likewise.
31671         * modules/carray-list-tests (Makefile.am): Likewise.
31672         * modules/dirname-tests (Makefile.am): Likewise.
31673         * modules/frexp-tests (Makefile.am): Likewise.
31674         * modules/isnanl-tests (Makefile.am): Likewise.
31675         * modules/linked-list-tests (Makefile.am): Likewise.
31676         * modules/linkedhash-list-tests (Makefile.am): Likewise.
31677         * modules/lock-tests (Makefile.am): Likewise.
31678         * modules/rbtree-list-tests (Makefile.am): Likewise.
31679         * modules/rbtree-oset-tests (Makefile.am): Likewise.
31680         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
31681         * modules/tls-tests (Makefile.am): Likewise.
31682         * modules/tsearch-tests (Makefile.am): Likewise.
31683         * modules/xvasprintf-tests (Makefile.am): Likewise.
31684
31685         Fix fpurge for cygwin.
31686         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
31687         value.
31688         * modules/fpurge-tests (Depends-on): Clean up trash.
31689
31690 2007-04-16  Simon Josefsson  <simon@josefsson.org>
31691
31692         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
31693
31694         * m4/autobuild.m4: Re-indent.
31695
31696 2007-04-13  Bruno Haible  <bruno@clisp.org>
31697
31698         * modules/fpurge-tests: New file.
31699         * tests/test-fpurge.c: New file.
31700
31701         * modules/fpurge: New file.
31702         * lib/fpurge.h: New file.
31703         * lib/fpurge.c: New file.
31704         * m4/fpurge.m4: New file.
31705
31706 2007-04-13  Bruno Haible  <bruno@clisp.org>
31707
31708         * modules/fbufmode-tests: New file.
31709         * tests/test-fbufmode.c: New file.
31710
31711         * modules/fbufmode: New file.
31712         * lib/fbufmode.h: New file.
31713         * lib/fbufmode.c: New file.
31714         * m4/fbufmode.m4: New file.
31715
31716 2007-04-13  Bruno Haible  <bruno@clisp.org>
31717
31718         * modules/fwritable-tests: New file.
31719         * tests/test-fwritable.c: New file.
31720
31721         * modules/fwritable: New file.
31722         * lib/fwritable.h: New file.
31723         * lib/fwritable.c: New file.
31724         * m4/fwritable.m4: New file.
31725
31726 2007-04-13  Bruno Haible  <bruno@clisp.org>
31727
31728         * modules/freadable-tests: New file.
31729         * tests/test-freadable.c: New file.
31730
31731         * modules/freadable: New file.
31732         * lib/freadable.h: New file.
31733         * lib/freadable.c: New file.
31734         * m4/freadable.m4: New file.
31735
31736 2007-04-13  Bruno Haible  <bruno@clisp.org>
31737
31738         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
31739         MOSTLYCLEANFILES.
31740
31741 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
31742
31743         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
31744         gzip bootstrap.conf to avoid dragging in i18n machinery.
31745         (gnulib_tool_option): Use it.
31746
31747 2007-04-13  Bruno Haible  <bruno@clisp.org>
31748
31749         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
31750         %F directives.
31751         * tests/test-vasprintf-posix.c (test_function): Likewise.
31752         * tests/test-snprintf-posix.h (test_function): Likewise.
31753         * tests/test-sprintf-posix.h (test_function): Likewise.
31754         * tests/test-fprintf-posix.h (test_function): Likewise.
31755         * tests/test-printf-posix.h (test_function): Likewise.
31756         * tests/test-fprintf-posix.out: Likewise.
31757
31758 2007-04-13  Bruno Haible  <bruno@clisp.org>
31759
31760         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
31761         * modules/tls-tests (configure.ac): Likewise.
31762         Reported by Arto C. Nirkko <anirkko@insel.ch>.
31763
31764 2007-04-13  Bruno Haible  <bruno@clisp.org>
31765
31766         * lib/tls.c (glthread_tls_get): Fix return type.
31767         Patch by Arto C. Nirkko <anirkko@insel.ch>.
31768
31769 2007-04-12  Eric Blake  <ebb9@byu.net>
31770
31771         * modules/gettime (Depends-on): Remove gettime.
31772         Reported by Dmitry V. Levin.
31773
31774 2007-04-12  Bruno Haible  <bruno@clisp.org>
31775
31776         * modules/fflush (Include): Mention <stdio.h>.
31777         * modules/strtoimax (Include): Mention <inttypes.h>.
31778         * modules/strtoumax (Include): Likewise.
31779
31780 2007-04-12  Eric Blake  <ebb9@byu.net>
31781
31782         * .cvsignore: New file.
31783         * .gitignore: Likewise.
31784
31785 2007-04-12  Bruno Haible  <bruno@clisp.org>
31786
31787         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
31788         not before, since $(LDADD) often contains libgnu.a.
31789         * modules/striconv-tests (test_striconv_LDADD): Likewise.
31790         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
31791         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
31792         Needed on Cygwin.
31793
31794 2007-04-12  Eric Blake  <ebb9@byu.net>
31795
31796         Work around glibc's failure to flush stdin on fclose.
31797         * lib/closein.c (close_stdin): Flush stdin before closing.
31798
31799         Work around glibc's failure to reset seekable stdin on exit.
31800         * modules/closein: New module.
31801         * lib/closein.c: New file.
31802         * lib/closein.h: Likewise.
31803         * m4/closein.m4: Likewise.
31804         * MODULES.html.sh (File stream based Input/Output): Document it.
31805
31806 2007-04-12  Simon Josefsson  <simon@josefsson.org>
31807
31808         * gnulib-tool: Rename generated 'autobuild' script to
31809         'do-autobuild' in --create-megatestdir output.
31810
31811         * doc/gnulib.texi (Build robot for gnulib): Fix.
31812
31813 2007-04-12  Simon Josefsson  <simon@josefsson.org>
31814
31815         * modules/sysexits (Depends-on): Add absolute-header.
31816
31817 2007-04-12  Eric Blake  <ebb9@byu.net>
31818
31819         No need to preserve errno on success.
31820         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
31821         Reported by Bruno Haible.
31822
31823 2007-04-12  Simon Josefsson  <simon@josefsson.org>
31824
31825         * MODULES.html.sh (Support for maintaining and releasing
31826         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
31827
31828 2007-04-12  Simon Josefsson  <simon@josefsson.org>
31829
31830         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
31831
31832 2007-04-12  Simon Josefsson  <simon@josefsson.org>
31833
31834         * modules/autobuild: New module.
31835
31836         * m4/autobuild.m4: New file.
31837
31838 2007-04-11  Bruno Haible  <bruno@clisp.org>
31839
31840         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
31841         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
31842         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
31843         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
31844         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
31845         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
31846         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
31847         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
31848         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
31849         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
31850         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
31851         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
31852         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
31853         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
31854         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
31855         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
31856         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
31857         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
31858         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
31859         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
31860         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
31861         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
31862         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
31863         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
31864         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
31865         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
31866         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
31867         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
31868         Reported by Eric Blake.
31869
31870 2007-04-11  Bruno Haible  <bruno@clisp.org>
31871
31872         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
31873
31874 2007-04-10  Bruno Haible  <bruno@clisp.org>
31875
31876         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
31877         for NaN and Infinity. Needed on FreeBSD 6.1.
31878         * tests/test-vasnprintf-posix.c (test_function): Undo last change
31879         regarding results for "%010a" of Infinity and NaN.
31880         * tests/test-vasprintf-posix.c (test_function): Likewise.
31881         * tests/test-snprintf-posix.h (test_function): Likewise.
31882         * tests/test-sprintf-posix.h (test_function): Likewise.
31883         * tests/test-fprintf-posix.h (test_function): Likewise.
31884         * tests/test-printf-posix.h (test_function): Likewise.
31885         * tests/test-fprintf-posix.out: Likewise.
31886
31887 2007-04-10  Bruno Haible  <bruno@clisp.org>
31888
31889         * modules/locale-tests: New file.
31890         * tests/test-locale.c: New file.
31891
31892         * modules/locale: New file.
31893         * lib/locale_.h: New file.
31894         * m4/locale_h.m4: New file.
31895
31896 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
31897             Bruno Haible  <bruno@clisp.org>
31898
31899         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
31900         be determined, test for availability of the copysignf, copysign,
31901         copysignl functions.
31902         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
31903         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
31904         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
31905
31906 2007-04-09  Eric Blake  <ebb9@byu.net>
31907
31908         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
31909         * modules/stdio (Makefile.am): Support fflush.
31910         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
31911         * modules/fflush: New file.
31912         * lib/fflush.c: Likewise.
31913         * m4/fflush.m4: Likewise.
31914         * modules/fflush-tests: New test.
31915         * tests/test-fflush.c: Likewise.
31916         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
31917
31918 2007-04-06  Bruno Haible  <bruno@clisp.org>
31919
31920         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
31921         (VASNPRINTF): Use signbit for faster determination whether to print a
31922         minus sign.
31923         * modules/vasnprintf (Files): Remove lib/float+.h.
31924         * modules/fprintf-posix (Depends-on): Add signbit.
31925         * modules/snprintf-posix (Depends-on): Likewise.
31926         * modules/sprintf-posix (Depends-on): Likewise.
31927         * modules/vasnprintf-posix (Depends-on): Likewise.
31928         * modules/vasprintf-posix (Depends-on): Likewise.
31929         * modules/vfprintf-posix (Depends-on): Likewise.
31930         * modules/vsnprintf-posix (Depends-on): Likewise.
31931         * modules/vsprintf-posix (Depends-on): Likewise.
31932
31933 2007-04-06  Bruno Haible  <bruno@clisp.org>
31934
31935         * tests/test-frexp.c (main): Test also the sign bit of zero results.
31936         * tests/test-frexpl.c (main): Likewise.
31937         * tests/test-ldexpl.c (main): Likewise.
31938         * modules/frexp-tests (Depends-on): Add signbit.
31939         * modules/frexpl-tests (Depdends-on): Likewise.
31940         * modules/ldexpl-tests (Depdends-on): Likewise.
31941
31942 2007-04-06  Bruno Haible  <bruno@clisp.org>
31943
31944         * modules/signbit-tests: New file.
31945         * tests/test-signbit.c: New file.
31946
31947         * modules/signbit: New file.
31948         * lib/signbitf.c: New file.
31949         * lib/signbitd.c: New file.
31950         * lib/signbitl.c: New file.
31951         * m4/signbit.m4: New file.
31952         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
31953         (signbit): New macro.
31954         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
31955         REPLACE_SIGNBIT.
31956         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
31957         REPLACE_FREXPL into math.h.
31958
31959 2007-04-06  Bruno Haible  <bruno@clisp.org>
31960
31961         * modules/isnanf-nolibm-tests: New file.
31962         * tests/test-isnanf.c: New file.
31963
31964         * modules/isnanf-nolibm: New file.
31965         * lib/isnanf.h: New file.
31966         * lib/isnanf.c: New file.
31967         * lib/isnan.c: Consider the USE_FLOAT macro.
31968         * m4/isnanf.m4: New file.
31969
31970 2007-04-06  Bruno Haible  <bruno@clisp.org>
31971
31972         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
31973         (Link): New section.
31974
31975         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
31976
31977 2007-04-06  Bruno Haible  <bruno@clisp.org>
31978
31979         Assume the 'long double' type.
31980         * m4/longdouble.m4: Remove file.
31981         * config/srclist.txt: Don't mention longdouble.m4.
31982         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
31983         * lib/float+.h: Likewise.
31984         * lib/frexp.c: Likewise.
31985         * lib/printf-args.h: Likewise.
31986         * lib/printf-args.c: Likewise.
31987         * lib/printf-frexp.c: Likewise.
31988         * lib/printf-parse.c: Likewise.
31989         * lib/vasnprintf.c: Likewise.
31990         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
31991         * m4/intl.m4: Likewise.
31992         * m4/isnanl.m4: Likewise.
31993         * m4/printf.m4: Likewise.
31994         * m4/printf-frexpl.m4: Likewise.
31995         * m4/vasnprintf.m4: Likewise.
31996         * modules/allocsa (Files): Remove m4/longdouble.m4.
31997         * modules/gettext (Files): Likewise.
31998         * modules/relocatable-prog-wrapper (Files): Likewise.
31999         * modules/vasnprintf (Files): Likewise.
32000         * modules/isnanl (Files): Likewise.
32001         (Include): Simplify.
32002         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
32003         (Include): Simplify.
32004         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
32005         (Include): Simplify.
32006         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
32007         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
32008         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
32009         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
32010         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
32011         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
32012         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
32013         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
32014         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
32015         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
32016         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
32017         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
32018         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
32019         * tests/test-isnanl.c: Likewise.
32020         * tests/test-snprintf-posix.h: Likewise.
32021         * tests/test-sprintf-posix.h: Likewise.
32022         * tests/test-vasnprintf-posix.c: Likewise.
32023         * tests/test-vasnprintf-posix2.c: Likewise.
32024         * tests/test-vasprintf-posix.c: Likewise.
32025
32026 2007-04-06  Bruno Haible  <bruno@clisp.org>
32027
32028         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
32029         * lib/math_.h [__DECC]: Include the overridden include file through
32030         #include_next, outside the double-inclusion guard.
32031         * lib/stdio_.h [__DECC]: Likewise.
32032         * lib/stdlib_.h [__DECC]: Likewise.
32033         * lib/string_.h [__DECC]: Likewise.
32034         * lib/time_.h [__DECC]: Likewise.
32035         * lib/wchar_.h [__DECC]: Likewise.
32036         * lib/wctype_.h [__DECC]: Likewise.
32037         * lib/inttypes_.h [__DECC]: Likewise.
32038         Reported by Albert Chin <china@thewrittenword.com> in
32039         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
32040
32041 2007-04-04  Eric Blake  <ebb9@byu.net>
32042
32043         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
32044         1.5.x.
32045
32046 2007-04-04  Bruno Haible  <bruno@clisp.org>
32047
32048         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
32049         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
32050
32051 2007-04-04  Bruno Haible  <bruno@clisp.org>
32052
32053         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
32054         results for "%010a" of Infinity and NaN.
32055         * tests/test-vasprintf-posix.c (test_function): Likewise.
32056         * tests/test-snprintf-posix.h (test_function): Likewise.
32057         * tests/test-sprintf-posix.h (test_function): Likewise.
32058         * tests/test-fprintf-posix.h (test_function): Remove these tests.
32059         * tests/test-printf-posix.h (test_function): Likewise.
32060         * tests/test-fprintf-posix.out: Update.
32061         Needed for FreeBSD 6.1.
32062
32063 2007-04-04  Bruno Haible  <bruno@clisp.org>
32064
32065         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
32066         directly used by the gnulib modules nor by gnulib-tool.
32067
32068 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
32069
32070         * DEPENDENCIES: Give overall description of version dependency
32071         desirability.  Use more-typical names for apps.
32072         Add shell, coreutils, diffutils, grep, tar, gzip.
32073
32074 2007-04-04  Simon Josefsson  <simon@josefsson.org>
32075
32076         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
32077
32078 2007-04-04  Karl Berry  <karl@gnu.org>
32079
32080         * MODULES.html.sh (func_module): missing '.
32081
32082 2007-04-03  Bruno Haible  <bruno@clisp.org>
32083
32084         * modules/argmatch-tests (Makefile.am): New variable
32085         test_argmatch_LDADD.
32086         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
32087         * modules/array-list-tests (Makefile.am): New variable
32088         test_array_list_LDADD.
32089         * modules/array-oset-tests (Makefile.am): New variable
32090         test_array_oset_LDADD.
32091         * modules/avltree-list-tests (Makefile.am): New variable
32092         test_avltree_list_LDADD.
32093         * modules/avltree-oset-tests (Makefile.am): New variable
32094         test_avltree_oset_LDADD.
32095         * modules/avltreehash-list-tests (Makefile.am): New variable
32096         test_avltreehash_list_LDADD.
32097         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
32098         test_canonicalize_lgpl_LDADD.
32099         * modules/carray-list-tests (Makefile.am): New variable
32100         test_carray_list_LDADD.
32101         * modules/dirname-tests (Makefile.am): New variable
32102         test_dirname_LDADD.
32103         * modules/linked-list-tests (Makefile.am): New variable
32104         test_linked_list_LDADD.
32105         * modules/linkedhash-list-tests (Makefile.am): New variable
32106         test_linkedhash_list_LDADD.
32107         * modules/rbtree-list-tests (Makefile.am): New variable
32108         test_rbtree_list_LDADD.
32109         * modules/rbtree-oset-tests (Makefile.am): New variable
32110         test_rbtree_oset_LDADD.
32111         * modules/rbtreehash-list-tests (Makefile.am): New variable
32112         test_rbtreehash_list_LDADD.
32113         * modules/xvasprintf-tests (Makefile.am): New variable
32114         test_xvasprintf_LDADD.
32115         Reported by Eric Blake.
32116
32117 2007-04-03  Eric Blake  <ebb9@byu.net>
32118
32119         * DEPENDENCIES: Weaken m4 requirements.
32120
32121 2007-04-03  Bruno Haible  <bruno@clisp.org>
32122
32123         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
32124         * modules/isnanl-tests (configure.ac): Likewise.
32125
32126 2007-04-03  Ben Pfaff  <blp@gnu.org>
32127
32128         * modules/iconv_open: Add $(srcdir)/ to source directory
32129         references in Makefile fragments that call gperf, to fix VPATH
32130         builds.
32131
32132 2007-04-03  Bruno Haible  <bruno@clisp.org>
32133
32134         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
32135         * lib/ldexpl.c: Undo last change.
32136
32137 2007-04-03  Bruno Haible  <bruno@clisp.org>
32138
32139         * modules/printf-frexpl (Depends-on): Undo last change.
32140         (Files): Add m4/ldexpl.m4.
32141
32142 2007-04-03  Bruno Haible  <bruno@clisp.org>
32143
32144         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
32145         * modules/isnanl (Link): New section.
32146
32147         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
32148         * modules/frexp (Link): New section.
32149
32150         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
32151         * modules/frexpl (Link): New section.
32152
32153         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
32154         * modules/ldexpl (Link): New section.
32155
32156 2007-04-03  Bruno Haible  <bruno@clisp.org>
32157
32158         * modules/TEMPLATE-EXTENDED: New file.
32159         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
32160
32161 2007-04-03  Bruno Haible  <bruno@clisp.org>
32162
32163         * DEPENDENCIES: New file.
32164         Suggested by Simon Josefsson.
32165
32166 2007-04-03  Bruno Haible  <bruno@clisp.org>
32167
32168         * doc/gnulib.texi: Escape @.
32169
32170 2007-04-03  James Youngman  <jay@gnu.org>
32171         and Paul Eggert  <eggert@cs.ucla.edu>
32172
32173         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
32174         birthtime on all systems that have birthtime, not just those which
32175         use st_birthtimensec rather than st_birthtim.  Putting zero in
32176         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
32177         that the birth time is not available for files on an NFS mount.
32178
32179 2007-04-03  Simon Josefsson  <simon@josefsson.org>
32180
32181         * modules/memxor: Move back from crypto/, suggested by Bruno.
32182         * modules/crypto/hmac-sha1: Fix memxor dependency.
32183
32184         * modules/crypto/gc: Moved from ../.
32185
32186 2007-04-02  Eric Blake  <ebb9@byu.net>
32187
32188         * lib/ldexpl.c (includes): Avoid libm.
32189
32190         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
32191
32192 2007-04-02  Bruno Haible  <bruno@clisp.org>
32193
32194         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
32195         on IRIX.
32196
32197 2007-04-02  Bruno Haible  <bruno@clisp.org>
32198
32199         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
32200         x86 or x86_64 platforms running MacOS X.
32201         Reported by Ryan Schmidt <@ryandesign.com>.
32202
32203 2007-04-02  Bruno Haible  <bruno@clisp.org>
32204
32205         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
32206         i386.
32207
32208 2007-04-01  Simon Josefsson  <simon@josefsson.org>
32209
32210         * modules/crypto/arcfour: Moved from ../.
32211         * modules/crypto/arcfour-tests: Moved from ../.
32212         * modules/crypto/arctwo: Moved from ../.
32213         * modules/crypto/arctwo-tests: Moved from ../.
32214         * modules/crypto/des: Moved from ../.
32215         * modules/crypto/des-tests: Moved from ../.
32216         * modules/crypto/gc-arcfour: Moved from ../.
32217         * modules/crypto/gc-arcfour-tests: Moved from ../.
32218         * modules/crypto/gc-arctwo: Moved from ../.
32219         * modules/crypto/gc-arctwo-tests: Moved from ../.
32220         * modules/crypto/gc-des: Moved from ../.
32221         * modules/crypto/gc-des-tests: Moved from ../.
32222         * modules/crypto/gc-hmac-md5: Moved from ../.
32223         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
32224         * modules/crypto/gc-hmac-sha1: Moved from ../.
32225         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
32226         * modules/crypto/gc-md2: Moved from ../.
32227         * modules/crypto/gc-md2-tests: Moved from ../.
32228         * modules/crypto/gc-md4: Moved from ../.
32229         * modules/crypto/gc-md4-tests: Moved from ../.
32230         * modules/crypto/gc-md5: Moved from ../.
32231         * modules/crypto/gc-md5-tests: Moved from ../.
32232         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
32233         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
32234         * modules/crypto/gc-random: Moved from ../.
32235         * modules/crypto/gc-rijndael: Moved from ../.
32236         * modules/crypto/gc-rijndael-tests: Moved from ../.
32237         * modules/crypto/gc-sha1: Moved from ../.
32238         * modules/crypto/gc-sha1-tests: Moved from ../.
32239         * modules/crypto/gc-tests: Moved from ../.
32240         * modules/crypto/hmac-md5: Moved from ../.
32241         * modules/crypto/hmac-md5-tests: Moved from ../.
32242         * modules/crypto/hmac-sha1: Moved from ../.
32243         * modules/crypto/hmac-sha1-tests: Moved from ../.
32244         * modules/crypto/md2: Moved from ../.
32245         * modules/crypto/md2-tests: Moved from ../.
32246         * modules/crypto/md4: Moved from ../.
32247         * modules/crypto/md4-tests: Moved from ../.
32248         * modules/crypto/md5: Moved from ../.
32249         * modules/crypto/md5-tests: Moved from ../.
32250         * modules/crypto/memxor: Moved from ../.
32251         * modules/crypto/rijndael: Moved from ../.
32252         * modules/crypto/rijndael-tests: Moved from ../.
32253         * modules/crypto/sha1: Moved from ../.
32254
32255 2007-03-30  James Youngman  <jay@gnu.org>
32256
32257         * tests/test-stat-time.c (prepare_test): use chmod() rather than
32258         rename() to change the ctime of a file (because ctime is unaffected
32259         by rename on jfs2 on AIX 5.1).
32260         (main): Start by doing cleanup, in case a previous run failed leaving
32261         test files behind.
32262
32263 2007-03-31  Bruno Haible  <bruno@clisp.org>
32264
32265         Support old proprietary implementations of iconv.
32266         * modules/iconv_open: New file.
32267         * lib/iconv_.h: New file.
32268         * m4/iconv_h.m4: New file.
32269         * lib/iconv_open.c: New file.
32270         * lib/iconv_open-aix.gperf: New file.
32271         * lib/iconv_open-hpux.gperf: New file.
32272         * lib/iconv_open-irix.gperf: New file.
32273         * lib/iconv_open-osf.gperf: New file.
32274         * m4/iconv_open.m4: New file.
32275         * modules/linebreak (Depends-on): Add iconv_open.
32276         * modules/striconv (Depends-on): Likewise.
32277         * modules/striconveh (Depends-on): Likewise.
32278         * modules/unicodeio (Depends-on): Likewise.
32279         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
32280         (iconv_t)(-1).
32281         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
32282         conversion if cd is (iconv_t)(-1).
32283         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
32284         is not possible.
32285
32286 2007-03-31  Bruno Haible  <bruno@clisp.org>
32287
32288         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
32289         work on Solaris either. Protect also second use of "autodetect_jp".
32290
32291 2007-03-31  Bruno Haible  <bruno@clisp.org>
32292
32293         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
32294         the function is not present.
32295
32296 2007-03-31  Bruno Haible  <bruno@clisp.org>
32297
32298         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
32299         the function is not present.
32300
32301 2007-03-31  Bruno Haible  <bruno@clisp.org>
32302
32303         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
32304         a bug in HP-UX iconv_open().
32305
32306 2007-03-31  Bruno Haible  <bruno@clisp.org>
32307
32308         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
32309         (Mathematics <math.h>): New section, add fpieee.
32310         (Input/output <stdio.h>): Add fseterr.
32311         (Mathematics <math.h>): New section, add printf-frexp.
32312         (Container data structures): Add sublist.
32313         (Core language properties): Add fpucw, inline.
32314         (Functions for greatest-width integer types <inttypes.h>): Add
32315         imaxabs, imaxdiv, inttypes.
32316         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
32317         isnanl-nolibm, ldexp.
32318         (Mathematics <math.h>): New section, add printf-frexpl.
32319         (Support for systems lacking POSIX:2001): Add fprintf-posix,
32320         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
32321         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
32322         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
32323         (Unicode string functions): Add unistr/u*-mbtoucr.
32324         (Java): Add javacomp-script, javaexec-script.
32325         (C#): Add csharpcomp-script, csharpexec-script.
32326         (Support for building libraries and executables): Add havelib,
32327         relocatable-*.
32328         (Support for maintaining and releasing projects): Renamed from
32329         'Support for maintaining and release projects'. Add announce-gen.
32330
32331 2007-03-31  Bruno Haible  <bruno@clisp.org>
32332
32333         * README: Talk primarily about git.
32334         (git and CVS): Renamed from CVS.
32335         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
32336         gnulib is available through git.
32337         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
32338
32339 2007-03-30  Bruno Haible  <bruno@clisp.org>
32340
32341         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
32342         * lib/poll_.h: Likewise.
32343         * lib/stat_.h: Likewise.
32344         * lib/sys_time_.h: Likewise.
32345         * lib/sysexit_.h: Likewise.
32346         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
32347         * lib/stdbool_.h: Likewise.
32348         * lib/byteswap_.h: Add double-inclusion guard.
32349
32350 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
32351
32352         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
32353
32354 2007-03-30  Karl Berry  <karl@gnu.org>
32355
32356         * config/srclist-update: double space after USA in the license
32357         substitution, since that's how it's usually (?) written.
32358
32359 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
32360
32361         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
32362         reported by Bruno Haible.
32363
32364 2007-03-29  Bruno Haible  <bruno@clisp.org>
32365
32366         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
32367         a bug in AIX iconv().
32368
32369 2007-03-29  Bruno Haible  <bruno@clisp.org>
32370
32371         * modules/ldexpl-tests: New file.
32372         * tests/test-ldexpl.c: New file.
32373
32374 2007-03-29  Bruno Haible  <bruno@clisp.org>
32375
32376         * lib/ldexpl.c: Include fpucw.h.
32377         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
32378         multiplication.
32379         * modules/ldexpl (Depends-on): Add fpucw.
32380
32381 2007-03-29  Bruno Haible  <bruno@clisp.org>
32382
32383         * modules/ldexpl: New file.
32384         * m4/ldexpl.m4: New file.
32385         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
32386         set.
32387         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
32388         REPLACE_LDEXPL.
32389         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
32390         REPLACE_LDEXPL.
32391         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
32392         gl_FUNC_LDEXPL_WORKS.
32393         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
32394         * modules/mathl (Files): Remove lib/ldexpl.c.
32395         (Depends-on): Add ldexpl.
32396
32397 2007-03-29  Bruno Haible  <bruno@clisp.org>
32398
32399         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
32400
32401 2007-03-29  Bruno Haible  <bruno@clisp.org>
32402
32403         * tests/test-striconveh.c (main): Don't assume that a direct conversion
32404         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
32405         and possibly also HP-UX.
32406         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
32407         work on AIX, IRIX, HP-UX, OSF/1.
32408         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
32409         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
32410         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
32411         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
32412         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
32413         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
32414
32415 2007-03-29  Bruno Haible  <bruno@clisp.org>
32416
32417         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
32418
32419 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
32420
32421         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
32422         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
32423
32424 2007-03-29  Eric Blake  <ebb9@byu.net>
32425
32426         * lib/acl-internal.h: Remove redundant include.
32427         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
32428         Cygwin when a file is locked.
32429
32430 2007-03-29  Bruno Haible  <bruno@clisp.org>
32431
32432         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
32433         file.
32434         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
32435
32436 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
32437
32438         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
32439         try to remove a parent directory if the child couldn't be removed
32440         (except for the first rmdir, which could fail because the child
32441         doesn't exist).  Problem reported by Jeff Blaine in
32442         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
32443
32444 2007-03-28  Bruno Haible  <bruno@clisp.org>
32445
32446         * lib/striconveh.c (utf8conv_carefully): New function.
32447         (mem_cd_iconveh_internal): Invoke it.
32448
32449 2007-03-28  Bruno Haible  <bruno@clisp.org>
32450
32451         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
32452         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
32453         input.
32454         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
32455         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
32456         unistr/u8-uctomb.
32457
32458 2007-03-28  Bruno Haible  <bruno@clisp.org>
32459
32460         * modules/unistr/u8-mbtoucr: New file.
32461         * lib/unistr/u8-mbtoucr.c: New file.
32462         * modules/unistr/u16-mbtoucr: New file.
32463         * lib/unistr/u16-mbtoucr.c: New file.
32464         * modules/unistr/u16-mbtoucr: New file.
32465         * lib/unistr/u16-mbtoucr.c: New file.
32466         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
32467
32468 2007-03-27  Simon Josefsson  <simon@josefsson.org>
32469             Bruno Haible  <bruno@clisp.org>
32470
32471         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
32472         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
32473         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
32474
32475         * m4/stdio_h.m4: Add stubs for vasprintf too.
32476
32477         * modules/stdio: Support vasprintf in sed command.
32478
32479         * modules/vasprintf: Depend on stdio for prototypes.  Remove
32480         vasprintf.h.  Add stdio module indicator.
32481
32482         * lib/stdio_.h: Declare asprintf and vasprintf, based on
32483         vasprintf.h.
32484
32485         * lib/vasprintf.h: File removed.
32486
32487         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
32488         * lib/vasprintf.c: Ditto.
32489         * lib/xvasprintf.c: Ditto.
32490         * tests/test-vasprintf-posix.c: Ditto.
32491         * tests/test-vasprintf.c: Ditto.
32492
32493 2007-03-27  Bruno Haible  <bruno@clisp.org>
32494
32495         Make vasnprintf multithread-safe.
32496         * lib/vasnprintf.c (decimal_point_char): New function.
32497         (VASNPRINTF): Use it.
32498         Suggested by Simon Josefsson.
32499
32500 2007-03-27  Eric Blake  <ebb9@byu.net>
32501
32502         Support sub-second birthtime on cygwin.
32503         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
32504         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
32505         (get_stat_birthtime): Also work with st_birthtim.
32506
32507 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
32508
32509         * lib/stat-time.h (USE_BIRTHTIME): Remove.
32510         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
32511         (get_stat_birthtime_ns): Do not try to use "spare" fields.
32512         (get_stat_birthtime_ns): Simplify compile-time tests.
32513         (get_stat_birthtime): Change the API to look like
32514         get_stat_mtime etc., except return a negative tv_nsec on error.
32515         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
32516         Don't check for "spare" fields.
32517         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
32518         or for struct stat.st_birthtime, as these tests aren't used.
32519         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
32520
32521 2007-03-27  Bruno Haible  <bruno@clisp.org>
32522
32523         * lib/stat-time.h: Include <sys/stat.h>.
32524
32525 2007-03-27  James Youngman  <jay@gnu.org>
32526
32527         * lib/stat-time.h (get_stat_birthtime): New function for
32528           retrieving st_birthtime as provided by UFS2 (hence *BSD).
32529         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
32530           and its variants.
32531         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
32532         * modules/stat-time-test: New file.
32533         * tests/test-stat-time.c: New test, devised by Bruno Haible.
32534
32535 2007-03-26  Bruno Haible  <bruno@clisp.org>
32536
32537         Better support of signalling NaNs.
32538         * lib/atanl.c: Include isnanl.h.
32539         (atanl): Perform test for NaN at the beginning of the function and
32540         through a call to isnanl.
32541         * lib/cosl.c: Include isnanl.h.
32542         (cosl): Perform test for NaN at the beginning of the function and
32543         through a call to isnanl.
32544         * lib/ldexpl.c: Include isnanl.h.
32545         (ldexpl): Perform test for NaN through a call to isnanl.
32546         * lib/logl.c: Include isnanl.h.
32547         (logl): Perform test for NaN at the beginning of the function and
32548         through a call to isnanl.
32549         * lib/sinl.c: Include isnanl.h.
32550         (sinl): Perform test for NaN at the beginning of the function and
32551         through a call to isnanl.
32552         * lib/sqrtl.c: Include isnanl.h.
32553         (sqrtl): Perform test for NaN at the beginning of the function and
32554         through a call to isnanl.
32555         * lib/tanl.c: Include isnanl.h.
32556         (tanl): Perform test for NaN at the beginning of the function and
32557         through a call to isnanl.
32558         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
32559         * modules/mathl (Depends-on): Add isnanl.
32560
32561 2007-03-26  Eric Blake  <ebb9@byu.net>
32562
32563         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
32564         regression in logic sense of previous patch.
32565
32566 2007-03-26  Bruno Haible  <bruno@clisp.org>
32567
32568         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
32569         unportable shell command "if ! ...".
32570         Reported by Ralf Wildenhues.
32571
32572 2007-03-25  Bruno Haible  <bruno@clisp.org>
32573
32574         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
32575         <sysexits.h> file, and only add EX_CONFIG.
32576         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
32577         absolute file name and whether it is sufficient. Substitute also
32578         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
32579         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
32580         ABSOLUTE_SYSEXITS_H into sysexits.h.
32581
32582 2007-03-25  Bruno Haible  <bruno@clisp.org>
32583
32584         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
32585         hints is NULL.
32586
32587 2007-03-25  Bruno Haible  <bruno@clisp.org>
32588
32589         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
32590         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
32591
32592 2007-03-25  Bruno Haible  <bruno@clisp.org>
32593
32594         * lib/vasnprintf.c: Include langinfo.h.
32595         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
32596         multithread-safe.
32597         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
32598         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
32599         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
32600         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
32601         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
32602         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
32603         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
32604         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
32605         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
32606         Reported by Simon Josefsson.
32607
32608 2007-03-25  Bruno Haible  <bruno@clisp.org>
32609
32610         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
32611         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
32612         * modules/vasnprintf (Depends-on): Add stdint.
32613
32614 2007-03-25  Bruno Haible  <bruno@clisp.org>
32615
32616         * modules/fpieee: New file.
32617         * m4/fpieee.m4: New file.
32618         * modules/isnan-nolibm (Depends-on): Add fpieee.
32619         * modules/isnanl-nolibm (Depends-on): Add fpieee.
32620         * modules/isnanl (Depends-on): Add fpieee.
32621
32622 2007-03-25  Bruno Haible  <bruno@clisp.org>
32623
32624         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
32625
32626 2007-03-25  Bruno Haible  <bruno@clisp.org>
32627
32628         Avoid test failures on IRIX 6.5.
32629         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
32630         (main): Use it.
32631         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
32632         macros.
32633         (main): Use them.
32634
32635 2007-03-25  Bruno Haible  <bruno@clisp.org>
32636
32637         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
32638         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
32639         exists but doesn't work.
32640         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
32641         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
32642         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
32643         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
32644
32645 2007-03-25  Bruno Haible  <bruno@clisp.org>
32646
32647         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
32648         returns inf. Needed on IRIX 6.5.
32649
32650 2007-03-25  Bruno Haible  <bruno@clisp.org>
32651
32652         * tests/test-frexpl.c: Include isnanl-nolibm.h.
32653         (main): Use isnanl instead of x != x idiom.
32654         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
32655
32656         * tests/test-frexp.c: Include isnan.h.
32657         (main): Use isnan instead of x != x idiom.
32658         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
32659
32660 2007-03-25  Bruno Haible  <bruno@clisp.org>
32661
32662         * tests/test-frexp.c (NaN): New function/macro.
32663         (main): Use it instead of 0.0 / 0.0.
32664         * tests/test-isnan.c (NaN): New function/macro.
32665         (main): Use it instead of 0.0 / 0.0.
32666         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
32667         (test_function): Use it instead of 0.0 / 0.0.
32668         * tests/test-vasprintf-posix.c (NaN): New function/macro.
32669         (test_function): Use it instead of 0.0 / 0.0.
32670         * tests/test-snprintf-posix.h (NaN): New function/macro.
32671         (test_function): Use it instead of 0.0 / 0.0.
32672         * tests/test-sprintf-posix.h (NaN): New function/macro.
32673         (test_function): Use it instead of 0.0 / 0.0.
32674         * tests/test-fprintf-posix.h (NaN): New function/macro.
32675         (test_function): Use it instead of 0.0 / 0.0.
32676         * tests/test-printf-posix.h (NaN): New function/macro.
32677         (test_function): Use it instead of 0.0 / 0.0.
32678
32679         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
32680
32681 2007-03-25  Bruno Haible  <bruno@clisp.org>
32682
32683         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
32684
32685 2007-03-25  Bruno Haible  <bruno@clisp.org>
32686
32687         * lib/regexec.c (merge_state_with_log): Make static.
32688
32689 2007-03-25  Bruno Haible  <bruno@clisp.org>
32690
32691         * lib/trigl.c (kernel_rem_pio2): Make static.
32692
32693 2007-03-25  Bruno Haible  <bruno@clisp.org>
32694
32695         * lib/sincosl.c (sincosl_table): Make static.
32696
32697 2007-03-25  Bruno Haible  <bruno@clisp.org>
32698
32699         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
32700         if the compiler does not support C99.
32701
32702 2007-03-25  Bruno Haible  <bruno@clisp.org>
32703
32704         * modules/time (Makefile.am): Ensure all rule action lines start with a
32705         tab.
32706
32707 2007-03-24  Bruno Haible  <bruno@clisp.org>
32708
32709         * modules/tsearch-tests: New file.
32710         * tests/test-tsearch.sh: New file.
32711         * tests/test-tsearch.c: New file, mostly copied from glibc.
32712
32713         * modules/search-tests: New file.
32714         * tests/test-search.c: New file.
32715
32716         * modules/search: New file.
32717         * lib/search_.h: New file, incorporating lib/tsearch.h.
32718         * m4/search_h.m4: New file.
32719         * lib/tsearch.h: Remove file.
32720         * lib/tsearch.c: Include search.h instead of tsearch.h.
32721         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
32722         HAVE_TSEARCH.
32723         * modules/tsearch (Files): Remove lib/tsearch.h.
32724         (Depends-on): Add search.
32725         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
32726         (Include): Change tsearch.h into search.h.
32727
32728 2007-03-24  Bruno Haible  <bruno@clisp.org>
32729
32730         * modules/fpucw: New file.
32731         * lib/fpucw.h: New file.
32732         * lib/frexp.c: Include fpucw.h.
32733         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
32734         (FUNC): Use them.
32735         * lib/printf-frexp.c: Include fpucw.h.
32736         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
32737         (FUNC): Use them.
32738         * lib/vasnprintf.c: Include fpucw.h.
32739         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
32740         'long double' calculations.
32741         * tests/test-frexpl.c: Include fpucw.h.
32742         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
32743         * tests/test-printf-frexpl.c: Include fpucw.h.
32744         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
32745         * modules/frexpl (Depends-on): Add fpucw.
32746         * modules/printf-frexpl (Depends-on): Likewise.
32747         * modules/fprintf-posix (Depends-on): Likewise.
32748         * modules/snprintf-posix (Depends-on): Likewise.
32749         * modules/sprintf-posix (Depends-on): Likewise.
32750         * modules/vasnprintf-posix (Depends-on): Likewise.
32751         * modules/vasprintf-posix (Depends-on): Likewise.
32752         * modules/vfprintf-posix (Depends-on): Likewise.
32753         * modules/vsnprintf-posix (Depends-on): Likewise.
32754         * modules/vsprintf-posix (Depends-on): Likewise.
32755         * modules/frexpl-tests (Depends-on): Likewise.
32756         * modules/printf-frexpl-tests (Depends-on): Likewise.
32757
32758 2007-03-24  Bruno Haible  <bruno@clisp.org>
32759
32760         * lib/float+.h: New file.
32761         * lib/isnan.c: Include float+.h.
32762         (SIZE): New macro.
32763         (FUNC): Compare only SIZE bytes of the value.
32764         * lib/vasnprintf.c: Include float+.h.
32765         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
32766         SIZEOF_LDBL or SIZEOF_DBL bytes.
32767         * modules/isnan-nolibm (Files): Add lib/float+.h.
32768         * modules/isnanl-nolibm (Files): Add lib/float+.h.
32769         * modules/isnanl (Files): Add lib/float+.h.
32770         * modules/vasnprintf (Files): Add lib/float+.h.
32771
32772 2007-03-24  Bruno Haible  <bruno@clisp.org>
32773
32774         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
32775         include isnanl-nolibm.h.
32776
32777 2007-03-24  Bruno Haible  <bruno@clisp.org>
32778
32779         * tests/test-read-file.c (main): Don't produce spurious output for
32780         expected situations. Make the test fail if it encountered unexpected
32781         results.
32782
32783 2007-03-24  Bruno Haible  <bruno@clisp.org>
32784
32785         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
32786         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
32787
32788 2007-03-24  Bruno Haible  <bruno@clisp.org>
32789
32790         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
32791
32792 2007-03-24  Bruno Haible  <bruno@clisp.org>
32793
32794         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
32795         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
32796
32797         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
32798         * modules/utf8-ucs4: Turn into a symbolic link to module
32799         unistr/u8-mbtouc.
32800
32801         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
32802         utf8-ucs4-unsafe.
32803         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
32804         unistr/u8-mbtouc-unsafe.
32805
32806         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
32807         * modules/utf16-ucs4: Turn into a symbolic link to module
32808         unistr/u16-mbtouc.
32809
32810         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
32811         utf16-ucs4-unsafe.
32812         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
32813         unistr/u16-mbtouc-unsafe.
32814
32815         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
32816         * modules/ucs4-utf8: Turn into a symbolic link to module
32817         unistr/u8-ubtomb.
32818
32819         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
32820         * modules/ucs4-utf16: Turn into a symbolic link to module
32821         unistr/u16-ubtomb.
32822
32823 2007-03-24  Bruno Haible  <bruno@clisp.org>
32824
32825         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
32826         Enable the function only if HAVE_INLINE.
32827         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
32828         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
32829         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
32830         Enable the function only if HAVE_INLINE.
32831         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
32832         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
32833         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
32834         Enable the function only if HAVE_INLINE.
32835         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
32836         Enable the function only if HAVE_INLINE.
32837         * modules/utf8-ucs4: Update.
32838         * modules/utf8-ucs4-unsafe: Update.
32839         * modules/utf16-ucs4: Update.
32840         * modules/utf16-ucs4-unsafe: Update.
32841         * modules/ucs4-utf8: Update.
32842         * modules/ucs4-utf16: Update.
32843
32844 2007-03-24  Bruno Haible  <bruno@clisp.org>
32845
32846         * lib/utf8-ucs4.h: Remove file.
32847         * lib/utf8-ucs4-unsafe.h: Remove file.
32848         * lib/utf16-ucs4.h: Remove file.
32849         * lib/utf16-ucs4-unsafe.h: Remove file.
32850         * lib/ucs4-utf8.h: Remove file.
32851         * lib/ucs4-utf16.h: Remove file.
32852         * lib/unistr.h: Include their previous contents.
32853         * m4/utf-ucs4.m4: Remove file.
32854         * m4/ucs4-utf.m4: Remove file.
32855         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
32856         (Depends-on): Add unistr/base.
32857         (configure.ac): Remove gl_UTF_UCS4.
32858         (Makefile.am): Update.
32859         (Include): Change to unistr.h.
32860         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
32861         (Depends-on): Add unistr/base.
32862         (configure.ac): Remove gl_UTF_UCS4.
32863         (Makefile.am): Update.
32864         (Include): Change to unistr.h.
32865         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
32866         (Depends-on): Add unistr/base.
32867         (configure.ac): Remove gl_UTF_UCS4.
32868         (Makefile.am): Update.
32869         (Include): Change to unistr.h.
32870         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
32871         (Depends-on): Add unistr/base.
32872         (configure.ac): Remove gl_UTF_UCS4.
32873         (Makefile.am): Update.
32874         (Include): Change to unistr.h.
32875         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
32876         (Depends-on): Add unistr/base.
32877         (configure.ac): Remove gl_UCS4_UTF.
32878         (Makefile.am): Update.
32879         (Include): Change to unistr.h.
32880         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
32881         (Depends-on): Add unistr/base.
32882         (configure.ac): Remove gl_UCS4_UTF.
32883         (Makefile.am): Update.
32884         (Include): Change to unistr.h.
32885         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
32886         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
32887         utf8-ucs4-unsafe.h.
32888         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
32889         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
32890         utf16-ucs4-unsafe.h.
32891         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
32892         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
32893         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
32894         * lib/unistr/u8-strchr.c: Likewise.
32895         * lib/unistr/u8-strrchr.c: Likewise.
32896         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
32897         * lib/unistr/u16-strchr.c: Likewise.
32898         * lib/unistr/u16-strrchr.c: Likewise.
32899         * lib/striconveh.c: Update.
32900         * lib/linebreak.c: Update.
32901
32902 2007-03-24  Bruno Haible  <bruno@clisp.org>
32903
32904         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
32905         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
32906
32907 2007-03-22  Bruno Haible  <bruno@clisp.org>
32908
32909         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
32910
32911 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
32912
32913         * MODULES.html.sh (File system functions): New module write-any-file.
32914         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
32915         * m4/write-any-file.m4: New files.
32916
32917 2007-03-23  Eric Blake  <ebb9@byu.net>
32918
32919         * gnulib-tool: Rearrange space-tab sequences, since some editors
32920         like to eat them.
32921
32922 2007-03-23  Eric Blake  <ebb9@byu.net>
32923
32924         * lib/version-etc.c (version_etc_va): Update license wording to
32925         be more concise.  Recommended by Richard Stallman.
32926
32927 2007-03-22  Bruno Haible  <bruno@clisp.org>
32928
32929         * lib/poll.c (MSG_PEEK): New fallback definition.
32930
32931 2007-03-22  Bruno Haible  <bruno@clisp.org>
32932
32933         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
32934         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
32935         (main): Update.
32936         Fixes a compilation error on BeOS.
32937
32938 2007-03-22  Bruno Haible  <bruno@clisp.org>
32939
32940         * modules/frexpl-tests: New file.
32941         * tests/test-frexpl.c: New file.
32942
32943         * modules/frexpl: New file.
32944         * m4/frexpl.m4: New file.
32945         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
32946         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
32947         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
32948         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
32949         (Depends-on): Add frexpl. Remove isnanl-nolibm.
32950         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
32951
32952 2007-03-22  Bruno Haible  <bruno@clisp.org>
32953
32954         * lib/frexpl.c: Share code with lib/frexp.c.
32955         * modules/mathl (Files): Add lib/frexp.c.
32956         (Depends-on): Add isnanl-nolibm.
32957
32958 2007-03-22  Bruno Haible  <bruno@clisp.org>
32959
32960         * modules/printf-frexp (Files): Add m4/frexp.m4.
32961         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
32962         only if the found frexp function actually works.
32963
32964 2007-03-22  Bruno Haible  <bruno@clisp.org>
32965
32966         * lib/frexp.c: Remove older implementation that uses divisions.
32967
32968 2007-03-21  Bruno Haible  <bruno@clisp.org>
32969
32970         * modules/frexp-tests: New file.
32971         * tests/test-frexp.c: New file.
32972
32973         * modules/frexp: New file.
32974         * lib/frexp.c: New file.
32975         * m4/frexp.m4: New file.
32976         * lib/math_.h (frexp): New declaration.
32977         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
32978         REPLACE_FREXP.
32979         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
32980
32981 2007-03-21  Bruno Haible  <bruno@clisp.org>
32982
32983         * modules/isnanl-tests: New file.
32984         * tests/test-isnanl.c: New file.
32985
32986         * modules/isnanl: New file.
32987         * lib/isnanl.h: New file.
32988         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
32989         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
32990         gl_FUNC_ISNANL_WORKS.
32991         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
32992         New macros.
32993
32994 2007-03-21  Bruno Haible  <bruno@clisp.org>
32995
32996         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
32997         lib/isnanl.h.
32998         (Include): Update.
32999         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
33000         * lib/vasnprintf.c: Update.
33001         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
33002         tests/test-isnanl.h, remove tests/test-isnanl.c.
33003         (Makefile.am): Update.
33004         * tests/test-isnanl-nolibm.c: New file.
33005         * tests/test-isnanl.h: New file.
33006         * tests/test-isnanl.c: Remove file.
33007
33008 2007-03-21  Jim Meyering  <jim@meyering.net>
33009
33010         When trying to open ".", treat ESTALE like EACCES.
33011         * lib/savewd.c (savewd_save): Resort to forking not just upon
33012         failure with EACCES, but also when errno is ESTALE.
33013
33014 2007-03-20  Bruno Haible  <bruno@clisp.org>
33015
33016         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
33017         Needed on AIX 5.1. Reported by Matthew Woehlke.
33018
33019 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
33020
33021         Suggestions by Bruno Haible:
33022         * lib/acl-internal.h: Include "gettext.h" rather than rolling
33023         our own.
33024         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
33025         * modules/acl (Depends-on): Add gettext.
33026
33027 2007-03-19  Bruno Haible  <bruno@clisp.org>
33028
33029         * modules/iconvme: Remove file.
33030         * lib/iconvme.h: Remove file.
33031         * lib/iconvme.c: Remove file.
33032         * m4/iconvme.m4: Remove file.
33033
33034 2007-03-19  Bruno Haible  <bruno@clisp.org>
33035
33036         * doc/relocatable-maint.texi: Break long shell script line.
33037         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
33038
33039 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
33040
33041         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
33042         handle file_has_acl.
33043         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
33044         * lib/acl.c: Move header inclusions and related macro defns into
33045         lib/acl-internal.h.
33046         (S_ISLNK): Remove defn, since that's now done for us.
33047         (file_has_acl): Move to lib/file-has-acl.c.
33048         Call acl_trivial if available.  This is the crucial part of the fix.
33049         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
33050         shared within the library.  Rewrite a bit, partly to make it compatible
33051         with the GNU coding style.
33052         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
33053         Remove unnecessary double-quotes.
33054         Don't test for acl_to_text; the build will catch that.
33055         Replace acl_entries if it doesn't exist and it is needed.
33056         Check for -lsec and acl_trivial (as used on Solaris 10).
33057         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
33058         lib/file-has-acl.c.
33059         (Depends-on): Add sys_stat, for S_ISLNK.
33060
33061 2007-03-19  Ben Pfaff  <blp@gnu.org>
33062
33063         * doc/gnulib.texi: Fix typos.
33064         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
33065
33066 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
33067
33068         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
33069         If size is zero here, buf must be zero.
33070
33071 2007-03-19  Simon Josefsson  <simon@josefsson.org>
33072
33073         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
33074         <bruno@clisp.org>.
33075
33076 2007-03-18  Bruno Haible  <bruno@clisp.org>
33077
33078         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
33079         Suggested by Eric Blake.
33080
33081 2007-03-18  Ben Pfaff  <blp@gnu.org>
33082
33083         * doc/relocatable.texi: Recommend using as prefix a directory
33084         that does not exist and will never be created.  Based on
33085         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
33086         and others.
33087
33088 2007-03-17  Bruno Haible  <bruno@clisp.org>
33089
33090         * lib/fchownat.c: Include lchown.h.
33091
33092 2007-03-17  Bruno Haible  <bruno@clisp.org>
33093
33094         Fix endless loop when the given allocated size was > INT_MAX.
33095         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
33096         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
33097         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
33098         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
33099         * lib/sprintf.c (sprintf): Likewise.
33100
33101 2007-03-17  Bruno Haible  <bruno@clisp.org>
33102
33103         * tests/test-argp-2.sh (func_compare): Output a context diff.
33104
33105 2007-03-17  Bruno Haible  <bruno@clisp.org>
33106
33107         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
33108         locale's decimal-point character.
33109
33110 2007-03-17  Bruno Haible  <bruno@clisp.org>
33111
33112         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
33113         before comparing it. Needed because on some platforms (e.g. x86) a
33114         'long double' occupies less bytes than sizeof (long double).
33115
33116 2007-03-17  Bruno Haible  <bruno@clisp.org>
33117
33118         * tests/test-crc.c (main): Make printf statements 64-bit clean.
33119         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
33120         * tests/test-getaddrinfo.c (simple): Likewise.
33121         * tests/test-read-file.c (main): Likewise.
33122
33123 2007-03-17  Bruno Haible  <bruno@clisp.org>
33124
33125         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
33126
33127 2007-03-17  Bruno Haible  <bruno@clisp.org>
33128
33129         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
33130         unused variable.
33131
33132 2007-03-17  Bruno Haible  <bruno@clisp.org>
33133
33134         * tests/test-c-strcasecmp.c: Include c-strcase.h.
33135         * tests/test-c-strncasecmp.c: Likewise.
33136
33137 2007-03-17  Bruno Haible  <bruno@clisp.org>
33138
33139         * modules/stdlib (Depends-on): Add unistd.
33140         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
33141         Needed for MacOS X 10.3.
33142
33143 2007-03-17  Bruno Haible  <bruno@clisp.org>
33144
33145         * lib/unistr/u-strdup.h: Include <stdlib.h>.
33146
33147 2007-03-17  Bruno Haible  <bruno@clisp.org>
33148
33149         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
33150
33151 2007-03-17  Bruno Haible  <bruno@clisp.org>
33152
33153         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
33154         to reflect files copied from gnulib (with or without modifications).
33155         Suggested by Jim Meyering.
33156
33157 2007-03-17  Eric Blake  <ebb9@byu.net>
33158
33159         * NEWS: Document stdlib change from 2007-02-18.
33160
33161 2007-03-17  Jim Meyering  <jim@meyering.net>
33162
33163         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
33164         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
33165         someone uses a name containing shell meta-characters.
33166         Reported by Alfred M. Szmidt.
33167
33168         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
33169
33170 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
33171
33172         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
33173         and copy gettext configuration files only if configure.ac contains
33174         a use of AM_GNU_GETTEXT_VERSION.
33175
33176 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
33177
33178         * build-aux/bootstrap (gnulib_name): New variable.
33179         (gnulib_tool_options): Use it.
33180
33181 2007-03-13  Simon Josefsson  <simon@josefsson.org>
33182
33183         * tests/test-des.c: Use new namespace.
33184
33185 2007-03-15  Bruno Haible  <bruno@clisp.org>
33186
33187         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
33188         Reported by James Youngman <jay@gnu.org>.
33189
33190 2007-03-15  Bruno Haible  <bruno@clisp.org>
33191
33192         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
33193         declared prototype. Needed with cc on OSF/1 5.1.
33194
33195 2007-03-15  Bruno Haible  <bruno@clisp.org>
33196
33197         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
33198         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
33199         (struct gl_list_implementation): Add dispose_fn argument to the
33200         'create_empty', 'create' methods.
33201         (struct gl_list_impl_base): Add field 'dispose_fn'.
33202         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
33203         argument.
33204         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
33205         dispose_fn argument.
33206         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
33207         dispose_fn on the dropped values.
33208         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
33209         dispose_fn argument.
33210         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
33211         dropped values.
33212         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
33213         (gl_tree_remove_node): Call dispose_fn on the dropped value.
33214         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
33215         (gl_tree_remove_node): Call dispose_fn on the dropped value.
33216         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
33217         argument.
33218         (gl_tree_list_free): Call dispose_fn on the dropped values.
33219         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
33220         the dropped values.
33221         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
33222         Add dispose_fn argument.
33223         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
33224         Call dispose_fn on the dropped values.
33225         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
33226         Add dispose_fn argument.
33227         (gl_sublist_create): Initialize the 'dispose_fn' field.
33228         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
33229         * tests/test-array_list.c (main): Update.
33230         * tests/test-carray_list.c (main): Update.
33231         * tests/test-avltree_list.c (main): Update.
33232         * tests/test-rbtree_list.c (main): Update.
33233         * tests/test-avltreehash_list.c (main): Update.
33234         * tests/test-rbtreehash_list.c (main): Update.
33235         * tests/test-linked_list.c (main): Update.
33236         * tests/test-linkedhash_list.c (main): Update.
33237         * tests/test-array_oset.c (main): Update.
33238
33239 2007-03-15  Bruno Haible  <bruno@clisp.org>
33240
33241         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
33242         (gl_oset_create_empty): Add dispose_fn argument.
33243         (struct gl_oset_implementation): Add dispose_fn argument to
33244         'create_empty' method.
33245         (struct gl_oset_impl_base): Add dispose_fn field.
33246         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
33247         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
33248         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
33249         values.
33250         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
33251         (gl_tree_oset_free): Call dispose_fn on the dropped values.
33252         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
33253         dropped value.
33254         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
33255         dropped value.
33256         * tests/test-array_oset.c (main): Update.
33257         * tests/test-avltree_oset.c (main): Update.
33258         * tests/test-rbtree_oset.c (main): Update.
33259         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
33260
33261 2007-03-13  Bruno Haible  <bruno@clisp.org>
33262
33263         * tests/test-stdbool.c (i): Update after last patch.
33264
33265 2007-03-12  Bruno Haible  <bruno@clisp.org>
33266
33267         * lib/quotearg.c: Include <wctype.h> early, before the definition of
33268         the iswprint macro. Needed on Solaris 2.5.1.
33269
33270 2007-03-12  Bruno Haible  <bruno@clisp.org>
33271
33272         * tests/test-printf-frexp.c (main): Declare x as volatile.
33273
33274 2007-03-12  Simon Josefsson  <simon@josefsson.org>
33275
33276         * doc/gnulib.texi (Build robot for gnulib): New section.
33277
33278 2007-03-12  Jim Meyering  <jim@meyering.net>
33279
33280         * build-aux/bootstrap: New file.
33281         * build-aux/bootstrap.conf: New file, from coreutils.
33282
33283 2007-03-11  Bruno Haible  <bruno@clisp.org>
33284
33285         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
33286
33287 2007-03-12  Simon Josefsson  <simon@josefsson.org>
33288
33289         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
33290         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
33291         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
33292
33293 2007-03-11  Bruno Haible  <bruno@clisp.org>
33294
33295         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
33296         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
33297
33298 2007-03-11  Bruno Haible  <bruno@clisp.org>
33299
33300         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
33301         formula. Needed for SunPRO C 5.0.
33302
33303 2007-03-11  Bruno Haible  <bruno@clisp.org>
33304
33305         * modules/long-options (Depends-on): Add getopt.
33306
33307 2007-03-11  Bruno Haible  <bruno@clisp.org>
33308
33309         * modules/modechange (Depends-on): Add stdbool.
33310
33311 2007-03-11  Bruno Haible  <bruno@clisp.org>
33312
33313         * modules/i-ring (Depends-on): Add stdbool.
33314
33315 2007-03-11  Bruno Haible  <bruno@clisp.org>
33316
33317         * modules/gc-des (Depends-on): Add stdbool.
33318
33319 2007-03-11  Bruno Haible  <bruno@clisp.org>
33320
33321         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
33322
33323 2007-03-11  Bruno Haible  <bruno@clisp.org>
33324
33325         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
33326
33327 2007-03-11  Bruno Haible  <bruno@clisp.org>
33328
33329         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
33330
33331 2007-03-11  Bruno Haible  <bruno@clisp.org>
33332
33333         * lib/vasnprintf.c (sprintf): Undefine.
33334
33335 2007-03-11  Bruno Haible  <bruno@clisp.org>
33336
33337         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
33338         initializers in SunPRO C and Compaq C compilers.
33339
33340 2007-03-11  Bruno Haible  <bruno@clisp.org>
33341
33342         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
33343         decrementing code ANSI C compliant.
33344
33345 2007-03-11  Bruno Haible  <bruno@clisp.org>
33346
33347         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
33348         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
33349
33350 2007-03-11  Bruno Haible  <bruno@clisp.org>
33351
33352         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
33353         <stdbool.h> substitute doesn't pass.
33354
33355 2007-03-11  Bruno Haible  <bruno@clisp.org>
33356
33357         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
33358
33359 2007-03-11  Bruno Haible  <bruno@clisp.org>
33360
33361         * gnulib-tool (func_create_megatestdir): Create also an autobuild
33362         script, for submission to autobuild.josefsson.org.
33363
33364 2007-03-10  Bruno Haible  <bruno@clisp.org>
33365
33366         * modules/canonicalize-lgpl-tests: New file.
33367         * tests/test-canonicalize-lgpl.sh: New file.
33368         * tests/test-canonicalize-lgpl.c: New file.
33369
33370         * modules/c-strcase-tests: New file.
33371         * tests/test-c-strcase.sh: New file.
33372         * tests/test-c-strcasecmp.c: New file.
33373         * tests/test-c-strncasecmp.c: New file.
33374
33375         * modules/atexit-tests: New file.
33376         * tests/test-atexit.sh: New file.
33377         * tests/test-atexit.c: New file.
33378
33379 2007-03-10  Bruno Haible  <bruno@clisp.org>
33380
33381         * tests/test-binary-io.sh: Use temporary filenames that are not so
33382         likely to clash with those of other tests (in a parallel make).
33383         * tests/test-binary-io.c: Likewise.
33384
33385 2007-03-10  Bruno Haible  <bruno@clisp.org>
33386
33387         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
33388         fallback; use #error instead.
33389         Suggested by Simon Josefsson.
33390
33391 2007-03-10  Bruno Haible  <bruno@clisp.org>
33392
33393         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
33394         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
33395         first and the last.
33396
33397 2007-03-10  Bruno Haible  <bruno@clisp.org>
33398
33399         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
33400
33401 2007-03-10  Bruno Haible  <bruno@clisp.org>
33402
33403         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
33404         "make distcheck".
33405         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
33406         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
33407         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
33408
33409 2007-03-10  Bruno Haible  <bruno@clisp.org>
33410
33411         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
33412         variable.
33413         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
33414         variable.
33415
33416 2007-03-09  Eric Blake  <ebb9@byu.net>
33417         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
33418
33419         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
33420         types are not being provided by gnulib.
33421         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
33422         types are supported.
33423
33424 2007-03-10  Bruno Haible  <bruno@clisp.org>
33425
33426         * lib/stdio_.h (__attribute__): New macro.
33427         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
33428         vsprintf): Specify __attribute__ __format__ for GCC.
33429         Suggested by Eric Blake.
33430
33431 2007-03-09  Bruno Haible  <bruno@clisp.org>
33432
33433         * modules/printf-posix-tests: New file.
33434         * tests/test-printf-posix.sh: New file.
33435         * tests/test-printf-posix.c: New file.
33436
33437         * modules/printf-posix: New file.
33438         * lib/printf.c: New file.
33439         * m4/printf-posix-rpl.m4: New file.
33440         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
33441         REPLACE_PRINTF.
33442         * lib/stdio_.h (printf): New declaration.
33443         (format, __format__, ____printf____, ____scanf____, ____strftime____,
33444         ____strfmon____): New macros.
33445         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
33446         REPLACE_PRINTF.
33447
33448 2007-03-09  Bruno Haible  <bruno@clisp.org>
33449
33450         * tests/test-vasnprintf-posix2.sh: New file.
33451         * tests/test-vasnprintf-posix2.c: New file.
33452         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
33453         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
33454         (Makefile.am): Activate test-vasnprintf-posix2.sh.
33455
33456         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
33457         a locale dependent decimal point, rather than always '.'.
33458
33459 2007-03-09  Eric Blake  <ebb9@byu.net>
33460
33461         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
33462         spite of platforms like Tandem/NSK that define it to -1.
33463
33464 2007-03-08  Bruno Haible  <bruno@clisp.org>
33465
33466         * modules/vprintf-posix-tests: New file.
33467         * tests/test-vprintf-posix.sh: New file.
33468         * tests/test-vprintf-posix.c: New file.
33469         * tests/test-printf-posix.h: New file.
33470
33471         * modules/vprintf-posix: New file.
33472         * lib/vprintf.c: New file.
33473         * m4/vprintf-posix.m4: New file.
33474         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
33475         REPLACE_VPRINTF.
33476         * lib/stdio_.h (vprintf): New declaration.
33477         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
33478         REPLACE_VPRINTF.
33479
33480 2007-03-08  Bruno Haible  <bruno@clisp.org>
33481
33482         * modules/fprintf-posix-tests: New file.
33483         * tests/test-fprintf-posix.sh: New file.
33484         * tests/test-fprintf-posix.c: New file.
33485
33486         * modules/fprintf-posix: New file.
33487         * lib/fprintf.c: New file.
33488         * m4/fprintf-posix.m4: New file.
33489         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
33490         REPLACE_FPRINTF.
33491         * lib/stdio_.h (fprintf): New declaration.
33492         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
33493         REPLACE_FPRINTF.
33494
33495 2007-03-08  Bruno Haible  <bruno@clisp.org>
33496
33497         * modules/vfprintf-posix-tests: New file.
33498         * tests/test-vfprintf-posix.sh: New file.
33499         * tests/test-vfprintf-posix.c: New file.
33500         * tests/test-fprintf-posix.h: New file.
33501         * tests/test-fprintf-posix.out: New file.
33502
33503         * modules/vfprintf-posix: New file.
33504         * lib/vfprintf.c: New file.
33505         * m4/vfprintf-posix.m4: New file.
33506         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
33507         REPLACE_VFPRINTF.
33508         * lib/stdio_.h (vfprintf): New declaration.
33509         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
33510         REPLACE_VFPRINTF.
33511
33512 2007-03-08  Bruno Haible  <bruno@clisp.org>
33513
33514         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
33515
33516 2007-03-08  Bruno Haible  <bruno@clisp.org>
33517
33518         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
33519         instead of 'expr' invocations.
33520         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
33521         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
33522         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
33523         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
33524         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
33525         Suggested by Paul Eggert.
33526
33527 2007-03-08  Bruno Haible  <bruno@clisp.org>
33528
33529         * modules/fseterr-tests: New file.
33530         * tests/test-fseterr.c: New file.
33531
33532         * modules/fseterr: New file.
33533         * lib/fseterr.h: New file.
33534         * lib/fseterr.c: New file.
33535
33536 2007-03-08  Bruno Haible  <bruno@clisp.org>
33537
33538         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
33539         * lib/getopt_.h: Likewise.
33540         * lib/mbswidth.h: Likewise.
33541         * lib/setenv.h: Likewise.
33542         * lib/vasnprintf.h: Likewise.
33543         * lib/vasprintf.h: Likewise.
33544         * lib/verror.h: Likewise.
33545         * lib/xsetenv.h: Likewise.
33546         * lib/xvasprintf.h: Likewise.
33547
33548 2007-03-08  Jim Meyering  <jim@meyering.net>
33549
33550         * users.txt: Add parted.
33551
33552         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
33553
33554 2007-03-07  Bruno Haible  <bruno@clisp.org>
33555
33556         * m4/printf.m4: Make the shell script snippets copy&pastable.
33557
33558 2007-03-02  Bruno Haible  <bruno@clisp.org>
33559
33560         * lib/netinet_in_.h: New file.
33561         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
33562         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
33563         * modules/netinet_in (Files): Add lib/netinet_in_.h.
33564         (Depends-on): Add absolute-header.
33565         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
33566         into netinet/in.h.
33567
33568 2007-03-03  Bruno Haible  <bruno@clisp.org>
33569
33570         * lib/sys_select_.h: New file.
33571         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
33572         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
33573         * modules/sys_select (Files): Add lib/sys_select_.h.
33574         (Depends-on): Add absolute-header.
33575         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
33576         into sys/select.h.
33577
33578 2007-03-02  Bruno Haible  <bruno@clisp.org>
33579
33580         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
33581         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
33582         values.
33583         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
33584         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
33585         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
33586         * modules/sys_socket (Depends-on): Add absolute-header.
33587         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
33588         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
33589         (Include): Remove requirement of inclusion of <sys/types.h>.
33590
33591 2007-03-02  Bruno Haible  <bruno@clisp.org>
33592
33593         * lib/byteswap_.h (bswap_32): Fix formula.
33594
33595 2007-03-06  Bruno Haible  <bruno@clisp.org>
33596
33597         * modules/sprintf-posix-tests: New file.
33598         * tests/test-sprintf-posix.c: New file.
33599
33600         * modules/sprintf-posix: New file.
33601         * lib/sprintf.c: New file.
33602         * m4/sprintf-posix.m4: New file.
33603         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
33604         REPLACE_SPRINTF.
33605         * lib/stdio_.h (sprintf): New declaration.
33606         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
33607         REPLACE_SPRINTF.
33608
33609 2007-03-06  Bruno Haible  <bruno@clisp.org>
33610
33611         * modules/vsprintf-posix-tests: New file.
33612         * tests/test-vsprintf-posix.c: New file.
33613         * tests/test-sprintf-posix.h: New file.
33614
33615         * modules/vsprintf-posix: New file.
33616         * lib/vsprintf.c: New file.
33617         * m4/vsprintf-posix.m4: New file.
33618         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
33619         REPLACE_VSPRINTF.
33620         * lib/stdio_.h (vsprintf): New declaration.
33621         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
33622         REPLACE_VSPRINTF.
33623
33624 2007-03-06  Bruno Haible  <bruno@clisp.org>
33625
33626         * modules/vsnprintf (Depend-on): Remove minmax.
33627
33628 2007-03-06  Bruno Haible  <bruno@clisp.org>
33629
33630         * modules/snprintf-posix-tests: New file.
33631         * tests/test-snprintf-posix.c: New file.
33632
33633         * modules/snprintf-posix: New file.
33634         * m4/snprintf-posix.m4: New file.
33635         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
33636         gl_FUNC_SNPRINTF.
33637         (gl_FUNC_SNPRINTF): Invoke it.
33638         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
33639         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
33640         is set.
33641         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
33642
33643 2007-03-06  Bruno Haible  <bruno@clisp.org>
33644
33645         * modules/vsnprintf-posix-tests: New file.
33646         * tests/test-vsnprintf-posix.c: New file.
33647         * tests/test-snprintf-posix.h: New file.
33648
33649         * modules/vsnprintf-posix: New file.
33650         * m4/vsnprintf-posix.m4: New file.
33651         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
33652         gl_FUNC_VSNPRINTF.
33653         (gl_FUNC_VSNPRINTF): Invoke it.
33654         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
33655         * lib/stdio_.h (vsnprintf): Define as a replacement if
33656         REPLACE_VSNPRINTF is set.
33657         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
33658
33659 2007-03-06  Bruno Haible  <bruno@clisp.org>
33660
33661         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
33662         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
33663
33664 2007-03-06  Bruno Haible  <bruno@clisp.org>
33665
33666         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
33667         (asinl): Declare also if HAVE_DECL_ASINL is set.
33668         (atanl): Declare also if HAVE_DECL_ATANL is set.
33669         (ceill): Declare also if HAVE_DECL_CEILL is set.
33670         (cosl): Declare also if HAVE_DECL_COSL is set.
33671         (expl): Declare also if HAVE_DECL_EXPL is set.
33672         (floorl): Declare also if HAVE_DECL_FLOORL is set.
33673         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
33674         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
33675         (logl): Declare also if HAVE_DECL_LOGL is set.
33676         (sinl): Declare also if HAVE_DECL_SINL is set.
33677         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
33678         (tanl): Declare also if HAVE_DECL_TANL is set.
33679         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
33680         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
33681         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
33682         declaration of frexpl, ldexpl.
33683         * modules/printf-frexpl (Depends-on): Add math.
33684         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
33685
33686 2007-03-05  Bruno Haible  <bruno@clisp.org>
33687
33688         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
33689         frexpl and ldexpl are declared.
33690         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
33691
33692 2007-03-05  Bruno Haible  <bruno@clisp.org>
33693
33694         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
33695         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
33696
33697 2007-03-05  Bruno Haible  <bruno@clisp.org>
33698
33699         * lib/stdio_.h: Include <stddef.h>.
33700
33701 2007-03-05  Bruno Haible  <bruno@clisp.org>
33702
33703         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
33704
33705 2007-03-05  Bruno Haible  <bruno@clisp.org>
33706
33707         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
33708         NetBSD 4, from Ralf Wildenhues.
33709
33710 2007-03-04  Bruno Haible  <bruno@clisp.org>
33711
33712         * lib/vasprintf.h: Update #if logic for the case when the functions
33713         exist but are overridden.
33714
33715 2007-03-04  Bruno Haible  <bruno@clisp.org>
33716
33717         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
33718         implementations: glibc-2.4 and MacOS X 10.3.
33719         * tests/test-vasnprintf-posix.c (test_function): Test also the case
33720         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
33721         * tests/test-vasprintf-posix.c (test_function): Likewise.
33722
33723 2007-03-04  Bruno Haible  <bruno@clisp.org>
33724
33725         * modules/vasprintf-posix-tests: New file.
33726         * tests/test-vasprintf-posix.c: New file.
33727
33728         * modules/vasprintf-posix: New file.
33729         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
33730         defined.
33731         * m4/vasprintf-posix.m4: New file.
33732         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
33733         gl_FUNC_VASPRINTF.
33734         (gl_FUNC_VASPRINTF): Invoke it.
33735         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
33736         here.
33737         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
33738
33739 2007-03-04  Bruno Haible  <bruno@clisp.org>
33740
33741         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
33742         REPLACE_GETTIMEOFDAY.
33743         * modules/sys_time (Makefile.am): Likewise.
33744         * m4/sys_time_h.m4: Likewise.
33745         * m4/gettimeofday.m4: Likewise.
33746
33747 2007-03-04  Bruno Haible  <bruno@clisp.org>
33748
33749         * modules/vasnprintf-posix-tests: New file.
33750         * tests/test-vasnprintf-posix.c: New file.
33751
33752         * modules/vasnprintf-posix: New file.
33753         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
33754         printf-frexpl.h.
33755         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
33756         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
33757         REPLACE_VASNPRINTF is defined.
33758         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
33759         gl_FUNC_VASNPRINTF.
33760         (gl_FUNC_VASNPRINTF): Invoke it.
33761         * m4/vasnprintf-posix.m4: New file.
33762         * m4/printf.m4: New file.
33763
33764 2007-03-04  Bruno Haible  <bruno@clisp.org>
33765
33766         Compile progreloc.c only if --enable-relocatable is specified.
33767         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
33768         if --enable-relocatable was specified.
33769         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
33770         lib_SOURCES.
33771
33772 2007-03-04  Jim Meyering  <jim@meyering.net>
33773
33774         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
33775         Use it consistently, rather than enumerating errno constants.
33776
33777 2007-03-04  Bruno Haible  <bruno@clisp.org>
33778
33779         * modules/xvasprintf-tests: New file.
33780         * tests/test-xvasprintf.c: New file.
33781
33782         * modules/vasprintf-tests: New file.
33783         * tests/test-vasprintf.c: New file.
33784
33785         * modules/vasnprintf-tests: New file.
33786         * tests/test-vasnprintf.c: New file.
33787
33788         * modules/vsnprintf-tests: New file.
33789         * tests/test-vsnprintf.c: New file.
33790
33791         * modules/snprintf-tests: New file.
33792         * tests/test-snprintf.c: New file.
33793
33794 2007-03-04  Bruno Haible  <bruno@clisp.org>
33795
33796         Compile relocatable.c only if --enable-relocatable is specified.
33797         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
33798         gl_RELOCATABLE_LIBRARY.
33799         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
33800         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
33801         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
33802         gl_RELOCATABLE_LIBRARY.
33803         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
33804         (Makefile.am): Remove lib_SOURCES.
33805         * modules/relocatable-lib-lgpl (configure.ac): Invoke
33806         gl_RELOCATABLE_LIBRARY.
33807         (Makefile.am): Remove lib_SOURCES.
33808         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
33809         always.
33810         * modules/relocatable-prog-wrapper (configure.ac): Invoke
33811         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
33812
33813 2007-03-04  Bruno Haible  <bruno@clisp.org>
33814
33815         * modules/argmatch-tests: New file.
33816         * tests/test-argmatch.c: New file.
33817
33818         * tests/test-allocsa.c (main): Halve the number of loop runs.
33819
33820         * modules/alloca-opt-tests: New file.
33821         * tests/test-alloca-opt.c: New file.
33822
33823 2007-03-04  Jim Meyering  <jim@meyering.net>
33824
33825         Work around difference between Linux ACLs and Solaris 10 ZFS.
33826         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
33827         for EINVAL.
33828
33829 2007-03-03  Bruno Haible  <bruno@clisp.org>
33830
33831         * modules/relocatable-prog (Depends-on): Add back progreloc's
33832         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
33833
33834 2007-03-03  Bruno Haible  <bruno@clisp.org>
33835
33836         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
33837         * modules/relocatable-lib: New file.
33838
33839 2007-03-03  Bruno Haible  <bruno@clisp.org>
33840
33841         * modules/relocatable-prog: Renamed from modules/relocatable.
33842         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
33843
33844 2007-03-03  Bruno Haible  <bruno@clisp.org>
33845
33846         * modules/relocatable-script (Files): Add doc/relocatable.texi,
33847         m4/relocatable-lib.m4.
33848         (Depends-on): Remove 'relocatable'.
33849         (configure.ac): Add gl_RELOCATABLE_NOP.
33850
33851 2007-03-03  Bruno Haible  <bruno@clisp.org>
33852
33853         * modules/relocatable-prog-wrapper: New file.
33854         * modules/relocatable (Depends-on): Add it. Remove all other
33855         dependencies except progname.
33856         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
33857
33858         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
33859         (gl_FUNC_STRERROR): Nop.
33860         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
33861
33862         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
33863         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
33864
33865         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
33866         (gl_FUNC_READLINK): Update.
33867
33868         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
33869
33870 2007-03-03  Bruno Haible  <bruno@clisp.org>
33871
33872         * lib/xreadlink.c: Include <unistd.h> unconditionally.
33873         * modules/xreadlink (Depends-on): Add unistd.
33874         * modules/xreadlink-with-size (Depends-on): Likewise.
33875
33876 2007-03-03  Bruno Haible  <bruno@clisp.org>
33877
33878         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
33879         extracted from gt_FUNC_SETENV.
33880         (gt_FUNC_SETENV): Remove macro.
33881         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
33882         remove gt_FUNC_SETENV.
33883
33884 2007-03-03  Bruno Haible  <bruno@clisp.org>
33885
33886         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
33887         ENABLE_RELOCATABLE here.
33888         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
33889
33890 2007-03-03  Bruno Haible  <bruno@clisp.org>
33891
33892         * modules/rbtreehash-list-tests (Depends-on): Add progname.
33893         * tests/test-rbtreehash_list.c: Include progname.h.
33894         (main): Call set_program_name.
33895
33896         * modules/rbtree-oset-tests (Depends-on): Add progname.
33897         * tests/test-rbtree_oset.c: Include progname.h.
33898         (main): Call set_program_name.
33899
33900         * modules/rbtree-list-tests (Depends-on): Add progname.
33901         * tests/test-rbtree_list.c: Include progname.h.
33902         (main): Call set_program_name.
33903
33904         * modules/linked-list-tests (Depends-on): Add progname.
33905         * tests/test-linked_list.c: Include progname.h.
33906         (main): Call set_program_name.
33907
33908 2007-03-03  Bruno Haible  <bruno@clisp.org>
33909
33910         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
33911         All uses of __restrict changed to _Restrict_.
33912         * lib/glob_.h (__restrict): Remove macro.
33913
33914 2007-03-02  Bruno Haible  <bruno@clisp.org>
33915
33916         * modules/gettext (configure.ac): Require gettext infrastructure
33917         from version 0.16.1.
33918
33919 2007-03-02  Bruno Haible  <bruno@clisp.org>
33920
33921         * modules/linkedhash-list-tests (Depends-on): Add progname.
33922         * tests/test-linkedhash_list.c: Include progname.h.
33923         (main): Call set_program_name.
33924
33925         * modules/carray-list-tests (Depends-on): Add progname.
33926         * tests/test-carray_list.c: Include progname.h.
33927         (main): Call set_program_name.
33928
33929         * modules/avltreehash-list-tests (Depends-on): Add progname.
33930         * tests/test-avltreehash_list.c: Include progname.h.
33931         (main): Call set_program_name.
33932
33933         * modules/avltree-oset-tests (Depends-on): Add progname.
33934         * tests/test-avltree_oset.c: Include progname.h.
33935         (main): Call set_program_name.
33936
33937         * modules/avltree-list-tests (Depends-on): Add progname.
33938         * tests/test-avltree_list.c: Include progname.h.
33939         (main): Call set_program_name.
33940
33941         * modules/array-oset-tests (Depends-on): Add progname.
33942         * tests/test-array_oset.c: Include progname.h.
33943         (main): Call set_program_name.
33944
33945         * modules/array-list-tests (Depends-on): Add progname.
33946         * tests/test-array_list.c: Include progname.h.
33947         (main): Call set_program_name.
33948
33949         * modules/argp-tests (Depends-on): Add progname.
33950         * tests/test-argp.c: Include argp.h first. Include progname.h.
33951         (main): Call set_program_name.
33952
33953 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
33954
33955         * doc/gnulib-tool.texi (Initial import): Reword description of
33956         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
33957         limited effect even if defined after the first system include.
33958
33959 2007-03-01  Bruno Haible  <bruno@clisp.org>
33960
33961         * build-aux/config.libpath: Update to libtool-1.5.22.
33962         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
33963
33964 2007-03-01  Bruno Haible  <bruno@clisp.org>
33965
33966         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
33967         foo_CFLAGS.
33968         Reported by Ralf Wildenhues.
33969
33970 2007-03-01  Bruno Haible  <bruno@clisp.org>
33971
33972         * build-aux/install-reloc: Remove object files left over by some
33973         compilers.
33974         Reported by Ralf Wildenhues.
33975
33976 2007-03-01  Bruno Haible  <bruno@clisp.org>
33977
33978         * build-aux/install-reloc: Break long lines.
33979
33980 2007-03-01  Bruno Haible  <bruno@clisp.org>
33981
33982         * doc/relocatable.texi: Document that it may not work on OpenBSD.
33983         Reported by Ralf Wildenhues.
33984
33985 2007-03-01  Bruno Haible  <bruno@clisp.org>
33986
33987         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
33988         include ordering constraints.
33989
33990 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
33991
33992         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
33993         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
33994         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
33995         as another example.
33996         * lib/time_.h: Fix misspelling.
33997         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
33998         Require gl_HEADER_TIME_H_DEFAULTS.
33999         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
34000         * m4/time_r.m4 (gl_TIME_R): Likewise.
34001         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
34002
34003 2007-03-01  Bruno Haible  <bruno@clisp.org>
34004
34005         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
34006         * m4/utimens.m4 (gl_UTIMENS): Likewise.
34007
34008 2007-03-01  Jim Meyering  <jim@meyering.net>
34009
34010         * modules/xreadlink (Maintainer): Add my name.
34011         * modules/xreadlink-with-size (Depends-on): Alphabetize.
34012
34013 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
34014             Bruno Haible  <bruno@clisp.org>
34015
34016         * build-aux/install-reloc: Compile also c-ctype.c.
34017         * build-aux/relocatable.sh.in: New file.
34018         * doc/relocatable.texi: New file.
34019         * doc/relocatable-maint.texi: New file.
34020         * doc/gnulib.texi: Include relocatable-maint.texi.
34021         * lib/progreloc.c: Include unistd.h unconditionally.
34022         * lib/relocwrapper.c: Include unistd.h unconditionally.
34023         Include c-ctype.h.
34024         (add_dotbin): Use c_tolower.
34025         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
34026         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
34027         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
34028         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
34029         to m4/relocatable-lib.m4.
34030         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
34031         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
34032         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
34033         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
34034         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
34035         * modules/relocatable: New file.
34036         * modules/relocatable-lib: New file.
34037         * modules/relocatable-script: New file.
34038
34039 2007-02-28  Bruno Haible  <bruno@clisp.org>
34040
34041         Import --enable-relocatable infrastructure.
34042         * build-aux/config.libpath: New file, from GNU gettext.
34043         * build-aux/install-reloc: New file, from GNU gettext.
34044         * build-aux/reloc-ldflags: New file, from GNU gettext.
34045         * lib/relocatable.h: New file, from GNU gettext.
34046         * lib/relocatable.c: New file, from GNU gettext.
34047         * lib/relocwrapper.c: New file, from GNU gettext.
34048         * m4/relocatable.m4: New file, from GNU gettext.
34049
34050 2007-02-28  Bruno Haible  <bruno@clisp.org>
34051
34052         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
34053
34054         * modules/xreadlink: New file, from GNU gettext with modifications.
34055         * lib/xreadlink.c: New file, from GNU gettext.
34056         * lib/xreadlink.h: Add comments.
34057         (xreadlink): New declaration.
34058
34059         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
34060         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
34061         lib/xreadlink-with-size.c.
34062         (configure.ac): Remove gl_XREADLINK invocation.
34063         (Makefile.am): Augment lib_SOURCES.
34064         * m4/xreadlink.m4: Remove file.
34065         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
34066         (xreadlink_with_size): Renamed from xreadink.
34067         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
34068         * modules/canonicalize (Depends-on): Replace xreadlink with
34069         xreadlink-with-size.
34070         * lib/canonicalize.c (canonicalize_filename_mode): Update.
34071
34072 2007-02-25  Jim Meyering  <jim@meyering.net>
34073
34074         * build-aux/announce-gen: When complaining about excess arguments,
34075         list them.
34076
34077 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
34078
34079         * README: Document signed integer overflow situation more
34080         accurately.
34081
34082 2007-02-25  Bruno Haible  <bruno@clisp.org>
34083
34084         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
34085         'a' or 'A' conversion.
34086
34087 2007-02-25  Bruno Haible  <bruno@clisp.org>
34088
34089         * modules/filename: Renamed from modules/pathname.
34090         (Files): Replace lib/pathname.h with lib/filename.h. Replace
34091         lib/concatpath.c with lib/concat-filename.c.
34092         (Makefile.am): Update.
34093         (Include): Replace pathname.h with filename.h.
34094         * lib/filename.h: Renamed from lib/pathname.h.
34095         (concatenated_filename): Renamed from concatenated_pathname.
34096         * lib/concat-filename.c: Renamed from lib/concatpath.c.
34097         (concatenated_filename): Renamed from concatenated_pathname.
34098         * lib/findprog.c: Include filename.h instead of pathname.h.
34099         (find_in_path): Update.
34100         * lib/javacomp.c: Include filename.h instead of pathname.h.
34101         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
34102         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
34103         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
34104         is_oldgcj_14_13_usable, is_javac_usable): Update.
34105         * lib/javaexec.c: Include filename.h instead of pathname.h.
34106         (execute_java_class): Update.
34107         * modules/findprog: Update.
34108         * modules/javacomp: Update.
34109         * modules/javaexec: Update.
34110         * MODULES.html.sh (File system functions): Add 'filename', remove
34111         'pathname'.
34112
34113 2007-02-25  Bruno Haible  <bruno@clisp.org>
34114
34115         * modules/printf-frexpl-tests: New file.
34116         * tests/test-printf-frexpl.c: New file.
34117
34118         * modules/printf-frexpl: New file.
34119         * lib/printf-frexpl.h: New file.
34120         * lib/printf-frexpl.c: New file.
34121         * m4/printf-frexpl.m4: New file.
34122
34123 2007-02-25  Bruno Haible  <bruno@clisp.org>
34124
34125         * modules/printf-frexp-tests: New file.
34126         * tests/test-printf-frexp.c: New file.
34127
34128         * modules/printf-frexp: New file.
34129         * lib/printf-frexp.h: New file.
34130         * lib/printf-frexp.c: New file.
34131         * m4/printf-frexp.m4: New file.
34132
34133 2007-02-25  Bruno Haible  <bruno@clisp.org>
34134
34135         Assume automake >= 1.10 for the tests.
34136         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
34137         * modules/arctwo-tests: Likewise.
34138         * modules/argp-tests: Likewise.
34139         * modules/avltree-list-tests: Likewise.
34140         * modules/avltree-oset-tests: Likewise.
34141         * modules/avltreehash-list-tests: Likewise.
34142         * modules/carray-list-tests: Likewise.
34143         * modules/crc-tests: Likewise.
34144         * modules/des-tests: Likewise.
34145         * modules/gc-arcfour-tests: Likewise.
34146         * modules/gc-arctwo-tests: Likewise.
34147         * modules/gc-des-tests: Likewise.
34148         * modules/gc-hmac-md5-tests: Likewise.
34149         * modules/gc-hmac-sha1-tests: Likewise.
34150         * modules/gc-md2-tests: Likewise.
34151         * modules/gc-md4-tests: Likewise.
34152         * modules/gc-md5-tests: Likewise.
34153         * modules/gc-pbkdf2-sha1-tests: Likewise.
34154         * modules/gc-rijndael-tests: Likewise.
34155         * modules/gc-sha1-tests: Likewise.
34156         * modules/gc-tests: Likewise.
34157         * modules/getaddrinfo-tests: Likewise.
34158         * modules/hmac-md5-tests: Likewise.
34159         * modules/hmac-sha1-tests: Likewise.
34160         * modules/linked-list-tests: Likewise.
34161         * modules/linkedhash-list-tests: Likewise.
34162         * modules/lock-tests: Likewise.
34163         * modules/md2-tests: Likewise.
34164         * modules/md4-tests: Likewise.
34165         * modules/md5-tests: Likewise.
34166         * modules/rbtree-list-tests: Likewise.
34167         * modules/rbtree-oset-tests: Likewise.
34168         * modules/rbtreehash-list-tests: Likewise.
34169         * modules/read-file-tests: Likewise.
34170         * modules/rijndael-tests: Likewise.
34171         * modules/stdint-tests: Likewise.
34172         * modules/tls-tests: Likewise.
34173
34174 2007-02-24  Bruno Haible  <bruno@clisp.org>
34175
34176         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
34177         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
34178         function; instead check whether isnan with a double argument links.
34179         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
34180         function; instead check whether isnan with a 'long double' argument
34181         links.
34182         Reported by Eric Blake <ebb9@byu.net>.
34183
34184 2007-02-24  Bruno Haible  <bruno@clisp.org>
34185
34186         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
34187         defined.
34188         * lib/isnanl.c: Remove all code. Just include isnan.c.
34189         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
34190
34191 2007-02-25  Jim Meyering  <jim@meyering.net>
34192
34193         Avoid conflicting types for 'unsetenv' on FreeBSD.
34194         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
34195         conflicting with FreeBSD's (5.0 and 6.1) function declaration
34196         in stdlib.h.
34197
34198 2007-02-24  Bruno Haible  <bruno@clisp.org>
34199
34200         * modules/isnanl-nolibm-tests: New file.
34201         * tests/test-isnanl.c: New file.
34202
34203         * modules/isnanl-nolibm: New file.
34204         * lib/isnanl.h: New file.
34205         * lib/isnanl.c: New file.
34206         * m4/isnanl.m4: New file.
34207
34208 2007-02-24  Bruno Haible  <bruno@clisp.org>
34209
34210         * modules/isnan-nolibm-tests: New file.
34211         * tests/test-isnan.c: New file.
34212
34213         * modules/isnan-nolibm: New file.
34214         * lib/isnan.h: New file.
34215         * lib/isnan.c: New file.
34216         * m4/isnan.m4: New file.
34217
34218 2007-02-24  Bruno Haible  <bruno@clisp.org>
34219
34220         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
34221         assume that an exponent fits in 20 bits.
34222
34223 2007-02-24  Jim Meyering  <jim@meyering.net>
34224
34225         * m4/regex.m4: Update the description of the configure-time option,
34226         --without-included-regex, to state accurately what the defaults are,
34227         and perhaps to give people an idea why using this option is risky.
34228
34229 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
34230
34231         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
34232         loops on small arguments.  This attempts to avoid the problem
34233         Bruno Haible reported for AIX 4.3.2 in
34234         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
34235
34236 2007-02-23  Bruno Haible  <bruno@clisp.org>
34237
34238         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
34239         Needed for help2man.
34240
34241 2007-02-23  Karl Berry  <karl@gnu.org>
34242
34243         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
34244         exists, foo.h should be cvs-ignored, not committed.
34245
34246 2007-02-23  Eric Blake  <ebb9@byu.net>
34247
34248         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
34249         * lib/stat-time.h (includes): Likewise.
34250         * lib/utimecmp.c (includes): Likewise.
34251         * lib/utimens.h (includes): Likewise.
34252         * lib/getdate.y (includes): Also include "timespec.h" for use
34253         internal to the module.
34254         * modules/utimens (Depends-on): Revert yesterday's patch.
34255         * modules/nanosleep (Depends-on): Add missing dependency.
34256
34257 2007-02-22  Bruno Haible  <bruno@clisp.org>
34258
34259         * lib/glob.c: Don't include getlogin_r.h.
34260
34261 2007-02-22  Jim Meyering  <jim@meyering.net>
34262
34263         * modules/utimens (Depends-on): Add timespec, required for
34264         utimens.h's inclusion of timespec.h.
34265
34266 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
34267
34268         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
34269         long unreadable paths in GNU/Linux.  Problem reported by Andreas
34270         Schwab in
34271         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
34272         I'll try to think of a better way to fix the Solaris problem.
34273
34274         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
34275         like glibc; on Solaris 10, it fails with errno == EINVAL.
34276         POSIX says the behavior is unspecified if the first argument is NULL,
34277         so play it safe and never pass NULL to the system getcwd.
34278
34279 2007-02-21  Jim Meyering  <jim@meyering.net>
34280
34281         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
34282         of gettimeofday.  It would conflict with the one now always
34283         provided via sys_time_.h.  Reported by Matthew Woehlke, as
34284         an IRIX 6.5 build failure.
34285
34286 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
34287
34288         Minor fixups to port to Solaris 10 with Sun C 5.8.
34289         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
34290         * modules/getcwd (Depends-on): Add dirfd.
34291         * lib/putenv.c (putenv): #undef it.
34292         (rpl_putenv): New decl.
34293         (malloc, free): Include <stdlib.h> rather than prototyping separately.
34294
34295 2007-02-20  Bruno Haible  <bruno@clisp.org>
34296
34297         * modules/stdio-tests: New file.
34298         * tests/test-stdio.c: New file.
34299
34300         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
34301         (Depends-on): Add stdio.
34302         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
34303         (Include): Use <stdio.h> instead of vsnprintf.h.
34304         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
34305         HAVE_DECL_VSNPRINTF.
34306         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
34307
34308         * modules/snprintf (Files): Remove lib/snprintf.h.
34309         (Depends-on): Add stdio.
34310         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
34311         (Include): Use <stdio.h> instead of snprintf.h.
34312         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
34313         HAVE_DECL_SNPRINTF.
34314         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
34315         * lib/getaddrinfo.c: Likewise.
34316
34317         * modules/stdio: New file.
34318         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
34319         * lib/snprintf.h: Remove file.
34320         * lib/vsnprintf.h: Remove file.
34321         * lib/.cppi-disable: Remove snprintf.h.
34322         * m4/stdio_h.m4: New file.
34323         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
34324
34325 2007-02-20  Jim Meyering  <jim@meyering.net>
34326
34327         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
34328         used by e.g., mingw.  From Bruno Haible.
34329
34330 2007-02-19  Bruno Haible  <bruno@clisp.org>
34331
34332         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
34333         warnings.
34334         Reported by Ben Pfaff <blp@cs.stanford.edu>.
34335
34336 2007-02-19  Bruno Haible  <bruno@clisp.org>
34337
34338         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
34339         from mingw users.
34340
34341 2007-02-19  Bruno Haible  <bruno@clisp.org>
34342
34343         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
34344         warnings.
34345         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
34346
34347 2007-02-19  Jim Meyering  <jim@meyering.net>
34348
34349         Don't use FD after a successful "fdopendir (fd)".
34350         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
34351         Reset it by calling dirfd on the just-obtained DIR*.
34352
34353         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
34354         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
34355
34356 2007-02-18  Bruno Haible  <bruno@clisp.org>
34357
34358         * lib/readlink.c: Include <unistd.h>.
34359         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
34360         HAVE_READLINK.
34361         * modules/readlink (Depends-on): Add unistd.
34362         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34363         (Include): Add <unistd.h>.
34364
34365         * lib/getlogin_r.h: Remove file.
34366         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
34367         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
34368         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
34369         HAVE_DECL_GETLOGIN_R.
34370         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
34371         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34372         (Include): Use <unistd.h> instead of getlogin_r.h.
34373
34374         * lib/getcwd.h: Remove file.
34375         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
34376         * lib/xgetcwd.c: Likewise.
34377         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
34378         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
34379         * modules/getcwd (Files): Remove lib/getcwd.h.
34380         (Depends-on): Add unistd.
34381         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34382         (Include): Use <unistd.h> instad of getcwd.h.
34383
34384         * lib/ftruncate.c: Include <unistd.h> first.
34385         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
34386         Set HAVE_FTRUNCATE.
34387         * modules/ftruncate (Depends-on): Add unistd.
34388         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34389
34390         * lib/fchdir.c: Include <unistd.h> first.
34391         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
34392         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
34393         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
34394         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34395         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
34396
34397         * lib/dup2.c: Include <unistd.h> first.
34398         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
34399         HAVE_DUP2.
34400         * modules/dup2 (Depends-on): Add unistd.
34401         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34402
34403         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
34404         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
34405         REPLACE_CHOWN. Don't define chown as a macro here.
34406         * modules/chown (Depends-on): Add unistd.
34407         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34408
34409         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
34410         Add definition for GL_LINK_WARNING.
34411         (chown, dup2): New declarations.
34412         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
34413         link warning.
34414         (ftruncate): New declaration.
34415         (getcwd): New declaration, taken from old getcwd.h.
34416         (getlogin_r): New declaration, taken from old getlogin_r.h.
34417         (readlink): New declaration.
34418         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
34419         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
34420         (gl_PREREQ_UNISTD): Remove macro.
34421         (gl_UNISTD_MODULE_INDICATOR): New macro.
34422         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
34423         many new variables. Don't set UNISTD_H.
34424         * modules/unistd (Description): Change.
34425         (Depends-on): Add link-warning.
34426         (configure.ac): Update.
34427         (Makefile.am): Create unistd.h always. Substitute many new variables
34428         into it.
34429
34430 2007-02-18  Bruno Haible  <bruno@clisp.org>
34431
34432         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
34433         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
34434         HAVE_GETSUBOPT.
34435         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
34436         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
34437         * lib/getsubopt.h: Remove file.
34438         * modules/getsubopt (Files): Remove lib/getsubopt.h.
34439         (Depends-on): Add stdlib.
34440         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
34441         (Includes): Use <stdlib.h> instead of getsubopt.h.
34442         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
34443         Set HAVE_GETSUBOPT.
34444         * lib/getsubopt.c: Don't include getsubopt.h.
34445
34446 2007-02-18  Bruno Haible  <bruno@clisp.org>
34447
34448         * modules/fchdir (Depends-on): Add dup2.
34449
34450 2007-02-18  Bruno Haible  <bruno@clisp.org>
34451
34452         * lib/stdlib_.h: Handle glibc's special invocation convention
34453         specially.
34454
34455 2007-02-18  Bruno Haible  <bruno@clisp.org>
34456
34457         * modules/stdlib-tests: New file.
34458         * tests/test-stdlib.c: New file.
34459
34460         * modules/mkstemp (Files): Remove lib/mkstemp.h.
34461         (Depends-on): Add stdlib.
34462         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
34463         (Includes): Use <stdlib.h> instead of mkstemp.h.
34464         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
34465         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
34466         * lib/mkstemp.c: Don't include mkstemp.h.
34467         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
34468         * lib/stdlib--.h: Don't include mkstemp.h.
34469
34470         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
34471         (Depends-on): Add stdlib.
34472         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
34473         (Includes): Use <stdlib.h> instead of mkdtemp.h.
34474         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
34475         HAVE_MKDTEMP.
34476         * lib/mkdtemp.c: Don't include mkdtemp.h.
34477         * lib/clean-temp.c: Don't include mkdtemp.h.
34478
34479         * modules/exit (Files): Remove lib/exit.h.
34480         (Depends-on): Add stdlib.
34481         (Makefile.am): Remove lib_SOURCES.
34482         (Include): Use <stdlib.h> instead of exit.h.
34483         * lib/argmatch.c: Don't include exit.h.
34484         * lib/execute.c: Likewise.
34485         * lib/pagealign_alloc.c: Likewise.
34486         * lib/pipe.c: Likewise.
34487         * lib/wait-process.c: Likewise.
34488         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
34489         * lib/exitfail.c: Likewise.
34490         * lib/savewd.c: Likewise.
34491         * lib/xsetenv.c: Likewise.
34492
34493         * modules/stdlib: New file.
34494         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
34495         and extra comments about mkstemp().
34496         * lib/exit.h: Remove file.
34497         * lib/mkdtemp.h: Remove file.
34498         * lib/mkstemp.h: Remove file.
34499         * m4/stdlib_h.m4: New file.
34500         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
34501
34502 2007-02-18  Bruno Haible  <bruno@clisp.org>
34503
34504         * modules/math-tests: New file.
34505         * tests/test-math.c: New file.
34506
34507         * modules/math: New file.
34508         * modules/mathl (Files): Remove lib/mathl.h.
34509         (Depends-on): Add math.
34510         (Makefile.am): Don't mention mathl.h.
34511         (Include): Use <math.h> instead of mathl.h.
34512         * lib/math_.h: New file.
34513         * lib/mathl.h: Remove file.
34514         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
34515         mathl.h.
34516         * lib/asinl.c: Likewise.
34517         * lib/atanl.c: Likewise.
34518         * lib/ceill.c: Likewise.
34519         * lib/cosl.c: Likewise.
34520         * lib/expl.c: Likewise.
34521         * lib/floorl.c: Likewise.
34522         * lib/frexpl.c: Likewise.
34523         * lib/ldexpl.c: Likewise.
34524         * lib/logl.c: Likewise.
34525         * lib/sincosl.c: Likewise.
34526         * lib/sinl.c: Likewise.
34527         * lib/sqrtl.c: Likewise.
34528         * lib/tanl.c: Likewise.
34529         * lib/trigl.c: Likewise.
34530         * m4/math_h.m4: New file.
34531         * MODULES.html.sh (Mathematics): Add math.
34532
34533 2007-02-17  Bruno Haible  <bruno@clisp.org>
34534
34535         * modules/wctype-tests: New file.
34536         * tests/test-wctype.c: New file.
34537
34538         * modules/wchar-tests: New file.
34539         * tests/test-wchar.c: New file.
34540
34541         * modules/unistd-tests: New file.
34542         * tests/test-unistd.c: New file.
34543
34544         * modules/time-tests: New file.
34545         * tests/test-time.c: New file.
34546
34547         * modules/sysexits-tests: New file.
34548         * tests/test-sysexits.c: New file.
34549
34550         * modules/sys_time-tests: New file.
34551         * tests/test-sys_time.c: New file.
34552
34553         * modules/sys_stat-tests: New file.
34554         * tests/test-sys_stat.c: New file.
34555
34556         * modules/sys_socket-tests: New file.
34557         * tests/test-sys_socket.c: New file.
34558
34559         * modules/sys_select-tests: New file.
34560         * tests/test-sys_select.c: New file.
34561
34562         * modules/string-tests: New file.
34563         * tests/test-string.c: New file.
34564
34565         * modules/stdbool-tests: New file.
34566         * tests/test-stdbool.c: New file.
34567
34568         * modules/netinet_in-tests: New file.
34569         * tests/test-netinet_in.c: New file.
34570
34571         * modules/inttypes-tests: New file.
34572         * tests/test-inttypes.c: New file.
34573
34574         * modules/fcntl-tests: New file.
34575         * tests/test-fcntl.c: New file.
34576
34577         * modules/byteswap-tests: New file.
34578         * tests/test-byteswap.c: New file.
34579
34580         * modules/arpa_inet-tests: New file.
34581         * tests/test-arpa_inet.c: New file.
34582
34583 2007-02-17  Bruno Haible  <bruno@clisp.org>
34584
34585         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
34586         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
34587         if the corresponding module is not enabled. Emit link warnings if
34588         the function is used nevertheless.
34589         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
34590         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
34591         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
34592         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
34593         * modules/inttypes (Depends-on): Add link-warning.
34594         (Makefile.am): Copy the contents of build-aux/link-warning.h into
34595         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
34596         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
34597         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
34598         * modules/imaxdiv (configure.ac): Likewise.
34599         * modules/strtoimax (configure.ac): Likewise.
34600         * modules/strtoumax (configure.ac): Likewise.
34601
34602 2007-02-17  Bruno Haible  <bruno@clisp.org>
34603
34604         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
34605         gl_STRING_MODULE_INDICATOR_DEFAULTS.
34606         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
34607         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
34608
34609 2007-02-17  Bruno Haible  <bruno@clisp.org>
34610
34611         * modules/link-warning: New file.
34612         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
34613         * lib/string_.h (GL_LINK_WARNING): Remove definition.
34614         * modules/string (Depends-on): Add link-warning.
34615         (Makefile.am): Copy the contents of build-aux/link-warning.h into
34616         string.h.
34617         * MODULES.html.sh (Support for building libraries and executables): Add
34618         link-warning.
34619
34620 2007-02-17  Bruno Haible  <bruno@clisp.org>
34621
34622         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
34623         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
34624         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
34625         long lines.
34626
34627 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
34628             Bruno Haible  <bruno@clisp.org>
34629
34630         * modules/tmpfile: New file.
34631         * lib/tmpfile.c: New file.
34632         * m4/tmpfile.m4: New file.
34633         * MODULES.html.sh (func_all_modules): New section "Input/output".
34634
34635 2007-02-15  Bruno Haible  <bruno@clisp.org>
34636
34637         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
34638         (supports_delete_on_close): New function.
34639         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
34640
34641 2007-02-14  Bruno Haible  <bruno@clisp.org>
34642
34643         * modules/mbspcasecmp-tests: New file.
34644         * tests/test-mbspcasecmp.sh: New file.
34645         * tests/test-mbspcasecmp.c: New file.
34646
34647         New module mbspcasecmp.
34648         * modules/mbspcasecmp: New file.
34649         * lib/mbspcasecmp.c: New file.
34650         * lib/string_.h (strncasecmp): Change warning message.
34651         (mbspcasecmp): New declaration.
34652         * m4/mbspcasecmp.m4: New file.
34653         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
34654         GNULIB_MBSPCASECMP.
34655         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
34656         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
34657
34658 2007-02-14  Bruno Haible  <bruno@clisp.org>
34659
34660         * modules/mbsncasecmp-tests: New file.
34661         * tests/test-mbsncasecmp.sh: New file.
34662         * tests/test-mbsncasecmp.c: New file.
34663
34664         New module mbsncasecmp.
34665         * modules/mbsncasecmp: New file.
34666         * lib/mbsncasecmp.c: New file.
34667         * lib/string_.h (mbsncasecmp): New declaration.
34668         * m4/mbsncasecmp.m4: New file.
34669         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
34670         GNULIB_MBSNCASECMP.
34671         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
34672         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
34673
34674 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
34675
34676         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
34677         Verify that it doesn't overlap with our flags.
34678         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
34679         do not have the desired effect in multibyte locales; instead, use
34680         mbscasecmp.
34681         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
34682         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
34683         we don't require GNU fnmatch ourselves (if our users require it, they
34684         should do so explicitly).
34685
34686         Fix regex code so it doesn't rely on strcasecmp.
34687         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
34688         Otherwise, include gnulib's langinfo.h.
34689         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
34690         undesirable behavior in non-C locales.  Instead, rely on localecharset.
34691         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
34692         * modules/regex (FILES): Remove m4/codeset.m4.
34693         (Depends-on): Add localcharset.  Remove strcase.
34694
34695 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34696
34697         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
34698         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
34699
34700 2007-02-13  Bruno Haible  <bruno@clisp.org>
34701
34702         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
34703         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34704
34705 2007-02-12  Bruno Haible  <bruno@clisp.org>
34706
34707         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
34708         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
34709         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
34710         time warning rather than a link error.
34711
34712 2007-02-12  Bruno Haible  <bruno@clisp.org>
34713
34714         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
34715         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
34716         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34717
34718 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
34719
34720         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
34721         args, not 2.
34722
34723 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
34724
34725         New module 'time', so that apps can include <time.h> as per
34726         POSIX and GNU instead of separate include files like time_r.h
34727         and timegm.h.  This implementation tries out a simpler approach
34728         for replacing decls in standard include files (as compared to
34729         the string module), somewhat as an experiment.
34730
34731         * config/srclist.txt: Comment out mktime.c for now.
34732         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
34733         since it doesn't apply any more.  Use generic wording instead.
34734         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
34735         'time'.
34736         * lib/time_.h, m4/time_h.m4, modules/time: New files.
34737         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
34738         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
34739         Don't include <sys/types.h>; no longer needed since we assume C89.
34740         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
34741         * lib/strftime.c: Likewise.
34742         * lib/time_r.c: Likewise.
34743         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
34744         * lib/nanosleep.c: Include <time.h> first, to check interface.
34745         * lib/strptime.c: Likewise.
34746         * lib/time_r.c: Likewise.
34747         * lib/timegm.c: Likewise.
34748         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
34749         needed.
34750         * lib/timegm.c: Don't include timegm.h; no longer needed.
34751         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
34752         time.h now handles any problems in that area.
34753         (struct timespec, nanosleep): Remove; time.h now arranges for these.
34754         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
34755         that time.h defines struct timespec.
34756         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
34757         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
34758         handles that.
34759         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
34760         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
34761         needed.  Set REPLACE_LOCALTIME.
34762         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
34763         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
34764         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
34765         nanosleep; time_h.m4 now does that.  Don't require
34766         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
34767         module handles this now.
34768         * modules/getdate (Depends-on): Remove timespec.  Add time.
34769         * modules/nanosleep (Depends-on): Likewise.
34770         * modules/stat-time (Depends-on): Likewise.
34771         * modules/nanosleep (Include): Include time.h, not timespec.h.
34772         * modules/strptime (Files): Remove lib/strptime.h.
34773         (Depends-on): Add extensions, time.
34774         (Include): Include time.h, not strptime.h.
34775         * modules/time_r (Files): Remove lib/time_r.h.
34776         (Depends-on): Add time.
34777         (Include): Include time.h, not time_r.h.
34778         * modules/timegm: Likewise.
34779         * modules/timespec (Description): Now does timespec-related decls
34780         of our own, instead of struct timespec itself.
34781         (Depends-on): Add time; remove extensions.
34782         (Maintainer): Add self.
34783         * modules/utimecmp (Depends-on): Add time; remove timespec.
34784         * modules/utimens (Depends-on): Likewise.
34785         * modules/xnanosleep (Depends-on): Likewise.
34786
34787 2007-02-11  Bruno Haible  <bruno@clisp.org>
34788
34789         * lib/c-strstr.c: Include allocsa.h.
34790         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
34791         * lib/c-strcasestr.c: Include allocsa.h.
34792         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
34793         * lib/strcasestr.c: Include allocsa.h.
34794         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
34795         * lib/mbsstr.c: Include allocsa.h.
34796         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
34797         allocsa/freesa instead of malloc/free.
34798         * lib/mbscasestr.c: Include allocsa.h.
34799         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
34800         allocsa/freesa instead of malloc/free.
34801         * modules/c-strstr (Depends-on): Add allocsa.
34802         * modules/c-strcasestr (Depends-on): Likewise.
34803         * modules/strcasestr (Depends-on): Likewise.
34804         * modules/mbsstr (Depends-on): Likewise.
34805         * modules/mbscasestr (Depends-on): Likewise.
34806
34807 2007-02-11  Bruno Haible  <bruno@clisp.org>
34808
34809         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
34810
34811         * modules/mbsspn-tests: New file.
34812         * tests/test-mbsspn.sh: New file.
34813         * tests/test-mbsspn.c: New file.
34814
34815 2007-02-11  Bruno Haible  <bruno@clisp.org>
34816
34817         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
34818
34819         * modules/mbspbrk-tests: New file.
34820         * tests/test-mbspbrk.sh: New file.
34821         * tests/test-mbspbrk.c: New file.
34822
34823 2007-02-11  Bruno Haible  <bruno@clisp.org>
34824
34825         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
34826         unneeded cast.
34827
34828         * modules/mbscspn-tests: New file.
34829         * tests/test-mbscspn.sh: New file.
34830         * tests/test-mbscspn.c: New file.
34831
34832 2007-02-11  Bruno Haible  <bruno@clisp.org>
34833
34834         * modules/mbscasecmp-tests: New file.
34835         * tests/test-mbscasecmp.sh: New file.
34836         * tests/test-mbscasecmp.c: New file.
34837
34838 2007-02-11  Bruno Haible  <bruno@clisp.org>
34839
34840         Ensure O(n) worst-case complexity of mbscasestr.
34841         * lib/mbscasestr.c: Include stdbool.h.
34842         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
34843         functions.
34844         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
34845         the bookkeeping indicates that it's worth it.
34846         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
34847
34848         * modules/mbscasestr-tests: New file.
34849         * tests/test-mbscasestr1.c: New file.
34850         * tests/test-mbscasestr2.sh: New file.
34851         * tests/test-mbscasestr2.c: New file.
34852         * tests/test-mbscasestr3.sh: New file.
34853         * tests/test-mbscasestr3.c: New file.
34854         * tests/test-mbscasestr4.sh: New file.
34855         * tests/test-mbscasestr4.c: New file.
34856         * m4/locale-tr.m4: New file.
34857
34858 2007-02-11  Bruno Haible  <bruno@clisp.org>
34859
34860         Ensure O(n) worst-case complexity of mbsstr.
34861         * lib/mbsstr.c: Include stdbool.h.
34862         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
34863         functions.
34864         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
34865         bookkeeping indicates that it's worth it.
34866         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
34867
34868         * modules/mbsstr-tests: New file.
34869         * tests/test-mbsstr1.c: New file.
34870         * tests/test-mbsstr2.sh: New file.
34871         * tests/test-mbsstr2.c: New file.
34872         * tests/test-mbsstr3.sh: New file.
34873         * tests/test-mbsstr3.c: New file.
34874         * m4/locale-fr.m4: New file.
34875
34876 2007-02-11  Bruno Haible  <bruno@clisp.org>
34877
34878         * lib/mbsrchr.c (mbsrchr): Fix bug.
34879
34880         * modules/mbsrchr-tests: New file.
34881         * tests/test-mbsrchr.sh: New file.
34882         * tests/test-mbsrchr.c: New file.
34883
34884 2007-02-11  Bruno Haible  <bruno@clisp.org>
34885
34886         * lib/mbschr.c (mbschr): Fix bug.
34887
34888         * modules/mbschr-tests: New file.
34889         * tests/test-mbschr.sh: New file.
34890         * tests/test-mbschr.c: New file.
34891         * m4/locale-zh.m4: New file.
34892
34893 2007-02-11  Bruno Haible  <bruno@clisp.org>
34894
34895         Support for copying multibyte string iterators.
34896         * lib/mbiter.h: Include <string.h>.
34897         (mbiter_multi_copy): New function.
34898         (mbi_copy): New macro.
34899         * lib/mbuiter.h: Include <string.h>.
34900         (mbuiter_multi_copy): New function.
34901         (mbui_copy): New macro.
34902
34903 2007-02-11  Bruno Haible  <bruno@clisp.org>
34904
34905         New module mbslen.
34906         * modules/mbslen: New file.
34907         * lib/mbslen.c: New file.
34908         * lib/string_.h (mbslen): New declaration.
34909         * m4/mbslen.m4: New file.
34910         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
34911         GNULIB_MBSLEN.
34912         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
34913         * MODULES.html.sh (Internationalization functions): Add mbslen.
34914
34915 2007-02-11  Bruno Haible  <bruno@clisp.org>
34916
34917         Ensure O(n) worst-case complexity of strcasestr substitute.
34918         * lib/strcasestr.c: Include stdbool.h.
34919         (knuth_morris_pratt): New function.
34920         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
34921         bookkeeping indicates that it's worth it.
34922         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
34923
34924         * modules/strcasestr-tests: New file.
34925         * tests/test-strcasestr.c: New file.
34926
34927 2007-02-11  Bruno Haible  <bruno@clisp.org>
34928
34929         Ensure O(n) worst-case complexity of c_strcasestr.
34930         * lib/c-strcasestr.c: Include stdbool.h, string.h.
34931         (knuth_morris_pratt): New function.
34932         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
34933         the bookkeeping indicates that it's worth it.
34934         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
34935
34936         * modules/c-strcasestr-tests: New file.
34937         * tests/test-c-strcasestr.c: New file.
34938
34939 2007-02-11  Bruno Haible  <bruno@clisp.org>
34940
34941         Ensure O(n) worst-case complexity of c_strstr.
34942         * lib/c-strstr.c: Include stdbool.h, string.h.
34943         (knuth_morris_pratt): New function.
34944         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
34945         bookkeeping indicates that it's worth it.
34946         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
34947
34948         * lib/c-strstr.c: Complete rewrite for maintainability.
34949
34950         * modules/c-strstr-tests: New file.
34951         * tests/test-c-strstr.c: New file.
34952
34953 2007-02-11  Bruno Haible  <bruno@clisp.org>
34954
34955         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
34956         5.2.1 and earlier, whereby \055 was treated just like the range
34957         delimiter '-'.
34958         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
34959
34960 2007-02-08  Bruno Haible  <bruno@clisp.org>
34961
34962         * modules/regex (Depends-on): Add stdbool.
34963         Reported by Dalibor Topic <robilad@kaffe.org>.
34964
34965 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
34966
34967         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
34968         Prefer returning from main to exiting from it.
34969         Remove unnecessary parens after sizeof.
34970
34971 2007-02-05  Bruno Haible  <bruno@clisp.org>
34972
34973         New module mbssep.
34974         * modules/mbssep: New file.
34975         * lib/mbssep.c: New file.
34976         * lib/string_.h (strsep): Add a conditional link warning.
34977         (mbssep): New declaration.
34978         * m4/mbssep.m4: New file.
34979         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
34980         GNULIB_MBSSEP.
34981         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
34982         * MODULES.html.sh (Internationalization functions): Add mbssep.
34983
34984 2007-02-05  Bruno Haible  <bruno@clisp.org>
34985
34986         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
34987         Optimize search in case of 1 delimiter.
34988
34989 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
34990
34991         * lib/acl.h: Include sys/types.h before sys/acl.h.
34992
34993 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
34994
34995         Merge upstream fix for glibc bugzilla #3957:
34996
34997         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
34998
34999         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
35000         bit for RE_HAT_LISTS_NOT_NEWLINE.
35001         (build_charclass_op): Remove bogus comment.
35002
35003 2007-02-05  Simon Josefsson  <simon@josefsson.org>
35004
35005         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
35006
35007 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
35008
35009         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
35010         * lib/memmem.c [!defined _LIBC]: Include config.h.
35011
35012 2007-02-04  Bruno Haible  <bruno@clisp.org>
35013
35014         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
35015         warning message.
35016
35017 2007-02-04  Bruno Haible  <bruno@clisp.org>
35018
35019         New module mbstok_r.
35020         * modules/mbstok_r: New file.
35021         * lib/mbstok_r.c: New file.
35022         * lib/string_.h (strtok_r): Change argument names to match the
35023         comments. Add a conditional link warning.
35024         (mbstok_r): New declaration.
35025         * m4/mbstok_r.m4: New file.
35026         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
35027         GNULIB_MBSTOK_R.
35028         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
35029         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
35030
35031 2007-02-04  Bruno Haible  <bruno@clisp.org>
35032
35033         New module mbsspn.
35034         * modules/mbsspn: New file.
35035         * lib/mbsspn.c: New file.
35036         * lib/string_.h (strspn): Add a conditional link warning.
35037         (mbsspn): New declaration.
35038         * m4/mbsspn.m4: New file.
35039         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
35040         GNULIB_MBSSPN.
35041         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
35042         * MODULES.html.sh (Internationalization functions): Add mbsspn.
35043
35044 2007-02-04  Bruno Haible  <bruno@clisp.org>
35045
35046         New module mbspbrk.
35047         * modules/mbspbrk: New file.
35048         * lib/mbspbrk.c: New file.
35049         * lib/string_.h (strpbrk): Add a conditional link warning.
35050         (mbspbrk): New declaration.
35051         * m4/mbspbrk.m4: New file.
35052         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
35053         GNULIB_MBSPBRK.
35054         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
35055         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
35056
35057 2007-02-04  Bruno Haible  <bruno@clisp.org>
35058
35059         New module mbscspn.
35060         * modules/mbscspn: New file.
35061         * lib/mbscspn.c: New file.
35062         * lib/string_.h (strcspn): Add a conditional link warning.
35063         (mbscspn): New declaration.
35064         * m4/mbscspn.m4: New file.
35065         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
35066         GNULIB_MBSCSPN.
35067         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
35068         * MODULES.html.sh (Internationalization functions): Add mbscspn.
35069
35070 2007-02-04  Bruno Haible  <bruno@clisp.org>
35071
35072         New module mbscasestr, reduced goal of strcasestr.
35073         * modules/mbscasestr: New file.
35074         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
35075         (mbscasestr): Renamed from strcasestr.
35076         * lib/strcasestr.c: Don't include mbuiter.h.
35077         (strcasestr): Remove support for multibyte locales.
35078         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
35079         Change the conditional link warning.
35080         (mbscasestr): New declaration.
35081         * m4/mbscasestr.m4: New file.
35082         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
35083         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
35084         REPLACE_STRCASESTR.
35085         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
35086         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
35087         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
35088         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
35089         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
35090         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
35091         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
35092         (Depends-on): Remove mbuiter.
35093         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
35094
35095 2007-02-04  Bruno Haible  <bruno@clisp.org>
35096
35097         Simplify handling of strncasecmp.
35098         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
35099         the conditional link warning.
35100         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
35101         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
35102         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
35103         * modules/strcase (configure.ac): Don't invoke
35104         gl_STRING_MODULE_INDICATOR.
35105         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
35106
35107 2007-02-04  Bruno Haible  <bruno@clisp.org>
35108
35109         New module mbscasecmp, reduced goal of strcasecmp.
35110         * modules/mbscasecmp: New file.
35111         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
35112         (mbscasecmp): Renamed from strcasecmp.
35113         * lib/strcasecmp.c: Don't include mbuiter.h.
35114         (strcasecmp): Remove support for multibyte locales.
35115         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
35116         Change the conditional link warning.
35117         (mbscasecmp): New declaration.
35118         * m4/mbscasecmp.m4: New file.
35119         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
35120         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
35121         REPLACE_STRCASECMP.
35122         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
35123         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
35124         GNULIB_MBSCASECMP.
35125         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
35126         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
35127         * modules/strcase (Files): Remove m4/mbrtowc.m4.
35128         (Depends-on): Remove mbuiter.
35129         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
35130
35131 2007-02-04  Bruno Haible  <bruno@clisp.org>
35132
35133         New module mbsstr. Remove module strstr.
35134         * modules/mbsstr: New file.
35135         * modules/strstr: Remove file.
35136         * lib/mbsstr.c: Renamed from lib/strstr.c.
35137         (mbsstr): Renamed from strstr.
35138         * lib/string_.h (strstr): Remove declaration. Change the conditional
35139         link warning.
35140         (mbsstr): New declaration.
35141         * m4/mbsstr.m4: New file.
35142         * m4/strstr.m4: Remove file.
35143         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
35144         REPLACE_STRSTR.
35145         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
35146         Don't initialize GNULIB_STRSTR.
35147         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
35148         substitute GNULIB_STRSTR and REPLACE_STRSTR.
35149         * MODULES.html.sh (Internationalization functions): Add mbsstr.
35150         (Support for systems lacking ANSI C 89): Remove strstr.
35151
35152 2007-02-04  Bruno Haible  <bruno@clisp.org>
35153
35154         New module mbsrchr.
35155         * modules/mbsrchr: New file.
35156         * lib/mbsrchr.c: New file.
35157         * lib/string_.h (strrchr): Add a conditional link warning.
35158         (mbsrchr): New declaration.
35159         * m4/mbsrchr.m4: New file.
35160         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
35161         GNULIB_MBSRCHR.
35162         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
35163         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
35164
35165 2007-02-04  Bruno Haible  <bruno@clisp.org>
35166
35167         New module mbschr.
35168         * modules/mbschr: New file.
35169         * lib/mbschr.c: New file.
35170         * lib/string_.h (strchr): Add a conditional link warning.
35171         (mbschr): New declaration.
35172         * m4/mbschr.m4: New file.
35173         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
35174         GNULIB_MBSCHR.
35175         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
35176         * MODULES.html.sh (Internationalization functions): Add mbschr.
35177
35178 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
35179
35180         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
35181
35182         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
35183
35184 2007-02-04  Bruno Haible  <bruno@clisp.org>
35185
35186         New module description section 'configure.ac-early'.
35187         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
35188         (func_get_autoconf_early_snippet): New function.
35189         (func_import, func_create_testdir): Use it. Remove special cases for
35190         modules 'extensions' and 'lock'.
35191         * modules/extensions (configure.ac-early): Require
35192         gl_USE_SYSTEM_EXTENSIONS.
35193         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
35194
35195 2007-02-04  Bruno Haible  <bruno@clisp.org>
35196
35197         Make use of gcj-4.3's -fsource and -ftarget option.
35198         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
35199         and if so try the options -fsource and -ftarget.
35200         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
35201         source_version, ftarget_option, target_version arguments.
35202         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
35203         (is_envjavac_oldgcj_14_14_usable): Renamed from
35204         is_envjavac_gcj_14_14_usable.
35205         (is_envjavac_oldgcj_14_13_usable): Renamed from
35206         is_envjavac_gcj_14_13_usable.
35207         (is_gcj_present): Update.
35208         (is_gcj_43, is_gcj43_usable): New functions.
35209         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
35210         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
35211         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
35212         try the options -fsource and -ftarget.
35213
35214 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
35215
35216         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
35217         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
35218         larger value.
35219
35220 2007-02-03  Jim Meyering  <jim@meyering.net>
35221
35222         Give tools a better chance to allocate space for very large buffers.
35223         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
35224
35225         Make pwd and readlink work also when run with an unreadable parent dir
35226         on systems with openat support.
35227         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
35228         provided getcwd function, even when we have openat support.
35229         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
35230
35231 2007-02-02  Bruno Haible  <bruno@clisp.org>
35232
35233         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
35234         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
35235         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
35236         portability problems if one of these functions is only used on specific
35237         platforms.
35238         Reported by Paul Eggert.
35239
35240 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
35241
35242         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
35243         is causing more trouble than it's curing.
35244         * lib/regex_internal.h (__mempcpy): Remove.
35245         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
35246         (and make the code a tad smaller to boot).
35247         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
35248
35249 2007-02-02  Jim Meyering  <jim@meyering.net>
35250
35251         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
35252         section, not in the Makefile.am: one.
35253
35254 2007-02-02  Eric Blake  <ebb9@byu.net>
35255
35256         * lib/strchrnul.c: Always include config.h first.
35257
35258         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
35259         gnulib strstr is not necessary here.
35260
35261 2007-02-02  Simon Josefsson  <simon@josefsson.org>
35262
35263         * m4/socklen.m4: Fix typo.
35264
35265 2007-02-02  Eric Blake  <ebb9@byu.net>
35266
35267         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
35268         * modules/netinet_in (Makefile.am): Likewise.
35269
35270 2007-02-01  Bruno Haible  <bruno@clisp.org>
35271
35272         * lib/string_.h (GL_LINK_WARNING): New macro.
35273         (strcasecmp, strstr, strcasestr): If provided by the system,
35274         conditionally define as a macro that leads to a warning instead of to
35275         an error.
35276         (strncasecmp): Conditionally define as a macro that leads to a warning.
35277
35278 2007-02-01  Karl Berry  <karl@gnu.org>
35279
35280         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
35281
35282 2007-02-01  Bruno Haible  <bruno@clisp.org>
35283
35284         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
35285         renamings.
35286
35287 2007-02-01  Eric Blake  <ebb9@byu.net>
35288
35289         * modules/regex (Depends-on): Revert dependence on mempcpy.
35290         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
35291         module's definition of mempcpy.
35292         Reported by Paul Eggert.
35293
35294 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
35295
35296         * lib/string_.h: If the gnulib module XYZ is not present, undefine
35297         the symbol XYZ before redefining it.  This fixes a problem with
35298         programs that don't use XYZ, when compiled on systems that define
35299         XYZ to something else.
35300
35301 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
35302
35303         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
35304         occurs when "mkdir -m foo" creates a setgid directory that is (1)
35305         writeable to group or other and (2) is intended to have a special
35306         mode bit that is set or cleared.  In such a case, the directory
35307         should be neither group- nor other-writeable until the special
35308         mode bits are right.
35309
35310 2007-01-31  Eric Blake  <ebb9@byu.net>
35311
35312         * modules/mountlist (Depends-on): Add strstr.
35313
35314         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
35315         bug.
35316         * modules/string (Makefile.am): Remove redundant replacement.
35317         * modules/regex (Depends-on): Add mempcpy.
35318
35319 2007-01-31  Bruno Haible  <bruno@clisp.org>
35320
35321         New module description field 'Link'.
35322         * gnulib-tool (func_usage): Document --extract-link-directive.
35323         (sed_extract_prog): Recognize 'Link' directive.
35324         (func_get_link_directive): New function.
35325         (func_import): Show summary of link directives.
35326         Handle --extract-link-directive option.
35327         * modules/acl (Link): New section.
35328         * modules/clock-time (Link): New section.
35329         * modules/euidaccess (Link): New section.
35330         * modules/gettext (Link): New section.
35331         * modules/iconv (Link): New section.
35332         * modules/lock (Link): New section.
35333         * modules/nanosleep (Link): New section.
35334         * modules/readline (Link): New section.
35335
35336 2007-01-27  Bruno Haible  <bruno@clisp.org>
35337
35338         Enforce the use of gnulib modules for unportable <string.h> functions.
35339         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
35340         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
35341         (gl_HEADER_STRING_H_BODY): Require it.
35342         * lib/string_.h: If the gnulib module XYZ is not present, redefine
35343         the symbol XYZ to one that gives a link error.
35344         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
35345         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
35346         * modules/mempcpy (configure.ac): Likewise.
35347         * modules/memrchr (configure.ac): Likewise.
35348         * modules/stpcpy (configure.ac): Likewise.
35349         * modules/stpncpy (configure.ac): Likewise.
35350         * modules/strcase (configure.ac): Likewise.
35351         * modules/strcasestr (configure.ac): Likewise.
35352         * modules/strchrnul (configure.ac): Likewise.
35353         * modules/strdup (configure.ac): Likewise.
35354         * modules/strndup (configure.ac): Likewise.
35355         * modules/strnlen (configure.ac): Likewise.
35356         * modules/strpbrk (configure.ac): Likewise.
35357         * modules/strsep (configure.ac): Likewise.
35358         * modules/strstr (configure.ac): Likewise.
35359         * modules/strtok_r (configure.ac): Likewise.
35360
35361 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
35362
35363         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
35364
35365 2007-01-30  Jim Meyering  <jim@meyering.net>
35366
35367         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
35368
35369 2007-01-29  Bruno Haible  <bruno@clisp.org>
35370
35371         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
35372         * lib/execute.c: Likewise.
35373         * lib/pipe.c: Likewise.
35374         * lib/printf-args.h: Likewise.
35375         * lib/printf-args.c: Likewise.
35376         * lib/printf-parse.c: Likewise.
35377         * lib/vasnprintf.c: Likewise.
35378
35379 2007-01-29  Eric Blake  <ebb9@byu.net>
35380
35381         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
35382         declaration.
35383
35384 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
35385
35386         * lib/strptime.h (strptime): Use 'restrict' for args where
35387         POSIX requires this.
35388         * lib/strptime.c (strptime): Likewise.
35389         Change license notice from LGPL to GPL, since gnulib-tool will
35390         change this as needed.
35391         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
35392         defined.
35393         Include "strptime.h" first, to check interface.
35394         Do not #undef _LIBC and _NL_CURRENT.
35395         Do not include <stdlib.h>; no longer needed.
35396         Include "time_r.h" and declare ptime_locale_status
35397         only if _LIBC is not defined.
35398         (__P): Remove unused macro.
35399         (match_string): Bring back glibc version, but use it only if _LIBC
35400         is defined.
35401         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
35402         Remove unnecessary assertion and abort() call.
35403         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
35404         * m4/strptime.m4: Fix serial number comment.
35405         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
35406         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
35407         (Depends-on): Add time_r.
35408
35409 2007-01-29  Bruno Haible  <bruno@clisp.org>
35410
35411         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
35412         strptime.
35413         * modules/strptime (Depends-on): Add stdbool.
35414         * lib/strptime.h: Include <time.h> always. Add comments.
35415
35416 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
35417
35418         * modules/strptime: New file.
35419         * lib/strptime.h: New file.
35420         * lib/strptime.c: New file.
35421         * m4/strptime.m4: New file.
35422
35423 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
35424
35425         * MODULES.html.sh: New module mpsort.
35426         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
35427
35428         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
35429         a circularity problem with HP-UX ia64 reported by Bob Proulx in
35430         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
35431         All uses changed.
35432         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
35433         All uses changed.
35434         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
35435         to _Restrict_.
35436         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
35437         the parameter matches the prototype.
35438
35439 2007-01-28  Jim Meyering  <jim@meyering.net>
35440
35441         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
35442         sys/time.h here, reverting that part of the previous patch:
35443         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
35444
35445 2007-01-28  Bruno Haible  <bruno@clisp.org>
35446
35447         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
35448         value of $(SYS_TIME_H).
35449         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
35450         remove it conditionally, too. [added by Jim Meyering]
35451         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
35452         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
35453         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
35454         GETTIMEOFDAY_REPLACEMENT to 1.
35455
35456 2007-01-28  Bruno Haible  <bruno@clisp.org>
35457
35458         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
35459         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
35460         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
35461         Set UNISTD_H instead of UNISTD_H2.
35462         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
35463
35464 2007-01-28  Bruno Haible  <bruno@clisp.org>
35465
35466         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
35467         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
35468
35469 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35470
35471         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
35472         (func_create_testdir): Ensure C locale for `grep' and `tr'
35473         character ranges.
35474         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
35475         ACLOCAL_AMFLAGS parsing state machine.
35476
35477 2007-01-27  Bruno Haible  <bruno@clisp.org>
35478
35479         * modules/unistr/base: Update.
35480
35481 2007-01-27  Bruno Haible  <bruno@clisp.org>
35482
35483         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
35484         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
35485         * modules/unistr/u32-mbtouc-unsafe: Renamed from
35486         modules/unistr/u32-mbtouc.
35487         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
35488         * lib/unistr.h: Update.
35489         * lib/linebreak.c: Update.
35490         * modules/unistr/u32-mbtouc: Renamed from
35491         modules/unistr/u32-mbtouc-safe.
35492         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
35493         * lib/unistr.h: Update.
35494         * lib/unistr/u32-to-u8.c: Update.
35495         * lib/unistr/u32-to-u16.c: Update.
35496
35497 2007-01-27  Bruno Haible  <bruno@clisp.org>
35498
35499         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
35500         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
35501         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
35502         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
35503         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
35504         * modules/unistr/u16-mbtouc-unsafe: Renamed from
35505         modules/unistr/u16-mbtouc.
35506         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
35507         * lib/unistr.h: Update.
35508         * lib/linebreak.c: Update.
35509         * modules/linebreak: Update.
35510         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
35511         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
35512         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
35513         * modules/unistr/u16-mbtouc: Renamed from
35514         modules/unistr/u16-mbtouc-safe.
35515         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
35516         * lib/unistr.h: Update.
35517         * lib/unistr/u16-to-u8.c: Update.
35518         * modules/unistr/u16-to-u8: Update.
35519         * lib/unistr/u16-to-u32.c: Update.
35520         * modules/unistr/u16-to-u32: Update.
35521
35522 2007-01-27  Bruno Haible  <bruno@clisp.org>
35523
35524         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
35525         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
35526         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
35527         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
35528         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
35529         * modules/unistr/u8-mbtouc-unsafe: Renamed from
35530         modules/unistr/u8-mbtouc.
35531         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
35532         * lib/unistr.h: Update.
35533         * lib/striconveh.c: Update.
35534         * modules/striconveh: Update.
35535         * lib/linebreak.c: Update.
35536         * modules/linebreak: Update.
35537         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
35538         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
35539         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
35540         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
35541         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
35542         * lib/unistr.h: Update.
35543         * lib/striconveh.c: Update.
35544         * modules/striconveh: Update.
35545         * lib/unistr/u8-to-u16.c: Update.
35546         * modules/unistr/u8-to-u16: Update.
35547         * lib/unistr/u8-to-u32.c: Update.
35548         * modules/unistr/u8-to-u32: Update.
35549
35550 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35551
35552         Sync from Libtool.
35553         * lib/argz.c: Do not include strings.h nor memory.h, include
35554         string.h unconditionally.  Patch by Simon Josefsson.
35555
35556 2007-01-27  Bruno Haible  <bruno@clisp.org>
35557
35558         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
35559         from gl_HEADER_STRING_H_BODY.
35560         (gl_HEADER_STRING_H_BODY): Require it.
35561         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
35562         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
35563         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
35564         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
35565         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
35566         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
35567         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
35568         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
35569         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
35570         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
35571         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
35572         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
35573         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
35574         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
35575         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
35576
35577 2007-01-27  Bruno Haible  <bruno@clisp.org>
35578
35579         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
35580         check_PROGRAMS into noinst_PROGRAMS.
35581         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
35582         check_PROGRAMS in this case.
35583         (func_import): Set for_test to false.
35584         (func_create_testdir): Set for_test to true.
35585
35586 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
35587             Bruno Haible  <bruno@clisp.org>
35588
35589         * modules/strcasestr (Files): Remove lib/strcasestr.h.
35590         (Depends-on): Add string.
35591         (Includes): Use <string.h> instead of strcasestr.h.
35592         * modules/string (Makefile.am): Also substitute the value of
35593         REPLACE_STRCASESTR.
35594         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
35595         assume strcasestr is declared in <string.h> not <strings.h>. Also
35596         set REPLACE_STRCASESTR.
35597         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
35598         REPLACE_STRCASESTR.
35599         * lib/strcasestr.h: Remove file.
35600         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
35601         * lib/string_.h (strcasestr): New declaration.
35602
35603 2007-01-27  Bruno Haible  <bruno@clisp.org>
35604
35605         * lib/string_.h: Use 'extern'.
35606
35607 2007-01-27  Jim Meyering  <jim@meyering.net>
35608
35609         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
35610         of set-but-not-used local, "q".
35611
35612         * lib/mempcpy.c: Include <config.h> before <string.h>.
35613         This fixes a compilation error on HP-UX, due to the system's
35614         "restrict"-using mempcpy prototype.
35615
35616 2007-01-26  Bruno Haible  <bruno@clisp.org>
35617
35618         Small optimization.
35619         * lib/javacomp.c: Include c-strstr.h.
35620          (is_envjavac_gcj): Use c_strstr instead of strstr.
35621         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
35622
35623 2007-01-26  Bruno Haible  <bruno@clisp.org>
35624
35625         * MODULES.html.sh (Unicode string functions): Add the new modules.
35626
35627         * modules/uniconv/u32-strconv-to-locale: New file.
35628         * lib/uniconv/u32-strconv-to-locale.c: New file.
35629
35630         * modules/uniconv/u16-strconv-to-locale: New file.
35631         * lib/uniconv/u16-strconv-to-locale.c: New file.
35632
35633         * modules/uniconv/u8-strconv-to-locale: New file.
35634         * lib/uniconv/u8-strconv-to-locale.c: New file.
35635
35636         * modules/uniconv/u32-strconv-from-locale: New file.
35637         * lib/uniconv/u32-strconv-from-locale.c: New file.
35638
35639         * modules/uniconv/u16-strconv-from-locale: New file.
35640         * lib/uniconv/u16-strconv-from-locale.c: New file.
35641
35642         * modules/uniconv/u8-strconv-from-locale: New file.
35643         * lib/uniconv/u8-strconv-from-locale.c: New file.
35644
35645         * modules/uniconv/u32-strconv-to-enc: New file.
35646         * lib/uniconv/u32-strconv-to-enc.c: New file.
35647         * modules/uniconv/u32-strconv-to-enc-tests: New file.
35648         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
35649
35650         * modules/uniconv/u16-strconv-to-enc: New file.
35651         * lib/uniconv/u16-strconv-to-enc.c: New file.
35652         * lib/uniconv/u-strconv-to-enc.h: New file.
35653         * modules/uniconv/u16-strconv-to-enc-tests: New file.
35654         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
35655
35656         * modules/uniconv/u8-strconv-to-enc: New file.
35657         * lib/uniconv/u8-strconv-to-enc.c: New file.
35658         * modules/uniconv/u8-strconv-to-enc-tests: New file.
35659         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
35660
35661         * modules/uniconv/u32-strconv-from-enc: New file.
35662         * lib/uniconv/u32-strconv-from-enc.c: New file.
35663         * modules/uniconv/u32-strconv-from-enc-tests: New file.
35664         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
35665
35666         * modules/uniconv/u16-strconv-from-enc: New file.
35667         * lib/uniconv/u16-strconv-from-enc.c: New file.
35668         * modules/uniconv/u16-strconv-from-enc-tests: New file.
35669         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
35670
35671         * modules/uniconv/u8-strconv-from-enc: New file.
35672         * lib/uniconv/u8-strconv-from-enc.c: New file.
35673         * lib/uniconv/u-strconv-from-enc.h: New file.
35674         * modules/uniconv/u8-strconv-from-enc-tests: New file.
35675         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
35676
35677         * modules/uniconv/u32-conv-from-enc: New file.
35678         * lib/uniconv/u32-conv-from-enc.c: New file.
35679         * modules/uniconv/u32-conv-from-enc-tests: New file.
35680         * tests/uniconv/test-u32-conv-from-enc.c: New file.
35681
35682         * modules/uniconv/u16-conv-from-enc: New file.
35683         * lib/uniconv/u16-conv-from-enc.c: New file.
35684         * lib/uniconv/u-conv-from-enc.h: New file.
35685         * modules/uniconv/u16-conv-from-enc-tests: New file.
35686         * tests/uniconv/test-u16-conv-from-enc.c: New file.
35687
35688         * modules/uniconv/u8-conv-from-enc: New file.
35689         * lib/uniconv/u8-conv-from-enc.c: New file.
35690         * modules/uniconv/u8-conv-from-enc-tests: New file.
35691         * tests/uniconv/test-u8-conv-from-enc.c: New file.
35692
35693         * modules/uniconv/base: New file.
35694         * lib/uniconv.h: New file.
35695
35696 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
35697
35698         * doc/gnulib-tool.texi (Initial import): Update to match current
35699         behavior with strdup module.
35700         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
35701         * lib/memmem.h: Remove; all uses removed.  This is now done
35702         by <string.h>.
35703         * lib/mempcpy.h: Likewise.
35704         * lib/memrchr.h: Likewise.
35705         * lib/stpcpy.h: Likewise.
35706         * lib/stpncpy.h: Likewise.
35707         * lib/strcase.h: Likewise.
35708         * lib/strchrnul.h: Likewise.
35709         * lib/strdup.h: Likewise.
35710         * lib/strndup.h: Likewise.
35711         * lib/strnlen.h: Likewise.
35712         * lib/strpbrk.h: Likewise.
35713         * lib/strsep.h: Likewise.
35714         * lib/strstr.h: Likewise.
35715         * lib/strtok_r.h: Likewise.
35716         * lib/string_.h: New file.
35717         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
35718         Rely on <string.h> instead.
35719         * lib/canon-host.c: Likewise.
35720         * lib/chdir-long.c: Likewise.
35721         * lib/concatpath.c: Likewise.
35722         * lib/exclude.c: Likewise.
35723         * lib/fchdir.c: Likewise.
35724         * lib/getaddrinfo.c: Likewise.
35725         * lib/getcwd.c: Likewise.
35726         * lib/getsubopt.c: Likewise.
35727         * lib/glob.c: Likewise.
35728         * lib/hard-locale.c: Likewise.
35729         * lib/iconvme.c: Likewise.
35730         * lib/javacomp.c: Likewise.
35731         * lib/mempcpy.c: Likewise.
35732         * lib/memrchr.c: Likewise.
35733         * lib/regex_internal.h: Likewise.
35734         * lib/stpncpy.c: Likewise.
35735         * lib/strcasecmp.c: Likewise.
35736         * lib/strchrnul.c: Likewise.
35737         * lib/strdup.c: Likewise.
35738         * lib/striconv.c: Likewise.
35739         * lib/striconveh.c: Likewise.
35740         * lib/striconveha.c: Likewise.
35741         * lib/strncasecmp.c: Likewise.
35742         * lib/strndup.c: Likewise.
35743         * lib/strnlen.c: Likewise.
35744         * lib/strsep.c: Likewise.
35745         * lib/strstr.c: Likewise.
35746         * lib/strtok_r.c: Likewise.
35747         * lib/userspec.c: Likewise.
35748         * lib/w32spawn.h: Likewise.
35749         * lib/xstrndup.c: Likewise.
35750         * lib/mountlist.c (strstr): Remove decl.
35751         * m4/string_h.m4: New file.
35752         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
35753         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
35754         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
35755         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
35756         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
35757         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
35758         Set REPLACE_STRCASECMP if necessary.
35759         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
35760         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
35761         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
35762         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
35763         HAVE_DECL_STRDUP if necessary.
35764         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
35765         since gl_FUNC_STRNDUP does that now.
35766         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
35767         Check for decl here...
35768         (gl_PREREQ_STRNLEN): ... not here.
35769         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
35770         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
35771         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
35772         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
35773         necessary.
35774         * modules/string: New file.
35775         * modules/memmem (Files): Remove special-purpose include file.
35776         (Depends-on): Add string.
35777         (Include): Include <string.h>, not the removed file.
35778         * modules/mempcpy: Likewise.
35779         * modules/memrchr: Likewise.
35780         * modules/stpcpy: Likewise.
35781         * modules/stpncpy: Likewise.
35782         * modules/strcase: Likewise.
35783         * modules/strchrnul: Likewise.
35784         * modules/strdup: Likewise.
35785         * modules/strndup: Likewise.
35786         * modules/strnlen: Likewise.
35787         * modules/strpbrk: Likewise.
35788         * modules/strsep: Likewise.
35789         * modules/strstr: Likewise.
35790         * modules/strtok_r: Likewise.
35791         * tests/test-dirname.c: Don't include "strdup.h", since
35792         <string.h> now suffices.
35793         * tests/test-memmem.c: Don't include "memmem.h", since
35794         <string.h> now suffices.
35795
35796 2007-01-25  Bruno Haible  <bruno@clisp.org>
35797
35798         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
35799         *resultp is 0.
35800
35801         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
35802         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
35803         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
35804         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
35805
35806         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
35807         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
35808         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
35809         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
35810         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
35811         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
35812
35813 2007-01-24  Bruno Haible  <bruno@clisp.org>
35814
35815         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
35816         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
35817         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
35818         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
35819         gl_FUNC_FTS_CORE.
35820         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
35821         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
35822         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
35823         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
35824         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
35825         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
35826         gl_FUNC_FCHOWNAT.
35827         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
35828         gl_FUNC_STRFTIME.
35829         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
35830         Reported by Ralf Wildenhues.
35831
35832 2007-01-24  Bruno Haible  <bruno@clisp.org>
35833
35834         Drop AC_REQUIRE calls that are redundant with the module dependencies.
35835         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
35836         gl_GETADDRINFO.
35837         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
35838         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
35839         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
35840
35841 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
35842
35843         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
35844         Don't use 'exit'; just return from 'main'.
35845         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
35846
35847         * lib/fnmatch_.h: Readjust white space and comments to match
35848         glibc, to avoid spurious diffs.
35849
35850 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
35851
35852         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
35853         2004-12-01 change by Jakub Jelinek, since this code won't compile
35854         if !LIBC.  Problem reported by Bob Proulx.
35855
35856 2007-01-23  Bruno Haible  <bruno@clisp.org>
35857
35858         * lib/striconveh.c: Include c-strcaseeq.h.
35859         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
35860         * modules/striconveh (Depends-on): Add c-strcaseeq.
35861
35862 2007-01-23  Bruno Haible  <bruno@clisp.org>
35863
35864         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
35865
35866         * modules/c-strcaseeq: New file.
35867         * lib/c-strcaseeq.h: New file.
35868
35869         * modules/streq: New file.
35870         * lib/streq.h: New file.
35871
35872 2007-01-23  Bruno Haible  <bruno@clisp.org>
35873
35874         * modules/striconveha-tests: New file.
35875         * tests/test-striconveha.c: New file.
35876
35877         * lib/striconveha.h: Include <stdbool.h>.
35878         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
35879         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
35880         (mem_iconveha_notranslit): Renamed from mem_iconveha.
35881         (mem_iconveha): New function.
35882         (str_iconveha_notranslit): Renamed from str_iconveha.
35883         (str_iconveha): New function.
35884         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
35885         c-strcase.
35886
35887 2007-01-23  Bruno Haible  <bruno@clisp.org>
35888
35889         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
35890         encodings without forgiving before trying any encoding with handler.
35891         (str_iconveha): Try all encodings without forgiving before trying any
35892         encoding with handler.
35893
35894 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
35895
35896         Import the following changes from libc.
35897
35898         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
35899
35900         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
35901
35902         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
35903
35904         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
35905         normal_bracket label.
35906
35907         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
35908
35909         [BZ #361]
35910         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
35911         to normal_bracket after fetching the next character.
35912
35913 2007-01-22  Bruno Haible  <bruno@clisp.org>
35914
35915         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
35916         argument.
35917         * lib/striconveh.c (iconv_carefully_1): New function.
35918         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
35919         argument.
35920         (str_cd_iconveh): Update.
35921         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
35922         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
35923         * tests/test-striconveh.c (MAGIC): New macro.
35924         (new_offsets): New function.
35925         (main): Test call with and without offsets.
35926
35927 2007-01-22  Bruno Haible  <bruno@clisp.org>
35928
35929         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
35930         * modules/sys_select (Makefile.am): Likewise.
35931         * modules/sys_socket (Makefile.am): Likewise.
35932         * modules/sys_time (Makefile.am): Likewise.
35933
35934 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
35935
35936         * modules/gettimeofday (License): Change from GPL to LGPL, since
35937         gettimeofday is a library function.
35938
35939 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35940
35941         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
35942
35943 2007-01-21  Bruno Haible  <bruno@clisp.org>
35944
35945         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
35946
35947 2007-01-21  Bruno Haible  <bruno@clisp.org>
35948
35949         * modules/striconveha: New file.
35950         * lib/striconveha.h: New file.
35951         * lib/striconveha.c: New file.
35952         * MODULES.html.sh (Internationalization functions): Add striconveha.
35953         * lib/striconv.c (str_iconv): Optimize the case of an empty input
35954         string.
35955         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
35956
35957 2007-01-21  Bruno Haible  <bruno@clisp.org>
35958
35959         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
35960         * lib/striconveh.c (str_iconveh): Likewise.
35961
35962 2007-01-21  Bruno Haible  <bruno@clisp.org>
35963
35964         * lib/striconveh.h (mem_iconveh): New declaration.
35965         * lib/striconveh.c (mem_iconveh): New function.
35966         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
35967
35968 2007-01-21  Bruno Haible  <bruno@clisp.org>
35969
35970         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
35971
35972         * lib/striconveh.h (mem_cd_iconveh): Change specification.
35973         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
35974         original result buffer.
35975         (str_cd_iconveh): Update.
35976         * tests/test-striconveh.c (main): Update.
35977
35978         * lib/striconv.h (mem_cd_iconv): Change specification.
35979         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
35980         result buffer.
35981         (str_cd_iconv): Update.
35982         * tests/test-striconv.c (main): Update.
35983
35984 2007-01-21  Bruno Haible  <bruno@clisp.org>
35985
35986         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
35987
35988 2007-01-20  Jim Meyering  <jim@meyering.net>
35989
35990         * lib/userspec.c (parse_with_separator): If a user or group string
35991         starts with "+", skip the corresponding name-to-ID look-up, since
35992         such a look-up must fail: user and group names may not include "+".
35993
35994 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
35995
35996         * lib/poll.c: Include sys/time.h and time.h unconditionally,
35997         since we now assume the sys_time module.
35998         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
35999         check for sys/time.h; no longer needed.
36000         * modules/poll (Depends-on): Depend on sys_time.
36001
36002 2007-01-18  Bruno Haible  <bruno@clisp.org>
36003
36004         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
36005         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
36006
36007         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
36008         gettimeofday.
36009
36010         * tests/test-gettimeofday.c: Include <time.h>.
36011         (dummy): Remove variable.
36012
36013         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
36014         gl_HEADER_SYS_TIME_H.
36015         (gl_HEADER_SYS_TIME_H): New macro.
36016
36017         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
36018         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
36019         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
36020         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
36021         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
36022         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
36023         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
36024         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
36025         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
36026         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
36027         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
36028
36029         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
36030         last change; it caused a compilation error when cross-compiling to
36031         Cygwin.
36032
36033 2007-01-18  Jim Meyering  <jim@meyering.net>
36034
36035         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
36036         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
36037         than the race-prone "test -d sys || mkdir sys".
36038         (configure.ac): Use AC_PROG_MKDIR_P.
36039         * modules/sys_select: Likewise.
36040         * modules/sys_socket: Likewise.
36041         * modules/sys_time: Likewise.
36042
36043 2007-01-18  Eric Blake  <ebb9@byu.net>
36044
36045         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
36046         replace gettimeofday.
36047         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
36048         name, to avoid infinite recursion.
36049
36050 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
36051
36052         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
36053         module sys_time.
36054         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
36055         assume timespec.h defines struct timeval.
36056         * lib/settime.c: Likewise.
36057         * lib/utimens.c: Likewise.
36058         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
36059         since we now assume the gettimeofday module.
36060         * lib/tempname.c (__gen_tempname): Likewise.
36061         * lib/gettimeofday.h: Remove.
36062         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
36063         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
36064         Include <time.h>, for 'time()'.
36065         (localtime_buffer_addr): Also use this workaround if
36066         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
36067         to simplify the uses.  All uses changed.
36068         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
36069         that #undef is inside {}, and 'const' follows type name consistently.
36070         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
36071         (gettimeofday): Do not use the maximum possible value for
36072         tv->tv_usec, since that might break usages other than ls.c.
36073         Instead, we'll leave ls.c alone.  This undoes today's patch
36074         by Bruno.  Add a compile-time warning for 1s-clock resolution;
36075         we've never observed the problem but might as well keep the
36076         canary.
36077         * lib/nanosleep.c: Include timespec.h first, for interface check.
36078         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
36079         now assume the sys_time module.
36080         * lib/tempname.c: Likewise.
36081         * lib/timespec.h: Likewise.
36082         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
36083         needed.
36084         * lib/strftime.c: Likewise.
36085         * lib/timespec.h: Likewise.
36086         * lib/posixtm.c: Include posixtm.h first, for interface check.
36087         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
36088         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
36089         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
36090         * lib/sys_time_.h: New file.
36091         * lib/timespec.h (struct timespec): Use long int, not long.
36092         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
36093         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
36094         Remove obsolescent call to AC_HEADER_TIME.
36095         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
36096         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
36097         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
36098         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
36099         Likewise.
36100         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
36101         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
36102         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
36103         into the sys_time module.  Check for gettimeofday just once.
36104         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
36105         for gettimeofday signature to just check the signature.  Merely
36106         compile it, since linking doesn't test signature.  Improve test for
36107         whether gettimeofday.o is actually needed.
36108         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
36109         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
36110         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
36111         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
36112         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
36113         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
36114         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
36115         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
36116         than worrying about sys/time.h.
36117         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
36118         Don't bother worrying about TIME_WITH_SYS_TIME.
36119         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
36120         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
36121         * m4/sys_time_h.m4: New file.
36122         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
36123         Don't include sys/time.h.  Return from main rather than exiting.
36124         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
36125         all uses changed.
36126         * modules/gethrxtime (Depends-on): Add sys_time.
36127         * modules/gettime (Depends-on): Likewise.
36128         * modules/gettimeofday (Depends-on): Likewise.
36129         * modules/nanosleep (Depends-on): Likewise.
36130         * modules/settime (Depends-on): Likewise.
36131         * modules/tempname (Depends-on): Likewise.
36132         * modules/utimens (Depends-on): Likewise.
36133         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
36134         (Include:) Change back to <sys/time.h>.
36135         (Maintainer:) Add self.
36136         * modules/sys_time: New file.
36137         * modules/tempname (Depends-on): Add gettimeofday.
36138         * tests/test-gettimeofday.c: Include <sys/time.h>
36139         rather than gettimeofday.h.
36140
36141 2007-01-17  Bruno Haible  <bruno@clisp.org>
36142
36143         * gnulib-tool (func_get_license): Revert last patch. Instead, let
36144         the license default to GPL.
36145         (func_create_testdir): Don't complain if a module is LGPL and its
36146         tests module depends on GPLed modules.
36147
36148 2007-01-17  Bruno Haible  <bruno@clisp.org>
36149
36150         * lib/gettimeofday.c (gettimeofday): Add code for the case
36151         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
36152         maximum possible value for tv->tv_usec, rather than the minimum one.
36153
36154 2005-10-08  Martin Lambers  <marlam@marlam.de>
36155 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
36156 2007-01-16  Bruno Haible  <bruno@clisp.org>
36157
36158         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
36159         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
36160         gl_FUNC_GETTIMEOFDAY.
36161         (Include): Add gettimeofday.h.
36162         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
36163         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
36164         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
36165         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
36166         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
36167         * lib/gettimeofday.h: New file.
36168         * lib/gettimeofday.c: Include <sys/timeb.h>.
36169         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
36170         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
36171         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
36172         fall back on time().
36173
36174         * tests/test-gettimeofday.c: New file.
36175         * modules/gettimeofday-tests: New file.
36176
36177 2007-01-16  Eric Blake  <ebb9@byu.net>
36178
36179         * modules/fnmatch (Depends-on): Depend on wchar.
36180         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
36181         * m4/fnmatch.m4: Likewise.
36182         * modules/mbchar (Makefile.am): Assume <wchar.h>.
36183         * m4/mbchar.m4: Likewise.
36184         * modules/mbswidth (Depends-on): Depend on wchar.
36185         * lib/mbswidth.c: Assume <wchar.h>.
36186         * m4/mbswidth.m4: Likewise.
36187         * modules/quotearg (Depends-on): Depend on wchar.
36188         * lib/quotearg.c: Assume <wchar.h>.
36189         * m4/quotearg.m4: Likewise.
36190         * modules/regex (Depends-on): Depend on wchar.
36191         * lib/regex_internal.h: Assume <wchar.h>.
36192         * m4/regex.m4: Likewise.
36193         * modules/stdint (Depends-on): Depend on wchar.
36194         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
36195         * m4/stdint.m4: Likewise.
36196         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
36197         * modules/strftime (Depends-on): Depend on wchar.
36198         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
36199         * modules/strtol (Depends-on): Depend on wchar.
36200         * lib/strtol.c: Assume <wchar.h>.
36201         * modules/wcwidth (Depends-on): Depend on wchar.
36202         * lib/wcwidth.h: Assume <wchar.h>.
36203         * m4/wcwidth.m4: Likewise.
36204
36205 2007-01-16  Bruno Haible  <bruno@clisp.org>
36206
36207         * modules/csharpexec-script: New, created from...
36208         * modules/csharpexec: ... this.
36209
36210 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
36211
36212         * modules/javaexec-script: New, created from...
36213         * modules/javaexec: ... this.
36214
36215 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36216
36217         * modules/poll (Dependencies): Add sys_select.
36218
36219 2007-01-15  Jim Meyering  <jim@meyering.net>
36220
36221         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
36222         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
36223         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
36224         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
36225
36226 2007-01-15  Bruno Haible  <bruno@clisp.org>
36227
36228         * modules/striconveh: New file.
36229         * lib/striconveh.h: New file.
36230         * lib/striconveh.c: New file.
36231         * MODULES.html.sh (Internationalization functions): Add striconveh.
36232
36233         * modules/striconveh-tests: New file.
36234         * tests/test-striconveh.c: New file.
36235
36236 2007-01-15  Bruno Haible  <bruno@clisp.org>
36237
36238         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
36239         not from GNU libiconv or GNU libc.
36240
36241 2007-01-15  Bruno Haible  <bruno@clisp.org>
36242
36243         * doc/gnulib-intro.texi (Copyright): Explain the different license
36244         terms for module descriptions, autoconf macros, tests, documentation.
36245
36246 2007-01-14  Bruno Haible  <bruno@clisp.org>
36247
36248         * modules/striconv-tests: New file.
36249         * tests/test-striconv.c: New file.
36250
36251 2007-01-14  Bruno Haible  <bruno@clisp.org>
36252
36253         * modules/iconv-tests: New file.
36254         * tests/test-iconv.c: New file.
36255
36256 2007-01-14  Bruno Haible  <bruno@clisp.org>
36257
36258         * gnulib-tool (func_get_license): For test modules, use the license of
36259         the main module.
36260
36261 2007-01-14  Bruno Haible  <bruno@clisp.org>
36262
36263         * modules/iconv (Include): Clarify that <iconv.h> can only be included
36264         if iconv is found to exist.
36265
36266 2007-01-14  Bruno Haible  <bruno@clisp.org>
36267
36268         * modules/c-ctype-tests: New file.
36269         * tests/test-c-ctype.c: New file.
36270
36271 2007-01-14  Bruno Haible  <bruno@clisp.org>
36272
36273         * modules/binary-io-tests: New file.
36274         * tests/test-binary-io.sh: New file.
36275         * tests/test-binary-io.c: New file.
36276
36277 2007-01-14  Bruno Haible  <bruno@clisp.org>
36278
36279         * modules/array-oset-tests: New file.
36280         * tests/test-array_oset.c: New file.
36281
36282 2007-01-14  Bruno Haible  <bruno@clisp.org>
36283
36284         * modules/array-list-tests: New file.
36285         * tests/test-array_list.c: New file.
36286
36287 2007-01-14  Bruno Haible  <bruno@clisp.org>
36288
36289         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
36290         and make.
36291         Reported by Simon Josefsson in
36292         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
36293
36294 2007-01-14  Bruno Haible  <bruno@clisp.org>
36295
36296         * modules/allocsa-tests: New file.
36297         * tests/test-allocsa.c: New file.
36298
36299 2007-01-14  Bruno Haible  <bruno@clisp.org>
36300
36301         * modules/fchdir (Depends-on): Add absolute-header.
36302         * modules/unistd (Depends-on): Likewise.
36303
36304 2006-12-30  Bruno Haible  <bruno@clisp.org>
36305
36306         * modules/fchdir: New file.
36307         * modules/unistd (Files): Add lib/unistd_.h.
36308         (Makefile.am): Generate unistd.h from unistd_.h.
36309         * lib/fchdir.c: New file.
36310         * lib/dirent_.h: New file.
36311         * lib/unistd_.h: New file.
36312         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
36313         * m4/fchdir.m4: New file.
36314         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
36315         (gl_HEADER_UNISTD): Invoke it.
36316         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
36317         function.
36318         * lib/backupfile.c (opendir, closedir): Undefine.
36319         * lib/chown.c (open, close): Undefine.
36320         * lib/clean-temp.c (open, close): Undefine.
36321         * lib/copy-file.c (open, close): Undefine.
36322         * lib/execute.c (open, close): Undefine.
36323         * lib/fsusage.c (open, close): Undefine.
36324         * lib/gc-gnulib.c (open, close): Undefine.
36325         * lib/getcwd.c (opendir, closedir): Undefine.
36326         * lib/glob.c (opendir, closedir): Undefine.
36327         * lib/javacomp.c (open, close): Undefine.
36328         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
36329         * lib/openat-proc.c (open, close): Undefine.
36330         * lib/pagealign_alloc.c (open, close): Undefine.
36331         * lib/pipe.c (open, close): Undefine.
36332         * lib/progreloc.c (open, close): Undefine.
36333         * lib/savedir.c (opendir, closedir): Undefine.
36334         * lib/utime.c (open, close): Undefine.
36335         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
36336
36337 2007-01-10  Bruno Haible  <bruno@clisp.org>
36338
36339         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
36340
36341 2007-01-12  Eric Blake  <ebb9@byu.net>
36342
36343         Provide a robust <wchar.h>.  Further simplifications are now
36344         possible in other modules, but not included here.
36345         * modules/wchar: New module.
36346         * m4/wchar.m4: New file.
36347         * lib/wchar_.h: Likewise.
36348         * modules/mbchar (Depends-on): Depend on wchar, as the first use
36349         of the new module.
36350         * MODULES.html.sh (Extended multibyte and wide character utilities):
36351         New section.
36352
36353 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
36354
36355         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
36356         to a reasonable default for memory allocation.
36357         (xreadlink): Don't allocate a huge buffer, to work around a buggy
36358         file system that reports garbage st_size values for symlinks.
36359         Problem reported by Liyang Hu.
36360
36361 2007-01-11  Simon Josefsson  <simon@josefsson.org>
36362
36363         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
36364         Emacs .#* auto-save files).
36365
36366 2007-01-11  Bruno Haible  <bruno@clisp.org>
36367
36368         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
36369         directory.
36370
36371 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
36372
36373         Use @...@ consistently in lib/wctype_.h.
36374         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
36375         on it being set to 1 or 0.
36376         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
36377         go back to AC_SUBSTing it.
36378         * modules/wctype (Makefile.am): Undo previous change.
36379
36380 2007-01-10  Eric Blake  <ebb9@byu.net>
36381
36382         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
36383         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
36384         * modules/wctype (Makefile.am): Likewise.
36385         Reported by Chris McGuire.
36386
36387 2007-01-10  Jim Meyering  <jim@meyering.net>
36388
36389         fts.c: a small readability/maintainability improvement
36390         * lib/fts.c (fts_read): Make this code slightly more readable and
36391         maintainable by hoisting the "sp->fts_cur = p" assignments to
36392         immediately follow the statements that set P.  Derived from
36393         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
36394
36395 2007-01-10  Eric Blake  <ebb9@byu.net>
36396
36397         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
36398         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
36399         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
36400         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
36401         Reported by Chris McGuire.
36402
36403 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36404
36405         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
36406         in sed script.
36407
36408 2007-01-09  Bruno Haible  <bruno@clisp.org>
36409
36410         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
36411         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
36412         variables.
36413         (func_module): Use them.
36414
36415 2007-01-09  Bruno Haible  <bruno@clisp.org>
36416
36417         * modules/unistr/base: New file.
36418         * lib/unistr.h: New file.
36419
36420         * modules/unistr/u8-to-u16: New file.
36421         * lib/unistr/u8-to-u16.c: New file.
36422
36423         * modules/unistr/u8-to-u32: New file.
36424         * lib/unistr/u8-to-u32.c: New file.
36425
36426         * modules/unistr/u16-to-u8: New file.
36427         * lib/unistr/u16-to-u8.c: New file.
36428
36429         * modules/unistr/u16-to-u32: New file.
36430         * lib/unistr/u16-to-u32.c: New file.
36431
36432         * modules/unistr/u32-to-u8: New file.
36433         * lib/unistr/u32-to-u8.c: New file.
36434
36435         * modules/unistr/u32-to-u16: New file.
36436         * lib/unistr/u32-to-u16.c: New file.
36437
36438         * modules/unistr/u8-check: New file.
36439         * modules/unistr/u16-check: New file.
36440         * modules/unistr/u32-check: New file.
36441         * lib/unistr/u8-check.c: New file.
36442         * lib/unistr/u16-check.c: New file.
36443         * lib/unistr/u32-check.c: New file.
36444
36445         * modules/unistr/u8-chr: New file.
36446         * modules/unistr/u16-chr: New file.
36447         * modules/unistr/u32-chr: New file.
36448         * lib/unistr/u8-chr.c: New file.
36449         * lib/unistr/u16-chr.c: New file.
36450         * lib/unistr/u32-chr.c: New file.
36451
36452         * modules/unistr/u8-cmp: New file.
36453         * modules/unistr/u16-cmp: New file.
36454         * modules/unistr/u32-cmp: New file.
36455         * lib/unistr/u8-cmp.c: New file.
36456         * lib/unistr/u16-cmp.c: New file.
36457         * lib/unistr/u32-cmp.c: New file.
36458
36459         * modules/unistr/u8-cpy: New file.
36460         * modules/unistr/u16-cpy: New file.
36461         * modules/unistr/u32-cpy: New file.
36462         * lib/unistr/u8-cpy.c: New file.
36463         * lib/unistr/u16-cpy.c: New file.
36464         * lib/unistr/u32-cpy.c: New file.
36465         * lib/unistr/u-cpy.h: New file.
36466
36467         * modules/unistr/u8-cpy-alloc: New file.
36468         * modules/unistr/u16-cpy-alloc: New file.
36469         * modules/unistr/u32-cpy-alloc: New file.
36470         * lib/unistr/u8-cpy-alloc.c: New file.
36471         * lib/unistr/u16-cpy-alloc.c: New file.
36472         * lib/unistr/u32-cpy-alloc.c: New file.
36473         * lib/unistr/u-cpy-alloc.h: New file.
36474
36475         * modules/unistr/u8-endswith: New file.
36476         * modules/unistr/u16-endswith: New file.
36477         * modules/unistr/u32-endswith: New file.
36478         * lib/unistr/u8-endswith.c: New file.
36479         * lib/unistr/u16-endswith.c: New file.
36480         * lib/unistr/u32-endswith.c: New file.
36481         * lib/unistr/u-endswith.h: New file.
36482
36483         * modules/unistr/u8-mblen: New file.
36484         * modules/unistr/u16-mblen: New file.
36485         * modules/unistr/u32-mblen: New file.
36486         * lib/unistr/u8-mblen.c: New file.
36487         * lib/unistr/u16-mblen.c: New file.
36488         * lib/unistr/u32-mblen.c: New file.
36489
36490         * modules/unistr/u8-mbtouc: New file.
36491         * modules/unistr/u16-mbtouc: New file.
36492         * modules/unistr/u32-mbtouc: New file.
36493         * lib/unistr/u8-mbtouc.c: New file.
36494         * lib/unistr/u16-mbtouc.c: New file.
36495         * lib/unistr/u32-mbtouc.c: New file.
36496
36497         * modules/unistr/u8-mbtouc-safe: New file.
36498         * modules/unistr/u16-mbtouc-safe: New file.
36499         * modules/unistr/u32-mbtouc-safe: New file.
36500         * lib/unistr/u8-mbtouc-safe.c: New file.
36501         * lib/unistr/u16-mbtouc-safe.c: New file.
36502         * lib/unistr/u32-mbtouc-safe.c: New file.
36503
36504         * modules/unistr/u8-move: New file.
36505         * modules/unistr/u16-move: New file.
36506         * modules/unistr/u32-move: New file.
36507         * lib/unistr/u8-move.c: New file.
36508         * lib/unistr/u16-move.c: New file.
36509         * lib/unistr/u32-move.c: New file.
36510         * lib/unistr/u-move.h: New file.
36511
36512         * modules/unistr/u8-next: New file.
36513         * modules/unistr/u16-next: New file.
36514         * modules/unistr/u32-next: New file.
36515         * lib/unistr/u8-next.c: New file.
36516         * lib/unistr/u16-next.c: New file.
36517         * lib/unistr/u32-next.c: New file.
36518
36519         * modules/unistr/u8-prev: New file.
36520         * modules/unistr/u16-prev: New file.
36521         * modules/unistr/u32-prev: New file.
36522         * lib/unistr/u8-prev.c: New file.
36523         * lib/unistr/u16-prev.c: New file.
36524         * lib/unistr/u32-prev.c: New file.
36525
36526         * modules/unistr/u8-set: New file.
36527         * modules/unistr/u16-set: New file.
36528         * modules/unistr/u32-set: New file.
36529         * lib/unistr/u8-set.c: New file.
36530         * lib/unistr/u16-set.c: New file.
36531         * lib/unistr/u32-set.c: New file.
36532         * lib/unistr/u-set.h: New file.
36533
36534         * modules/unistr/u8-startswith: New file.
36535         * modules/unistr/u16-startswith: New file.
36536         * modules/unistr/u32-startswith: New file.
36537         * lib/unistr/u8-startswith.c: New file.
36538         * lib/unistr/u16-startswith.c: New file.
36539         * lib/unistr/u32-startswith.c: New file.
36540         * lib/unistr/u-startswith.h: New file.
36541
36542         * modules/unistr/u8-stpcpy: New file.
36543         * modules/unistr/u16-stpcpy: New file.
36544         * modules/unistr/u32-stpcpy: New file.
36545         * lib/unistr/u8-stpcpy.c: New file.
36546         * lib/unistr/u16-stpcpy.c: New file.
36547         * lib/unistr/u32-stpcpy.c: New file.
36548         * lib/unistr/u-stpcpy.h: New file.
36549
36550         * modules/unistr/u8-stpncpy: New file.
36551         * modules/unistr/u16-stpncpy: New file.
36552         * modules/unistr/u32-stpncpy: New file.
36553         * lib/unistr/u8-stpncpy.c: New file.
36554         * lib/unistr/u16-stpncpy.c: New file.
36555         * lib/unistr/u32-stpncpy.c: New file.
36556         * lib/unistr/u-stpncpy.h: New file.
36557
36558         * modules/unistr/u8-strcat: New file.
36559         * modules/unistr/u16-strcat: New file.
36560         * modules/unistr/u32-strcat: New file.
36561         * lib/unistr/u8-strcat.c: New file.
36562         * lib/unistr/u16-strcat.c: New file.
36563         * lib/unistr/u32-strcat.c: New file.
36564         * lib/unistr/u-strcat.h: New file.
36565
36566         * modules/unistr/u8-strchr: New file.
36567         * modules/unistr/u16-strchr: New file.
36568         * modules/unistr/u32-strchr: New file.
36569         * lib/unistr/u8-strchr.c: New file.
36570         * lib/unistr/u16-strchr.c: New file.
36571         * lib/unistr/u32-strchr.c: New file.
36572
36573         * modules/unistr/u8-strcmp: New file.
36574         * modules/unistr/u16-strcmp: New file.
36575         * modules/unistr/u32-strcmp: New file.
36576         * lib/unistr/u8-strcmp.c: New file.
36577         * lib/unistr/u16-strcmp.c: New file.
36578         * lib/unistr/u32-strcmp.c: New file.
36579
36580         * modules/unistr/u8-strcpy: New file.
36581         * modules/unistr/u16-strcpy: New file.
36582         * modules/unistr/u32-strcpy: New file.
36583         * lib/unistr/u8-strcpy.c: New file.
36584         * lib/unistr/u16-strcpy.c: New file.
36585         * lib/unistr/u32-strcpy.c: New file.
36586         * lib/unistr/u-strcpy.h: New file.
36587
36588         * modules/unistr/u8-strcspn: New file.
36589         * modules/unistr/u16-strcspn: New file.
36590         * modules/unistr/u32-strcspn: New file.
36591         * lib/unistr/u8-strcspn.c: New file.
36592         * lib/unistr/u16-strcspn.c: New file.
36593         * lib/unistr/u32-strcspn.c: New file.
36594         * lib/unistr/u-strcspn.h: New file.
36595
36596         * modules/unistr/u8-strdup: New file.
36597         * modules/unistr/u16-strdup: New file.
36598         * modules/unistr/u32-strdup: New file.
36599         * lib/unistr/u8-strdup.c: New file.
36600         * lib/unistr/u16-strdup.c: New file.
36601         * lib/unistr/u32-strdup.c: New file.
36602         * lib/unistr/u-strdup.h: New file.
36603
36604         * modules/unistr/u8-strlen: New file.
36605         * modules/unistr/u16-strlen: New file.
36606         * modules/unistr/u32-strlen: New file.
36607         * lib/unistr/u8-strlen.c: New file.
36608         * lib/unistr/u16-strlen.c: New file.
36609         * lib/unistr/u32-strlen.c: New file.
36610         * lib/unistr/u-strlen.h: New file.
36611
36612         * modules/unistr/u8-strmblen: New file.
36613         * modules/unistr/u16-strmblen: New file.
36614         * modules/unistr/u32-strmblen: New file.
36615         * lib/unistr/u8-strmblen.c: New file.
36616         * lib/unistr/u16-strmblen.c: New file.
36617         * lib/unistr/u32-strmblen.c: New file.
36618
36619         * modules/unistr/u8-strmbtouc: New file.
36620         * modules/unistr/u16-strmbtouc: New file.
36621         * modules/unistr/u32-strmbtouc: New file.
36622         * lib/unistr/u8-strmbtouc.c: New file.
36623         * lib/unistr/u16-strmbtouc.c: New file.
36624         * lib/unistr/u32-strmbtouc.c: New file.
36625
36626         * modules/unistr/u8-strncat: New file.
36627         * modules/unistr/u16-strncat: New file.
36628         * modules/unistr/u32-strncat: New file.
36629         * lib/unistr/u8-strncat.c: New file.
36630         * lib/unistr/u16-strncat.c: New file.
36631         * lib/unistr/u32-strncat.c: New file.
36632         * lib/unistr/u-strncat.h: New file.
36633
36634         * modules/unistr/u8-strncmp: New file.
36635         * modules/unistr/u16-strncmp: New file.
36636         * modules/unistr/u32-strncmp: New file.
36637         * lib/unistr/u8-strncmp.c: New file.
36638         * lib/unistr/u16-strncmp.c: New file.
36639         * lib/unistr/u32-strncmp.c: New file.
36640
36641         * modules/unistr/u8-strncpy: New file.
36642         * modules/unistr/u16-strncpy: New file.
36643         * modules/unistr/u32-strncpy: New file.
36644         * lib/unistr/u8-strncpy.c: New file.
36645         * lib/unistr/u16-strncpy.c: New file.
36646         * lib/unistr/u32-strncpy.c: New file.
36647         * lib/unistr/u-strncpy.h: New file.
36648
36649         * modules/unistr/u8-strnlen: New file.
36650         * modules/unistr/u16-strnlen: New file.
36651         * modules/unistr/u32-strnlen: New file.
36652         * lib/unistr/u8-strnlen.c: New file.
36653         * lib/unistr/u16-strnlen.c: New file.
36654         * lib/unistr/u32-strnlen.c: New file.
36655         * lib/unistr/u-strnlen.h: New file.
36656
36657         * modules/unistr/u8-strpbrk: New file.
36658         * modules/unistr/u16-strpbrk: New file.
36659         * modules/unistr/u32-strpbrk: New file.
36660         * lib/unistr/u8-strpbrk.c: New file.
36661         * lib/unistr/u16-strpbrk.c: New file.
36662         * lib/unistr/u32-strpbrk.c: New file.
36663         * lib/unistr/u-strpbrk.h: New file.
36664
36665         * modules/unistr/u8-strrchr: New file.
36666         * modules/unistr/u16-strrchr: New file.
36667         * modules/unistr/u32-strrchr: New file.
36668         * lib/unistr/u8-strrchr.c: New file.
36669         * lib/unistr/u16-strrchr.c: New file.
36670         * lib/unistr/u32-strrchr.c: New file.
36671
36672         * modules/unistr/u8-strspn: New file.
36673         * modules/unistr/u16-strspn: New file.
36674         * modules/unistr/u32-strspn: New file.
36675         * lib/unistr/u8-strspn.c: New file.
36676         * lib/unistr/u16-strspn.c: New file.
36677         * lib/unistr/u32-strspn.c: New file.
36678         * lib/unistr/u-strspn.h: New file.
36679
36680         * modules/unistr/u8-strstr: New file.
36681         * modules/unistr/u16-strstr: New file.
36682         * modules/unistr/u32-strstr: New file.
36683         * lib/unistr/u8-strstr.c: New file.
36684         * lib/unistr/u16-strstr.c: New file.
36685         * lib/unistr/u32-strstr.c: New file.
36686         * lib/unistr/u-strstr.h: New file.
36687
36688         * modules/unistr/u8-strtok: New file.
36689         * modules/unistr/u16-strtok: New file.
36690         * modules/unistr/u32-strtok: New file.
36691         * lib/unistr/u8-strtok.c: New file.
36692         * lib/unistr/u16-strtok.c: New file.
36693         * lib/unistr/u32-strtok.c: New file.
36694         * lib/unistr/u-strtok.h: New file.
36695
36696         * modules/unistr/u8-uctomb: New file.
36697         * modules/unistr/u16-uctomb: New file.
36698         * modules/unistr/u32-uctomb: New file.
36699         * lib/unistr/u8-uctomb.c: New file.
36700         * lib/unistr/u16-uctomb.c: New file.
36701         * lib/unistr/u32-uctomb.c: New file.
36702
36703         * MODULES.html.sh (Unicode string functions): Add the new modules.
36704
36705 2007-01-08  Bruno Haible  <bruno@clisp.org>
36706
36707         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
36708         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
36709         subdirectories.
36710
36711 2007-01-08  Karl Berry  <karl@gnu.org>
36712
36713         * doc/error.texi: mention that main() fns must set program_name
36714         when progname is used.
36715
36716 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
36717
36718         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
36719         WCTYPE_H is empty, for the benefit of builds from non-distclean
36720         directories.  Problem reported by Eric Blake in
36721         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
36722
36723 2007-01-08  Bruno Haible  <bruno@clisp.org>
36724
36725         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
36726         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
36727         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
36728         PROVIDE_CANONICALIZE_FILENAME_MODE.
36729         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
36730
36731 2007-01-08  Bruno Haible  <bruno@clisp.org>
36732
36733         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
36734         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
36735         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
36736         * lib/fts.c: Likewise.
36737         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
36738
36739 2006-12-25  Bruno Haible  <bruno@clisp.org>
36740
36741         * modules/utf8-ucs4-safe: New file.
36742         * lib/utf8-ucs4-safe.h: New file.
36743         * lib/unistr/utf8-ucs4-safe.c: New file.
36744
36745         * modules/utf16-ucs4-safe: New file.
36746         * lib/utf16-ucs4-safe.h: New file.
36747         * lib/unistr/utf16-ucs4-safe.c: New file.
36748
36749         * MODULES.html.sh (Unicode string functions): Add the new modules.
36750
36751 2007-01-08  Bruno Haible  <bruno@clisp.org>
36752
36753         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
36754         (Depends-on): Add unitypes.
36755         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
36756         (u8_mbtouc_aux): Move out to separate file.
36757         (u8_mbtouc): Use ucs4_t, uint8_t types.
36758         * lib/unistr/utf8-ucs4.c: New file.
36759
36760         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
36761         (Depends-on): Add unitypes.
36762         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
36763         (u16_mbtouc_aux): Move out to separate file.
36764         (u16_mbtouc): Use ucs4_t, uint16_t types.
36765         * lib/unistr/utf16-ucs4.c: New file.
36766
36767         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
36768         (Depends-on): Add unitypes.
36769         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
36770         (u8_uctomb_aux): Move out to separate file.
36771         (u8_uctomb): Use ucs4_t, uint8_t types.
36772         * lib/unistr/ucs4-utf8.c: New file.
36773
36774         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
36775         (Depends-on): Add unitypes.
36776         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
36777         (u16_uctomb_aux): Move out to separate file.
36778         (u16_uctomb): Use ucs4_t, uint16_t types.
36779         * lib/unistr/ucs4-utf16.c: New file.
36780
36781 2006-12-25  Bruno Haible  <bruno@clisp.org>
36782
36783         * modules/unitypes: New file.
36784         * lib/unitypes.h: New file.
36785         * MODULES.html.sh (func_all_modules): New section "Unicode string
36786         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
36787         this section. Add unitypes.
36788
36789 2007-01-08  Bruno Haible  <bruno@clisp.org>
36790
36791         Avoid variable names that conflict with those from libtool.
36792         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
36793         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
36794         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
36795         library_names_spec to acl_library_names_spec, hardcode_* to
36796         acl_hardcode_*.
36797         Reported by Ralf Wildenhues.
36798
36799 2007-01-08  Bruno Haible  <bruno@clisp.org>
36800
36801         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
36802         definition.
36803         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
36804         definition.
36805         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
36806         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
36807         definition.
36808         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
36809         definition.
36810         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
36811         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
36812         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
36813         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
36814         definition.
36815         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
36816         definition.
36817         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
36818         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
36819         GC_USE_<algorithm>.
36820         * lib/gc-libgcrypt.c: Likewise.
36821         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
36822         * modules/gc-arctwo (configure.ac): Likewise.
36823         * modules/gc-des (configure.ac): Likewise.
36824         * modules/gc-hmac-md5 (configure.ac): Likewise.
36825         * modules/gc-hmac-sha1 (configure.ac): Likewise.
36826         * modules/gc-md2 (configure.ac): Likewise.
36827         * modules/gc-md4 (configure.ac): Likewise.
36828         * modules/gc-md5 (configure.ac): Likewise.
36829         * modules/gc-random (configure.ac): Likewise.
36830         * modules/gc-rijndael (configure.ac): Likewise.
36831         * modules/gc-sha1 (configure.ac): Likewise.
36832
36833 2007-01-08  Bruno Haible  <bruno@clisp.org>
36834
36835         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
36836         macro definition.
36837         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
36838         definition.
36839         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
36840         definition.
36841         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
36842         * modules/fcntl-safer (configure.ac): Likewise.
36843         * modules/fopen-safer (configure.ac): Likewise.
36844         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
36845         GNULIB_FWRITEERROR macro definition.
36846
36847 2007-01-08  Bruno Haible  <bruno@clisp.org>
36848
36849         * m4/gnulib-common.m4: New file.
36850         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
36851         (func_get_filelist): Add m4/gnulib-common.m4.
36852
36853 2007-01-08  Bruno Haible  <bruno@clisp.org>
36854
36855         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
36856         command.
36857
36858 2007-01-08  Jim Meyering  <jim@meyering.net>
36859
36860         Use a more robust test for a "can't happen" condition.
36861         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
36862         narrowed the st_size value.  Presuming the "can't happen" condition
36863         is true, that narrowing could conceivably convert an invalid st_size
36864         value into a valid one.  Instead, use a change based on Matthew
36865         Woehlke's original patch.
36866
36867         Slight readability improvement: use an assert-like macro
36868         in place of literal "abort ()" uses.
36869         * lib/fts.c (fts_assert): Define.
36870         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
36871         Use this macro instead of a bare 'abort'.
36872
36873 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
36874
36875         Don't worry about using IRIX 5.3's wctype.h broken definitions;
36876         simply work around them.
36877         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
36878         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
36879         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
36880         declaring.
36881         Don't bother to define as macros, since the standard doesn't require it.
36882         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
36883         longer worry about IRIX 5.3.
36884         (HAVE_WCTYPE_CTMP_BUG): Remove.
36885
36886 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
36887
36888         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
36889         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
36890         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
36891         Problems reported by Georg Schwarz for IRIX 5.3.
36892
36893         * gnulib-tool (autoconf_minversion): Take the maximum version number
36894         found, not the minimum.  Problem reported by James Youngman.
36895
36896 2007-01-03  Karl Berry  <karl@gnu.org>
36897
36898         * doc/error.texi: new file, explaining interaction with progname.
36899         * doc/gnulib.texi: include it.  Update copyright.
36900
36901 2007-01-03  Simon Josefsson  <simon@josefsson.org>
36902
36903         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
36904         AC_CANONICAL_HOST, to improve autobuild outputs.
36905
36906 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
36907             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
36908
36909         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
36910         sockets, server sockets, and other file descriptors.  Count errors
36911         to compute the return value.  Reorder the code a bit to be easier
36912         to follow.  Don't set event bits that were not requested (except
36913         POLLERR and POLLHUP).
36914
36915 2007-01-01  Bruno Haible  <bruno@clisp.org>
36916
36917         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
36918
36919 2007-01-03  Jim Meyering  <jim@meyering.net>
36920
36921         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
36922
36923 2007-01-02  Bruno Haible  <bruno@clisp.org>
36924
36925         * modules/settime (Include): Require timespec.h.
36926         * modules/nanosleep (Include): Likewise.
36927
36928 2007-01-01  Bruno Haible  <bruno@clisp.org>
36929
36930         * gnulib-tool (func_emit_copyright_notice): Bump year.
36931         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
36932
36933 2007-01-01  Bruno Haible  <bruno@clisp.org>
36934
36935         Improve support for OpenBSD.
36936         * build-aux/config.rpath (libname_spec): Export.
36937         (library_names_spec): New variable. Export.
36938         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
36939         library_names_spec from the config.rpath output. Locate shared library
36940         through the name pattern in library_names_spec.
36941
36942 2007-01-01  Eric Blake  <ebb9@byu.net>
36943
36944         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
36945
36946 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
36947
36948         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
36949         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
36950         assume the C locale, and avoid an "eval" that could cause trouble.
36951         Problem with SORT reported by Bob Proulx.
36952
36953         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
36954         Define.  Trivial patch from Henning Nielsen Lund, originally
36955         sent to bug-grep@gnu.org today.
36956
36957 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
36958
36959         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
36960         struct stat.  Problem reported by Henning Nielsen Lund.
36961         * lib/acl.c: Include acl.h first, to check interface.  Don't
36962         bother to include sys/types.h and sys/stat.h again.
36963
36964 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
36965
36966         Import the following change from libc; problem reported by
36967         Sven Verdoolaege.
36968
36969         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
36970
36971         [BZ #1373]
36972         * lib/argp.h: Remove __NTH for __argp_usage inline function.
36973
36974 2006-12-28  Jim Meyering  <jim@meyering.net>
36975
36976         * build-aux/announce-gen: Do not assume that the package
36977         builds any of tar.gz, tar.bz2, and .xdelta files.
36978         Suggestion from Simon Josefsson.
36979
36980 2006-12-28  Simon Josefsson  <simon@josefsson.org>
36981
36982         * modules/announce-gen: New file.
36983
36984 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
36985
36986         * lib/mbchar.h: Just include <wctype.h>; the wctype module
36987         handles its gotchas now.
36988         * lib/mbswidth.c: Likewise.
36989         * lib/wcwidth.h: Likewise.
36990         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
36991         and iswcntrl; the wctype module does this stuff now.
36992         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
36993         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
36994         * modules/mbchar (Depends-on): Add wctype.
36995         * modules/mbswidth (Depends-on): Likewise.
36996         * modules/wcwidth (Depends-on): Likewise.
36997
36998 2006-12-27  Eric Blake  <ebb9@byu.net>
36999
37000         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
37001         module uses more than what <wctype.h> is required to provide.
37002
37003 2006-12-26  Eric Blake  <ebb9@byu.net>
37004
37005         * gnulib-tool (sed_extract_prog): Avoid space-tab.
37006
37007 2006-12-26  Eric Blake  <ebb9@byu.net>
37008
37009         * modules/absolute-header: New module.
37010         * modules/fcntl (Depends-on): Depend on it.
37011         * modules/inttypes (Depends-on): Likewise.
37012         * modules/stdint (Depends-on): Likewise.
37013         * modules/sys_stat (Depends-on): Likewise.
37014         * modules/wctype (Depends-on): Likewise.
37015         * MODULES.html.sh (Support for building libraries and
37016         executables): Document it.
37017
37018 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
37019
37020         * gnulib-tool (SED): Remove, undoing previous change.
37021         The problem was that it broke coreutils on Solaris, because
37022         "sed --posix" leaked into a makefile.
37023         (sed): New alias, if 'alias' and GNU sed.
37024
37025 2006-12-24  Jim Meyering  <jim@meyering.net>
37026
37027         Work around an fchownat bug in glibc-2.4:
37028         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
37029         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
37030         in spite of the -P option.
37031         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
37032         New macros.
37033         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
37034         * modules/openat (Files): Add lib/fchownat.c.
37035         * lib/openat.c (fchownat): Don't define here.  Move to...
37036         * lib/fchownat.c: ...this new file.
37037
37038 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
37039
37040         Fix bug reported by Bruno Haible in
37041         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
37042         where quotearg.c didn't compile on Mac OS X 10.2 because it
37043         lacks <wchar.h> and wint_t.
37044         * lib/wctype_.h (__wctype_wint_t): New type.
37045         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
37046         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
37047         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
37048         Arg is now of type __wctype_wint_t, not wint_t.
37049         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
37050         substitute HAVE_WINT_T.
37051         * modules/wctype (Files): Add m4/wint_t.m4.
37052         (wctype.h): Substitute HAVE_WINT_T.
37053
37054 2006-12-23  Bruno Haible  <bruno@clisp.org>
37055
37056         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
37057
37058 2006-12-23  Bruno Haible  <bruno@clisp.org>
37059
37060         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
37061         S_ISLNK.
37062         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
37063         mingw.
37064
37065 2006-12-22  Bruno Haible  <bruno@clisp.org>
37066
37067         * lib/copy-file.c: Include acl.h.
37068         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
37069         Close the file descriptors only after being done with copy_acl.
37070         * modules/copy-file (Depends-on): Add acl.
37071
37072 2006-12-22  Bruno Haible  <bruno@clisp.org>
37073
37074         * gnulib-tool (SED): New variable.
37075         Use $SED instead of sed everywhere.
37076
37077 2006-12-22  Bruno Haible  <bruno@clisp.org>
37078
37079         * modules/no-c++: New file.
37080         * m4/no-c++.m4: New file.
37081         * MODULES.html.sh (Support for building libraries and executables):
37082         Add no-c++.
37083
37084 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
37085
37086         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
37087         Include <limits.h>, and use its INT_MAX to rewrite the
37088         j loop so that it does not overflow 'int'.  Problem reported by
37089         Ralf Wildenhues in
37090         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
37091         Play it safe by shifting left by 1 rather than multiplying by 2,
37092         as GCC is less likely to optimize this away when the value
37093         is signed (when it assumes overflow leads to undefined behavior).
37094         Also, don't assume time_t uses two's complement.
37095
37096 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
37097
37098         * MODULES.html.sh: New module wctype.
37099         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
37100         * lib/fnmatch.c: Don't bother to include <wchar.h> before
37101         <wctype.h>, since the new wctype module should fix this.
37102         * lib/quotearg.c: Include <wctype.h> unconditionally, since
37103         the wctype module should arrange for it.
37104         * lib/regex_internal.h: Likewise.
37105         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
37106         since the wctype module should handle this now.
37107         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
37108         * modules/fnmatch (Depends-on): Add wctype.
37109         * modules/quotearg (Depends-on): Likewise.
37110         * modules/regex (Depends-on): Likewise.
37111
37112 2006-12-19  Bruno Haible  <bruno@clisp.org>
37113
37114         * lib/strdup.h [C++]: Wrap definitions in extern "C".
37115         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
37116
37117 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37118
37119         * modules/savewd (Depends-on): Fix dependency on fcntl.
37120
37121 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
37122
37123         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
37124         conforms to C99, rather than relying on the user's environment
37125         setting of STDINT_H.
37126
37127 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
37128         and Eric Blake  <ebb9@byu.net>
37129
37130         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
37131         This is more consistent with the other defines here.
37132         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
37133         Port to z/OS.  Problem reported by Paul Gilmartin.
37134         Change local vars to use gl_ prefix rather than ac_.
37135         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
37136         with other defines.
37137         * modules/double-slash-root: New module.
37138         * modules/dirname (Files): Remove m4/double-slash-root.m4.
37139         (Depends-on): Add double-slash-root.
37140         * MODULES.html.sh (File system functions): Mention new module.
37141
37142 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
37143
37144         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
37145         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
37146         This is for the benefit of gzip, which doesn't do i18n.
37147
37148 2006-12-12  Jim Meyering  <jim@meyering.net>
37149
37150         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
37151         Reported by Andreas Schwab <schwab@suse.de>.
37152
37153 2006-12-12  Bruno Haible  <bruno@clisp.org>
37154
37155         Merge these changes.
37156         2006-09-05  Bruno Haible  <bruno@clisp.org>
37157         * lib/iconvme.c (iconv_string): No need to save and restore errno when
37158         iconv_alloc succeeded.
37159         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
37160         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
37161         test for " && dest " at the end - dest is always != NULL there. Call
37162         iconv with 4xNULL arguments initially, to reset the state. Call iconv
37163         with 2xNULL arguments, also to flush the state storage. Handle the
37164         IRIX iconv behaviour. Realloc the final result, to throw away unused
37165         memory.
37166
37167 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
37168
37169         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
37170         and fchmodat unconditionally, since glibc 2.4 has them.
37171         Problem reported by Arkadiusz Miskiewicz.
37172
37173 2006-12-10  Bruno Haible  <bruno@clisp.org>
37174
37175         * gnulib-tool (func_import): Show the include files only for those
37176         modules that are copied and specified.
37177         Reported by Karl Berry.
37178
37179 2006-12-08  Jim Meyering  <jim@meyering.net>
37180
37181         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
37182         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
37183
37184         * build-aux/announce-gen: Add two new options, both optional:
37185         --bootstrap-tools=TOOL_LIST
37186               a comma-separated list of tools, e.g.,
37187               autoconf,automake,bison,gnulib
37188         --gnulib-snapshot-date=DATE
37189               if gnulib is in the bootstrap tool list,
37190               then report this as the snapshot date.
37191               If not specified, use the current date/time.
37192               If you specify a date here, be sure it's UTC.
37193
37194 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37195
37196         * tests/test-argp-2.sh: Fix test to match actual output.
37197         (func_compare): Fix sed script to be portable.
37198
37199 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
37200
37201         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
37202         workaround for this case.  It is not autoconfigured now; offhand
37203         it's hard to see how to autoconfigure it.
37204
37205 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
37206
37207         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
37208         a directory that is about to be chowned.  Such a directory's
37209         initial file permissions should permit the owner only and this
37210         should not be changed until after the chown, since the group and
37211         other bits would be incorrect if they granted permission before
37212         the chown.
37213
37214         Fix porting problem for iswctype reported by Georg Schwarz in:
37215         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
37216         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
37217         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
37218         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
37219         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
37220
37221 2006-12-03  Jim Meyering  <jim@meyering.net>
37222
37223         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
37224         p->fts_statp may not yet be defined.
37225         (fts_read): Instead, set it in the caller, once p->fts_statp is
37226         sure to be defined, and corresponds to a top-level directory.
37227         This bug made du -x fail.  Here's the coreutils test case:
37228         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
37229         Reported by Mike Frysinger.
37230
37231 2006-12-01  Jim Meyering  <jim@meyering.net>
37232
37233         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
37234         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
37235         Reported by Simon Josefsson.
37236
37237 2006-11-30  Jim Meyering  <jim@meyering.net>
37238
37239         * m4/warning.m4: Use the all-permissive copyright notice
37240         recommended by RMS (rather than LGPL).
37241         * m4/vararrays.m4: Likewise.
37242         * m4/flexmember.m4: Likewise.
37243
37244 2006-11-29  Bruno Haible  <bruno@clisp.org>
37245
37246         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
37247         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
37248         using +=.
37249         Reported by Simon Josefsson <simon@josefsson.org>.
37250
37251 2006-11-28  James Youngman <jay@gnu.org>
37252
37253         * README: Advise users that they might find the bug-gnulib@gnu.org
37254         and autotools-announce@gnu.org mailing lists useful.
37255
37256 2006-11-28  Bruno Haible  <bruno@clisp.org>
37257
37258         * m4/ptrdiff_max.m4: Remove file.
37259
37260 2006-11-21  Bruno Haible  <bruno@clisp.org>
37261
37262         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
37263         _AC_COMPUTE_INT.
37264         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
37265         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
37266         _AC_COMPUTE_INT.
37267         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
37268         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
37269         _AC_COMPUTE_INT.
37270         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
37271
37272 2006-11-28  Jim Meyering  <jim@meyering.net>
37273
37274         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
37275         warning from "gcc -Wshadow" about shadowing the builtin.
37276
37277 2006-11-27  Bruno Haible  <bruno@clisp.org>
37278
37279         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
37280         _AC_COMPUTE_INT.
37281         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
37282
37283 2006-11-27  Bruno Haible  <bruno@clisp.org>
37284             Paul Eggert  <eggert@cs.ucla.edu>
37285
37286         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
37287
37288 2006-11-26  Bruno Haible  <bruno@clisp.org>
37289
37290         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
37291         noinst_LTLIBRARIES.
37292
37293 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
37294             Bruno Haible  <bruno@clisp.org>
37295
37296         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
37297         if compiling with "gcc -ansi".
37298
37299 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
37300
37301         Fix some incompatibilities with gcc -ansi -pedantic.
37302         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
37303         if compiling pedantically with GCC, unless it's C99 or later.
37304         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
37305         it mishandles gcc -ansi -pedantic as well.
37306         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
37307         if gcc -pedantic.
37308         * lib/regexec.c (check_node_accept_bytes): Don't use auto
37309         initializers for struct if -pedantic, unless it's C99 or later.
37310
37311 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
37312
37313         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
37314         Don't close an fd more than once. Identical atimes indicate
37315         success, not failure.
37316
37317 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
37318
37319         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
37320
37321 2006-11-23  Jim Meyering  <jim@meyering.net>
37322
37323         * build-aux/announce-gen: New file.  From coreutils.
37324
37325 2006-11-22  Jim Meyering  <jim@meyering.net>
37326
37327         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
37328         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
37329         (fts_read): Use a temporary to narrow the overused st_size member
37330         before using it in a switch statement.  Reported by Matthew Woehlke.
37331
37332         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
37333         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
37334
37335 2006-11-20  Bruno Haible  <bruno@clisp.org>
37336
37337         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
37338         changequote instead of pairs of brackets.
37339         Reported by Andreas Schwab <schwab@suse.de>.
37340
37341 2006-11-21  Jim Meyering  <jim@meyering.net>
37342
37343         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
37344         so as to remain compatible with older compilers.
37345         Patch from Michael Deutschmann.
37346
37347 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
37348
37349         * MODULES.html.sh (File system functions): Add openat.
37350
37351         * lib/openat.h (rpl_fstatat): New macro, if
37352         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
37353         (fstatat): Define to rpl_fstatat under the same conditions,
37354         unless COMPILING_FSTATAT.
37355         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
37356         seems to have the bug.
37357         * lib/fstatat.c: New file.
37358         * modules/openat (Files): Add it.
37359
37360 2006-11-20  Bruno Haible  <bruno@clisp.org>
37361
37362         * Makefile: New file.
37363
37364 2006-11-20  Jim Meyering  <jim@meyering.net>
37365
37366         The beginnings of syntax-related checks for gnulib.
37367         * lib/Makefile: New file.
37368         * lib/t-idcache: New script.  Ensure that the two halves of
37369         idcache.c stay in sync.
37370
37371         * lib/idcache.c: Adjust comments in user- and group- portions to
37372         be more accurate, and to be consistent with one another.
37373
37374 2006-11-20  Jim Meyering  <jim@meyering.net>
37375
37376         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
37377         continue using the flexible array member (thus, this module performs
37378         half as many malloc calls), with the addition that...
37379         (getgroup, getuser): Consistently record a non-match via an empty
37380         "name" string, and map an empty string match to a NULL return value.
37381         * modules/idcache (Depends-on): Re-add flexmember.
37382
37383         * lib/idcache.c (getuser): Remove all uses of the register keyword.
37384         (getuidbyname, getgroup, getgidbyname): Likewise.
37385
37386         Use cleaner syntax: NULL rather than 0.
37387         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
37388
37389 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
37390
37391         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
37392         It mishandled the case where the group was missing.
37393         Problem reported by Greg Schafer.
37394         * modules/idcache: Likewise.
37395
37396 2006-11-18  Jim Meyering  <jim@meyering.net>
37397
37398         * check-module (%exempt_header): Add exception for some
37399         conditionally-included headers.
37400
37401         * modules/i-ring (Depends-on): Add verify.
37402         (License): Change to LGPL.
37403
37404 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
37405
37406         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
37407         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
37408         and inttostr.h.  Use snprintf rather than uinttostr, so that
37409         LGPLed code doesn't depend on GPLed.
37410
37411 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
37412
37413         * modules/inline (License): Change from GPL to LGPL.
37414
37415 2006-11-17  Jim Meyering  <jim@meyering.net>
37416
37417         * modules/d-type (License): Switch to LGPL.
37418
37419 2006-11-15  Bruno Haible  <bruno@clisp.org>
37420
37421         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
37422
37423 2006-11-15  Eric Blake  <ebb9@byu.net>
37424
37425         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
37426         the module dependency.
37427
37428 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37429             Bruno Haible  <bruno@clisp.org>
37430
37431         * gnulib-tool (func_create_testdir): Add license consistency check.
37432
37433 2006-11-15  Eric Blake  <ebb9@byu.net>
37434
37435         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
37436         random "(cached)" in configure output.
37437
37438 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37439
37440         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
37441         test for conforming inttypes.h is both announced and cached.
37442
37443         * MODULES.html.sh (seen_modules, seen_files): New variables.
37444         (func_module): Rewrite to use a few less gnulib-tool and sed
37445         invocations.  Avoid a couple of quadratic algorithms for ...
37446         (missed_modules, missed_files): ... these, with ...
37447         (func_append, func_tmpdir): ... these new functions, from
37448         gnulib-tool.  Analogously, install traps for cleanup.
37449
37450         * tests/test-gc.c (main): Remove unused variables.
37451         * tests/test-read-file.c: Include stdlib.h, for 'free'.
37452
37453 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
37454
37455         * modules/inttostr (License): Change to LGPL.
37456
37457 2006-11-14  Eric Blake  <ebb9@byu.net>
37458
37459         * modules/tempname (License): Change to LGPL.
37460
37461 2006-11-14  Eric Blake  <ebb9@byu.net>
37462
37463         * doc/functions.texi (Function Portability): *printf functions on
37464         Cygwin now understand all POSIX size specifiers.
37465
37466 2006-11-14  Bruno Haible  <bruno@clisp.org>
37467
37468         * modules/c-ctype (License): Change to LGPL.
37469
37470 2006-11-12  Bruno Haible  <bruno@clisp.org>
37471
37472         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
37473         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
37474         for GNOME libraries, for which the include files are installed in
37475         subdirectories of $prefix/include.
37476
37477 2006-11-12  Bruno Haible  <bruno@clisp.org>
37478
37479         * m4/lib-link.m4: Require at least autoconf-2.54.
37480         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
37481         name to underscores for the --with option.
37482
37483 2006-11-13  Bruno Haible  <bruno@clisp.org>
37484
37485         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
37486         the tests directory.
37487         Reported by Ralf Wildenhues.
37488
37489 2006-11-13  Bruno Haible  <bruno@clisp.org>
37490
37491         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
37492         (func_emit_initmacro_end): Undo the override here.
37493         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
37494         Works around the famous automake error in coreutils.
37495
37496 2006-11-13  Eric Blake  <ebb9@byu.net>
37497
37498         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
37499         element, not its node.
37500
37501 2006-11-12  Bruno Haible  <bruno@clisp.org>
37502
37503         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
37504         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
37505
37506 2006-11-12  Bruno Haible  <bruno@clisp.org>
37507
37508         * gnulib-tool: New option --local-symlink.
37509         (func_usage): Document it.
37510         (lsymbolic): New variable.
37511         (func_import, func_create_testdir): If --symlink was not specified,
37512         test whether --local-symlink was specified and the file comes from
37513         the local_gnulib_dir.
37514
37515 2006-11-12  Bruno Haible  <bruno@clisp.org>
37516
37517         * gnulib-tool (func_ln): New function.
37518         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
37519
37520 2006-11-12  Bruno Haible  <bruno@clisp.org>
37521
37522         Finish support for source files in subdirectories.
37523         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
37524         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
37525         AUTOMAKE_OPTIONS.
37526         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
37527
37528 2006-11-12  Bruno Haible  <bruno@clisp.org>
37529
37530         * gnulib-tool (func_get_automake_snippet): Synthesize also an
37531         EXTRA_lib_SOURCES augmentation.
37532         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
37533
37534 2006-11-12  Jim Meyering  <jim@meyering.net>
37535
37536         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
37537         file descriptors.  This also averts a failure on systems with
37538         native openat support when a traversed directory lacks "x" access.
37539         * lib/fts_.h: Include "i-ring.h"
37540         (struct FTS) [fts_fd_ring]: New member.
37541         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
37542         (FCHDIR): Add parentheses.
37543         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
37544         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
37545         When descending, rather than simply closing the previous
37546         fts_cwd_fd value, push that file descriptor onto the ring.
37547         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
37548         (fts_open): Initialize the new fd_ring member.
37549         (fts_close): Clear the ring.
37550         (fts_safe_changedir): When possible, use our new fd_ring to skip
37551         the diropen and fstat and dev/ino comparison that would normally
37552         accompany a virtual `chdir ("..")'.
37553
37554         * modules/fts (Depends-on): Add i-ring.
37555         * modules/i-ring: New module.
37556         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
37557         * m4/i-ring.m4: New file.
37558
37559 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37560
37561         * gnulib-tool (func_create_testdir): Fix replacement of
37562         `build-aux' in configure.ac.  Run autotools in gltests
37563         subdirectory.
37564         (func_create_testdir, func_create_megatestdir, test): There is
37565         no need for '--force' in most autotool invocations in a new
37566         tree.  Actually fail the whole test if any of the tools, or the
37567         configure or make stages fail.
37568
37569         Sync from Automake.
37570         * build-aux/gnupload: Revert last change.  Add pointer to upload
37571         instructions of the GNU Maintenance Instructions.
37572         Suggestion by Karl Berry.
37573
37574 2006-11-10  Jim Meyering  <jim@meyering.net>
37575
37576         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
37577
37578 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
37579
37580         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
37581         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
37582         (bind_textdomain_codeset) [! ENABLE_NLS]:
37583         Evaluate all the arguments.  That way, callers get compatible behavior
37584         if the arguments have side effects.  Also, it avoids some GCC
37585         diagnostics in some cases; Joel E. Denny reported problems when Bison
37586         was configured with --enable-gcc-warnigs.
37587
37588 2006-11-10  Jim Meyering  <jim@meyering.net>
37589
37590         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
37591         relevant options in CFLAGS (like -O, -fno-inline) are taken into
37592         account.
37593
37594 2006-11-10  Jim Meyering  <jim@meyering.net>
37595
37596         * modules/inline: New file/module.
37597         * modules/xalloc (Files): Remove m4/inline.m4.
37598         (Depends-on): Add inline, instead.
37599         * modules/oset: Likewise.
37600         * modules/list: Likewise.
37601
37602 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
37603
37604         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
37605         Problem reported by Matthew Woehlke.
37606
37607 2006-11-09  Bruno Haible  <bruno@clisp.org>
37608
37609         * lib/tempname.c (gen_tempname): Remove variant that invokes
37610         __gen_tempname.
37611         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
37612         __gen_tempname.
37613
37614 2006-11-08  Bruno Haible  <bruno@clisp.org>
37615
37616         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
37617         to 'yes' instead of 'cross-compiling'.
37618
37619 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
37620
37621         * lib/quotearg.h (quotearg_free): New decl.
37622         * lib/quotearg.c (quotearg_free): New function.
37623         (slot0, nslots, slotvec0, slotvec):
37624         Now file-scope so that quotearg_free can get at them.
37625
37626 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37627
37628         Sync from Automake.
37629         * build-aux/gnupload: Add missing 'gnu' to example URL.
37630         Report by Karl Berry.
37631
37632 2006-11-08  Bruno Haible  <bruno@clisp.org>
37633
37634         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
37635         Suggested by Paul Eggert.
37636
37637 2006-11-08  Jim Meyering  <jim@meyering.net>
37638
37639         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
37640         It's already included if !_LIBC.
37641         (fts_safe_changedir): Add a comment.
37642
37643 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
37644
37645         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
37646         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
37647         Matthew Woehlke.
37648
37649         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
37650         definitions up, to avoid colliding with change below.
37651         (static_inline) [HAVE_INLINE]: New macro.
37652         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
37653         Provide extern decls when !HAVE_INLINE.  Do not define unless
37654         static_inline is defined, either by us or by xmalloc.c.  Use
37655         static_inline rather than static inline.
37656         (XCALLOC): Optimize sizeof(T) = 1 case.
37657         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
37658
37659 2006-11-07  Bruno Haible  <bruno@clisp.org>
37660
37661         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
37662         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
37663         AC_C_INLINE.
37664         * modules/xalloc (Files): Add m4/inline.m4.
37665
37666 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37667
37668         * README: Fix typo.
37669         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
37670         (Miscellanous Notes): ...from this.
37671
37672 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
37673
37674         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
37675         Mention that offsetof should be used instead of sizeof.
37676         From Bruno Haible.
37677
37678 2006-11-07  Bruno Haible  <bruno@clisp.org>
37679
37680         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
37681
37682 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
37683
37684         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
37685         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
37686         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
37687         (gl_tree_add_before, gl_tree_add_after):
37688         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
37689         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
37690         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
37691         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
37692         (gl_linked_add_after, gl_linked_add_at): Likewise.
37693         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
37694         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
37695         (gl_tree_add_before, gl_tree_add_after): Likewise.
37696         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
37697         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
37698         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
37699
37700 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37701
37702         * lib/gl_oset.h: Use C comment style, not C++ comment style.
37703
37704 2006-11-06  Bruno Haible  <bruno@clisp.org>
37705
37706         * m4/inline.m4: New file.
37707         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
37708         * modules/list (Files): Add m4/inline.m4.
37709         * modules/oset (Files): Likewise.
37710
37711 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
37712
37713         * lib/idcache.c: Include <stddef.h>, for offsetof.
37714         (struct userid.name): Change from char * to a flexible array member.
37715         All uses changed.
37716         * modules/idcache (Depends-on): Add flexmember.
37717
37718         * MODULES.html.sh (Core language properties): New module flexmember.
37719         * modules/flexmember, m4/flexmember.m4: New files.
37720
37721         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
37722         inline functions that are identical with the old xnmalloc_inline,
37723         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
37724         that we can avoid some unnecessary integer multiplications and
37725         divisions in the common case where the element size is known at
37726         compile time.
37727         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
37728         needed.
37729         (xnboundedmalloc): Remove.
37730         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
37731         arguments, for consistency with rest of this header.
37732         (xcharalloc): Rewrite using XNMALLOC.
37733         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
37734         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
37735         versions have been moved to lib/xalloc.h and renamed to be the
37736         non-*_inline versions.
37737         (xmalloc, xrealloc): Implement without reference to the xnmalloc
37738         and xnrealloc functions, since those functions are now inline and
37739         now call us.
37740         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
37741         renaming described above.
37742         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
37743         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
37744         captures the dependency in AC_C_INLINE.
37745
37746         New module canonicalize-lgpl, proposed by Charles Wilson in
37747         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
37748         with a few small changes afterwards.
37749         * MODULES.html.sh (File system functions): New module
37750         canonicalize-lgpl.
37751         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
37752         and canonicalize_file_name.
37753         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
37754         * modules/canonicalize-lgpl: New files.
37755
37756 2006-11-05  Bruno Haible  <bruno@clisp.org>
37757
37758         * gnulib-tool (func_import, func_create_testdir): Create directories
37759         also for files in subdirectories of lib/.
37760
37761 2006-11-05  Bruno Haible  <bruno@clisp.org>
37762
37763         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
37764         ANSI C compliant.
37765
37766 2006-11-03  Bruno Haible  <bruno@clisp.org>
37767
37768         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
37769         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
37770         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
37771         (xnboundedmalloc): New inline function.
37772         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
37773         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
37774         xmalloc.
37775         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
37776         xmalloc.
37777         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
37778         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
37779         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
37780         xmalloc.
37781         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
37782         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
37783         xmalloc.
37784         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
37785         gl_tree_add_after): Use XMALLOC instead of xmalloc.
37786         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
37787         xmalloc.
37788         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
37789         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
37790         gl_tree_add_after): Use XMALLOC instead of xmalloc.
37791         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
37792         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
37793         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
37794         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
37795
37796 2006-11-03  Bruno Haible  <bruno@clisp.org>
37797
37798         * lib/c-ctype.h [C++]: Define functions without name mangling.
37799         * lib/fwriteerror.h [C++]: Likewise.
37800         * lib/gcd.h [C++]: Likewise.
37801         * lib/linebreak.h [C++]: Likewise.
37802
37803 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
37804
37805         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
37806         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
37807         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
37808         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
37809         Check for functions and headers just once.
37810         Check for declaration of canonicalize_file_name.
37811         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
37812
37813 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
37814
37815         * gnulib-tool (func_import): Fix typo in actioncmd.
37816
37817 2006-11-02  Bruno Haible  <bruno@clisp.org>
37818
37819         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
37820         newline sequence in the Makefile.am snippet as a space, like "make"
37821         does.
37822         Reported by Roger Persson <perrog@gmail.com>.
37823
37824 2006-11-01  Bruno Haible  <bruno@clisp.org>
37825
37826         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
37827         already declared in <string.h>.
37828         * lib/strcase.h (strncasecmp): Don't declare it if yes.
37829
37830 2006-11-01  Bruno Haible  <bruno@clisp.org>
37831
37832         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
37833         * lib/strcase.h: Include <string.h>.
37834         (strcasecmp): Define to rpl_strcasecmp here.
37835
37836 2006-11-01  Bruno Haible  <bruno@clisp.org>
37837
37838         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
37839
37840 2006-11-01  Eric Blake  <ebb9@byu.net>
37841
37842         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
37843
37844         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
37845
37846 2006-10-29  Bruno Haible  <bruno@clisp.org>
37847
37848         Make it compile in C++ mode.
37849         * lib/full-write.c (full_rw): Add a cast.
37850
37851 2006-11-01  Bruno Haible  <bruno@clisp.org>
37852
37853         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
37854         be POSIX compliant.
37855         Reported by Roger Persson <perrog@gmail.com>.
37856
37857 2006-11-01  Eric Blake  <ebb9@byu.net>
37858
37859         * lib/getopt_.h: Fix comments.
37860
37861 2006-10-31  Eric Blake  <ebb9@byu.net>
37862
37863         * modules/tmpdir (Depends-on): Add sys_stat.
37864         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
37865         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
37866         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
37867         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
37868         tempname.
37869
37870 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
37871
37872         Avoid some C++ diagnostics reported by Bruno Haible.
37873         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
37874         xmalloc.
37875         (quotearg_alloc): Use xcharalloc rather than xmalloc.
37876         (struct slotvec): Move to top level.
37877         (quotearg_n_options): Rewrite to avoid xmalloc.
37878         * lib/xalloc.h (xcharalloc): New function.
37879         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
37880         [defined __cplusplus]: Add function template that provides result
37881         type propagation.  This part of the change is from Bruno Haible.
37882
37883 2006-10-29  Bruno Haible  <bruno@clisp.org>
37884
37885         Make it compile in C++ mode.
37886         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
37887         * lib/strnlen1.c (strnlen1): Cast memchr result.
37888         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
37889         * lib/clean-temp.c (string_equals, string_hash): Add casts.
37890         (create_temp_dir): Rename local variable 'template'.
37891         (compile_csharp_using_sscli): Add cast.
37892         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
37893         * lib/findprog.c (find_in_path): Likewise.
37894         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
37895         * lib/wait-process.c (register_slave_subprocess): Likewise.
37896
37897 2006-10-22  Bruno Haible  <bruno@clisp.org>
37898
37899         * modules/tsearch: New file.
37900         * lib/tsearch.h: New file.
37901         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
37902         * m4/tsearch.m4: New file.
37903         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
37904
37905 2006-10-29  Eric Blake  <ebb9@byu.net>
37906
37907         * lib/arcfour.c: Assume config.h.
37908         * lib/arctwo.c: Likewise.
37909         * lib/base64.c: Likewise.
37910         * lib/check-version.c: Likewise.
37911         * lib/crc.c: Likewise.
37912         * lib/des.c: Likewise.
37913         * lib/gc-gnulib.c: Likewise.
37914         * lib/gc-libgcrypt.c: Likewise.
37915         * lib/gc-pbkdf2-sha1.c: Likewise.
37916         * lib/getaddrinfo.c: Likewise.
37917         * lib/getdelim.c: Likewise.
37918         * lib/getline.c: Likewise.
37919         * lib/hmac-md5.c: Likewise.
37920         * lib/hmac-sha1.c: Likewise.
37921         * lib/iconvme.c: Likewise.
37922         * lib/md2.c: Likewise.
37923         * lib/md4.c: Likewise.
37924         * lib/memxor.c: Likewise.
37925         * lib/read-file.c: Likewise.
37926         * lib/readline.c: Likewise.
37927         * lib/rijndael-alg-fst.c: Likewise.
37928         * lib/rijndael-api-fst.c: Likewise.
37929         * lib/xgetdomainname.c: Likewise.
37930
37931 2006-10-28  Eric Blake  <ebb9@byu.net>
37932
37933         * lib/xstrndup.c: Assume config.h.
37934
37935 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
37936
37937         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
37938         stat-macros.h is now for our own macros, whereas stat_h is for
37939         macros in the <sys/stat.h> name space.
37940         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
37941         (STAT_MACROS_H): Remove.
37942         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
37943         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
37944         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
37945         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
37946         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
37947         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
37948         Move these macros to ...
37949         * lib/stat_.h: here.  Don't include stat-macros.h.
37950         * lib/canonicalize.c: Don't include stat-macros.h.
37951         * lib/chown.c: Likewise.
37952         * lib/euidaccess.c: Likewise.
37953         * lib/file-type.c: Likewise.
37954         * lib/filemode.c: Likewise.
37955         * lib/glob.c: Likewise.
37956         * lib/isapipe.c: Likewise.
37957         * lib/lchown.c: Likewise.
37958         * lib/lstat.c: Likewise.
37959         * lib/mkdir-p.c: Likewise.
37960         * lib/rmdir.c: Likewise.
37961         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
37962         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
37963         unless mkdir isn't declared, to speed up 'configure'.
37964         Always create sys/stat.h, since it's unlikely any real sys/stat.h
37965         would define all the S_* symbols.
37966         * modules/canonicalize (Depends-on):
37967         Depend on sys_stat, not stat-macros.
37968         * modules/chown: Likewise.
37969         * modules/euidaccess: Likewise.
37970         * modules/filemode: Likewise.
37971         * modules/file-type: Likewise.
37972         * modules/glob: Likewise.
37973         * modules/isapipe: Likewise.
37974         * modules/lchown: Likewise.
37975         * modules/lstat: Likewise.
37976         * modules/mkancesdirs: Likewise.
37977         * modules/rmdir: Likewise.
37978         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
37979         * modules/modechange: Likewise.
37980         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
37981         (configure.ac): Remove gl_STAT_MACROS.
37982         * modules/sys_stat (Depends-on): Remove stat-macros.
37983
37984 2006-10-27  Bruno Haible  <bruno@clisp.org>
37985
37986         * m4/signed.m4: Remove file.
37987         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
37988         invocation.
37989         * modules/vasnprintf (Files): Remove m4/signed.m4.
37990
37991 2006-10-27  Bruno Haible  <bruno@clisp.org>
37992
37993         Update to GNU gettext 0.16.
37994         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
37995         m4/inttypes-h.m4, m4/signed.m4.
37996         * m4/gettext.m4: Update to GNU gettext 0.16.
37997         * m4/intl.m4: New file, from GNU gettext.
37998         * m4/intldir.m4: New file, from GNU gettext.
37999         * config/srclist.txt: Update
38000
38001 2006-10-27  Eric Blake  <ebb9@byu.net>
38002
38003         * MODULES.html.sh: Document tempname.
38004         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
38005         dependencies.
38006         (Files): Move lib/tempname.c...
38007         * modules/tempname: ...to this new module.
38008         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
38009         (gl_PREREQ_TEMPNAME): Move...
38010         * m4/tempname.m4: ...to this new file.
38011         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
38012         * modules/sys_stat (Depends-on): Add stat-macros.
38013         * lib/stat_.h (includes): Pick up stat macros.
38014         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
38015         if stat macros are broken.
38016         * lib/tempname.c (includes): No need to include "stat-macros.h".
38017         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
38018         (direxists, __path_search) [!_LIBC]: Don't compile these in
38019         gnulib; the tmpdir module covers that.
38020         * lib/tempname.h: New file.
38021
38022 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
38023
38024         * COPYING: Explain how gnulib-tool converts licence headers.
38025         Almost all wording by Eric Blake.
38026
38027 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
38028
38029         * lib/mbchar.h (is_basic_table): Make read-only.
38030         * lib/mbchar.c (is_basic_table): Likewise.
38031         Reported by John Darrington.
38032
38033 2006-10-25  Bruno Haible  <bruno@clisp.org>
38034
38035         * lib/progname.h (set_program_name): Undefine before defining.
38036
38037 2006-10-25  Bruno Haible  <bruno@clisp.org>
38038
38039         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
38040         false for non-gcc C++ compilers.
38041         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
38042
38043 2006-10-24  Bruno Haible  <bruno@clisp.org>
38044
38045         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
38046         iconv implementations like Irix iconv.
38047
38048 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
38049
38050         * modules/vararrays: New file.
38051         * m4/vararrays.m4: New file, taken from diffutils.
38052         * MODULES.html.sh: New module vararrays.
38053
38054 2006-10-24  Karl Berry  <karl@gnu.org>
38055
38056         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
38057         Don't call GNU Unix.
38058
38059 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38060
38061         * users.txt: Add Libtool.
38062
38063         Sync from Libtool:
38064
38065         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
38066
38067         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
38068         to gnulib's policy of including config.h unconditionally.
38069
38070 2006-10-24  Bruno Haible  <bruno@clisp.org>
38071
38072         * modules/wcwidth (Files): Add m4/wint_t.m4.
38073         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
38074         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
38075
38076 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
38077
38078         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
38079         to pacify GCC with some -W flags enabled.  Problem reported by
38080         Bruno Haible.
38081
38082 2006-10-24  Jim Meyering  <jim@meyering.net>
38083
38084         * MODULES.html.sh: Remove uinttostr.  It's not a module.
38085         Reported by Karl Berry.
38086
38087 2006-10-23  Bruno Haible  <bruno@clisp.org>
38088
38089         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
38090
38091 2006-10-24  Bruno Haible  <bruno@clisp.org>
38092
38093         * lib/gl_list.h: Use C comment style, not C++ comment style.
38094
38095 2006-10-23  Eric Blake  <ebb9@byu.net>
38096
38097         * lib/getaddrinfo.c (includes): Add missing include.
38098
38099 2006-10-23  Bruno Haible  <bruno@clisp.org>
38100             Paul Eggert  <eggert@cs.ucla.edu>
38101
38102         Ability to rename obstack_free.
38103         * lib/obstack.h (__obstack_free): New macro. Declare instead of
38104         obstack_free.
38105         (obstack_free): Invoke the __obstack_free macro.
38106         * lib/obstack.c (obstack_free): Use __obstack_free macro.
38107
38108 2006-10-23  Bruno Haible  <bruno@clisp.org>
38109             Paul Eggert  <eggert@cs.ucla.edu>
38110
38111         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
38112         __argc, __argv from the declaration. (They are defined as macros on
38113         mingw.)
38114
38115 2006-10-22  Bruno Haible  <bruno@clisp.org>
38116
38117         * doc/gnulib-intro.texi: New file.
38118         * doc/gnulib.texi: Include it.
38119
38120 2006-10-21  Bruno Haible  <bruno@clisp.org>
38121
38122         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
38123         "Introduction", "Miscellanous Notes", "Particular Modules".
38124
38125 2006-10-21  Bruno Haible  <bruno@clisp.org>
38126
38127         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
38128         Change mostlyclean-local rule to avoid sh syntax error from bash
38129         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
38130
38131 2006-10-23  Jim Meyering  <jim@meyering.net>
38132
38133         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
38134         in place of snprintf.
38135
38136         * modules/inttostr (Files): Add lib/uinttostr.c.
38137         * lib/uinttostr.c (inttostr): New file/function.
38138         * lib/inttostr.h (uinttostr): Declare.
38139         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
38140         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
38141         Add uinttostr.
38142         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
38143
38144 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
38145
38146         * lib/canonicalize.c (ELOOP): Define if not already defined.
38147         Problem reported by Bruno Haible in
38148         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
38149
38150 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
38151
38152         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
38153         Problem reported by Perry Smith and Ville Laurikari.
38154
38155         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
38156         uses.
38157
38158 2006-10-19  Bruno Haible  <bruno@clisp.org>
38159
38160         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
38161         for mingw.
38162
38163 2006-10-19  Bruno Haible  <bruno@clisp.org>
38164
38165         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
38166         Needed for mingw.
38167
38168 2006-10-19  Bruno Haible  <bruno@clisp.org>
38169
38170         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
38171
38172 2006-10-19  Bruno Haible  <bruno@clisp.org>
38173
38174         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
38175         it.
38176
38177 2006-10-19  Bruno Haible  <bruno@clisp.org>
38178
38179         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
38180         invocation.
38181
38182 2006-10-19  Bruno Haible  <bruno@clisp.org>
38183
38184         * gnulib-tool (func_create_testdir): Don't include ftruncate and
38185         mountlist by default.
38186
38187 2006-10-16  Bruno Haible  <bruno@clisp.org>
38188
38189         * lib/c-strstr.c: Include c-strstr.h.
38190
38191 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
38192
38193         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
38194         in a slash.
38195
38196 2006-10-18  Bruno Haible  <bruno@clisp.org>
38197
38198         * lib/lock.h [C++]: Wrap definitions in extern "C".
38199
38200 2006-10-18  Bruno Haible  <bruno@clisp.org>
38201
38202         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
38203         gl_LIBOBJS list.
38204
38205 2006-10-18  Bruno Haible  <bruno@clisp.org>
38206
38207         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
38208
38209 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
38210
38211         * lib/xstrtol.h: Include gettext.h.
38212         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
38213         Problem reported by Eric Blake.
38214         * modules/xstrtol (Depends-on): Add gettext-h.
38215
38216 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
38217
38218         * lib/strftime.c (advance): New macro.
38219         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
38220         incomplete type, so you can't add 0 to it.  Problem and patch
38221         reported by Eelco Dolstra for dietlibc.
38222
38223 2006-10-18  Jim Meyering  <jim@meyering.net>
38224
38225         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
38226         type for a local, and rename it: s/up/user_proc/.
38227
38228 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
38229
38230         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
38231         READ_UTMP_USER_PROCESS.
38232         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
38233
38234 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
38235
38236         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
38237         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
38238
38239 2006-10-17  Eric Blake  <ebb9@byu.net>
38240
38241         * lib/sigprocmask.c (sigprocmask): Fix typo.
38242
38243         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
38244
38245         * modules/clean-temp (Makefile.am): Don't add to make output...
38246         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
38247         config.h.
38248
38249 2006-10-17  Bruno Haible  <bruno@clisp.org>
38250
38251         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
38252         differently if DEFAULT_TEXT_DOMAIN is set.
38253
38254 2006-10-16  Bruno Haible  <bruno@clisp.org>
38255
38256         * lib/clean-temp.c: Include fwriteerror.h.
38257
38258 2006-10-16  Bruno Haible  <bruno@clisp.org>
38259
38260         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
38261
38262 2006-10-16  Bruno Haible  <bruno@clisp.org>
38263
38264         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
38265         * lib/sigprocmask.h: Include <sys/types.h>.
38266         (sigset_t): Use the system's definition if present.
38267
38268 2006-10-17  Eric Blake  <ebb9@byu.net>
38269
38270         * lib/xvasprintf.c (includes): Assume config.h.
38271         * lib/xasprintf.c (includes): Likewise.
38272
38273 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
38274
38275         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
38276         at least as wide as intmax_t.
38277
38278 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
38279
38280         (Imported from Automake.)
38281         * build-aux/gnupload: Update to version 1.1 of directive file.
38282
38283 2006-10-16  Eric Blake  <ebb9@byu.net>
38284
38285         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
38286         match Automake 1.10a.
38287
38288 2006-10-14  Bruno Haible  <bruno@clisp.org>
38289
38290         * modules/sigprocmask: New file.
38291         * lib/sigprocmask.h: New file.
38292         * lib/sigprocmask.c: New file.
38293         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
38294         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
38295         request sigprocmask.o.
38296         (gl_PREREQ_SIGPROCMASK): New macro.
38297         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
38298         (Depends-on): Add sigprocmask.
38299         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
38300         gt_SIGNALBLOCKING. Test for 'raise' only once.
38301         * lib/fatal-signal.c: Include sigprocmask.h.
38302         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
38303         unblock_fatal_signals): Define always.
38304         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
38305         sigprocmask.
38306
38307 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
38308
38309         Sync from Automake.
38310         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
38311         which incorrectly sets the mode of an existing destination
38312         directory.  In some cases the unpatched install-sh could do the
38313         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
38314         system.  We hope this is rare in practice, but it's clearly worth
38315         fixing.  Problem reported by Alex Unleashed in
38316         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
38317         Also, don't bother to check for -m bugs unless we're using -m;
38318         suggested by Stepan Kasal.
38319
38320 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38321
38322         Sync from Automake.
38323         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
38324         `-c' flag, so they appear at the same position as in %FASTDEP%
38325         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
38326         which ignores unknown options only after the first non-option.
38327         Bug report against M4 by Nelson H. F. Beebe.
38328
38329 2006-10-13  Jim Meyering  <jim@meyering.net>
38330
38331         Fix a bug in yesterday's change.
38332         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
38333         p->fts_statp->st_dev would be used uninitialized.
38334         Ensures that we always call fts_stat on the very first entry.
38335         Miklos Szeredi reported that find -xdev stopped working.
38336
38337 2006-10-12  Bruno Haible  <bruno@clisp.org>
38338
38339         * gnulib-tool (func_get_automake_snippet): Append an automatically
38340         computed EXTRA_DIST augmentation.
38341         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
38342         * modules/alloca-opt (Makefile.am): Likewise.
38343         * modules/allocsa (Makefile.am): Likewise.
38344         * modules/arcfour (Makefile.am): Likewise.
38345         * modules/arctwo (Makefile.am): Likewise.
38346         * modules/argmatch (Makefile.am): Likewise.
38347         * modules/argz (Makefile.am): Likewise.
38348         * modules/atexit (Makefile.am): Likewise.
38349         * modules/backupfile (Makefile.am): Likewise.
38350         * modules/byteswap (Makefile.am): Likewise.
38351         * modules/c-strtod (Makefile.am): Likewise.
38352         * modules/c-strtold (Makefile.am): Likewise.
38353         * modules/calloc (Makefile.am): Likewise.
38354         * modules/canon-host (Makefile.am): Likewise.
38355         * modules/canonicalize (Makefile.am): Likewise.
38356         * modules/chdir-long (Makefile.am): Likewise.
38357         * modules/chdir-safer (Makefile.am): Likewise.
38358         * modules/check-version (Makefile.am): Likewise.
38359         * modules/chown (Makefile.am): Likewise.
38360         * modules/cloexec (Makefile.am): Likewise.
38361         * modules/close-stream (Makefile.am): Likewise.
38362         * modules/closeout (Makefile.am): Likewise.
38363         * modules/crc (Makefile.am): Likewise.
38364         * modules/csharpexec (Makefile.am): Likewise.
38365         * modules/cycle-check (Makefile.am): Likewise.
38366         * modules/des (Makefile.am): Likewise.
38367         * modules/dev-ino (Makefile.am): Likewise.
38368         * modules/dirfd (Makefile.am): Likewise.
38369         * modules/dirname (Makefile.am): Likewise.
38370         * modules/dup2 (Makefile.am): Likewise.
38371         * modules/eealloc (Makefile.am): Likewise.
38372         * modules/error (Makefile.am): Likewise.
38373         * modules/euidaccess (Makefile.am): Likewise.
38374         * modules/exclude (Makefile.am): Likewise.
38375         * modules/exitfail (Makefile.am): Likewise.
38376         * modules/fcntl-safer (Makefile.am): Likewise.
38377         * modules/fcntl (Makefile.am): Likewise.
38378         * modules/file-type (Makefile.am): Likewise.
38379         * modules/fileblocks (Makefile.am): Likewise.
38380         * modules/filemode (Makefile.am): Likewise.
38381         * modules/filenamecat (Makefile.am): Likewise.
38382         * modules/fnmatch (Makefile.am): Likewise.
38383         * modules/fopen-safer (Makefile.am): Likewise.
38384         * modules/fpending (Makefile.am): Likewise.
38385         * modules/fprintftime (Makefile.am): Likewise.
38386         * modules/free (Makefile.am): Likewise.
38387         * modules/fsusage (Makefile.am): Likewise.
38388         * modules/ftruncate (Makefile.am): Likewise.
38389         * modules/fts (Makefile.am): Likewise.
38390         * modules/gc-arcfour (Makefile.am): Likewise.
38391         * modules/gc-des (Makefile.am): Likewise.
38392         * modules/gc-hmac-md5 (Makefile.am): Likewise.
38393         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
38394         * modules/gc-md4 (Makefile.am): Likewise.
38395         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
38396         * modules/gc-sha1 (Makefile.am): Likewise.
38397         * modules/gc (Makefile.am): Likewise.
38398         * modules/getaddrinfo (Makefile.am): Likewise.
38399         * modules/getcwd (Makefile.am): Likewise.
38400         * modules/getdelim (Makefile.am): Likewise.
38401         * modules/getdomainname (Makefile.am): Likewise.
38402         * modules/getgroups (Makefile.am): Likewise.
38403         * modules/gethostname (Makefile.am): Likewise.
38404         * modules/gethrxtime (Makefile.am): Likewise.
38405         * modules/getline (Makefile.am): Likewise.
38406         * modules/getloadavg (Makefile.am): Likewise.
38407         * modules/getlogin_r (Makefile.am): Likewise.
38408         * modules/getndelim2 (Makefile.am): Likewise.
38409         * modules/getopt (Makefile.am): Likewise.
38410         * modules/getpagesize (Makefile.am): Likewise.
38411         * modules/getpass-gnu (Makefile.am): Likewise.
38412         * modules/getpass (Makefile.am): Likewise.
38413         * modules/getsubopt (Makefile.am): Likewise.
38414         * modules/gettime (Makefile.am): Likewise.
38415         * modules/gettimeofday (Makefile.am): Likewise.
38416         * modules/getugroups (Makefile.am): Likewise.
38417         * modules/getusershell (Makefile.am): Likewise.
38418         * modules/glob (Makefile.am): Likewise.
38419         * modules/group-member (Makefile.am): Likewise.
38420         * modules/hard-locale (Makefile.am): Likewise.
38421         * modules/hash (Makefile.am): Likewise.
38422         * modules/hmac-md5 (Makefile.am): Likewise.
38423         * modules/hmac-sha1 (Makefile.am): Likewise.
38424         * modules/human (Makefile.am): Likewise.
38425         * modules/idcache (Makefile.am): Likewise.
38426         * modules/imaxabs (Makefile.am): Likewise.
38427         * modules/imaxdiv (Makefile.am): Likewise.
38428         * modules/inet_ntop (Makefile.am): Likewise.
38429         * modules/inet_pton (Makefile.am): Likewise.
38430         * modules/intprops (Makefile.am): Likewise.
38431         * modules/inttostr (Makefile.am): Likewise.
38432         * modules/inttypes (Makefile.am): Likewise.
38433         * modules/isapipe (Makefile.am): Likewise.
38434         * modules/javaversion (Makefile.am): Likewise.
38435         * modules/lchmod (Makefile.am): Likewise.
38436         * modules/lchown (Makefile.am): Likewise.
38437         * modules/localcharset (Makefile.am): Likewise.
38438         * modules/long-options (Makefile.am): Likewise.
38439         * modules/lstat (Makefile.am): Likewise.
38440         * modules/malloc (Makefile.am): Likewise.
38441         * modules/mathl (Makefile.am): Likewise.
38442         * modules/mbchar (Makefile.am): Likewise.
38443         * modules/md2 (Makefile.am): Likewise.
38444         * modules/md4 (Makefile.am): Likewise.
38445         * modules/md5 (Makefile.am): Likewise.
38446         * modules/memcasecmp (Makefile.am): Likewise.
38447         * modules/memchr (Makefile.am): Likewise.
38448         * modules/memcmp (Makefile.am): Likewise.
38449         * modules/memcoll (Makefile.am): Likewise.
38450         * modules/memcpy (Makefile.am): Likewise.
38451         * modules/memmem (Makefile.am): Likewise.
38452         * modules/memmove (Makefile.am): Likewise.
38453         * modules/mempcpy (Makefile.am): Likewise.
38454         * modules/memrchr (Makefile.am): Likewise.
38455         * modules/memset (Makefile.am): Likewise.
38456         * modules/memxor (Makefile.am): Likewise.
38457         * modules/mkancesdirs (Makefile.am): Likewise.
38458         * modules/mkdir-p (Makefile.am): Likewise.
38459         * modules/mkdir (Makefile.am): Likewise.
38460         * modules/mkdtemp (Makefile.am): Likewise.
38461         * modules/mkstemp (Makefile.am): Likewise.
38462         * modules/mktime (Makefile.am): Likewise.
38463         * modules/modechange (Makefile.am): Likewise.
38464         * modules/mountlist (Makefile.am): Likewise.
38465         * modules/nanosleep (Makefile.am): Likewise.
38466         * modules/obstack (Makefile.am): Likewise.
38467         * modules/openat (Makefile.am): Likewise.
38468         * modules/pagealign_alloc (Makefile.am): Likewise.
38469         * modules/pathmax (Makefile.am): Likewise.
38470         * modules/physmem (Makefile.am): Likewise.
38471         * modules/poll (Makefile.am): Likewise.
38472         * modules/posixtm (Makefile.am): Likewise.
38473         * modules/posixver (Makefile.am): Likewise.
38474         * modules/putenv (Makefile.am): Likewise.
38475         * modules/quote (Makefile.am): Likewise.
38476         * modules/quotearg (Makefile.am): Likewise.
38477         * modules/raise (Makefile.am): Likewise.
38478         * modules/read-file (Makefile.am): Likewise.
38479         * modules/readline (Makefile.am): Likewise.
38480         * modules/readlink (Makefile.am): Likewise.
38481         * modules/readtokens (Makefile.am): Likewise.
38482         * modules/readutmp (Makefile.am): Likewise.
38483         * modules/realloc (Makefile.am): Likewise.
38484         * modules/regex (Makefile.am): Likewise.
38485         * modules/rename-dest-slash (Makefile.am): Likewise.
38486         * modules/rename (Makefile.am): Likewise.
38487         * modules/rijndael (Makefile.am): Likewise.
38488         * modules/rmdir (Makefile.am): Likewise.
38489         * modules/rpmatch (Makefile.am): Likewise.
38490         * modules/safe-read (Makefile.am): Likewise.
38491         * modules/safe-write (Makefile.am): Likewise.
38492         * modules/same-inode (Makefile.am): Likewise.
38493         * modules/same (Makefile.am): Likewise.
38494         * modules/save-cwd (Makefile.am): Likewise.
38495         * modules/savedir (Makefile.am): Likewise.
38496         * modules/setenv (Makefile.am): Likewise.
38497         * modules/settime (Makefile.am): Likewise.
38498         * modules/sha1 (Makefile.am): Likewise.
38499         * modules/sig2str (Makefile.am): Likewise.
38500         * modules/snprintf (Makefile.am): Likewise.
38501         * modules/stat-macros (Makefile.am): Likewise.
38502         * modules/stat-time (Makefile.am): Likewise.
38503         * modules/stdbool (Makefile.am): Likewise.
38504         * modules/stdint (Makefile.am): Likewise.
38505         * modules/stdlib-safer (Makefile.am): Likewise.
38506         * modules/stpcpy (Makefile.am): Likewise.
38507         * modules/stpncpy (Makefile.am): Likewise.
38508         * modules/strcase (Makefile.am): Likewise.
38509         * modules/strcasestr (Makefile.am): Likewise.
38510         * modules/strchrnul (Makefile.am): Likewise.
38511         * modules/strcspn (Makefile.am): Likewise.
38512         * modules/strdup (Makefile.am): Likewise.
38513         * modules/strerror (Makefile.am): Likewise.
38514         * modules/strftime (Makefile.am): Likewise.
38515         * modules/strndup (Makefile.am): Likewise.
38516         * modules/strnlen (Makefile.am): Likewise.
38517         * modules/strpbrk (Makefile.am): Likewise.
38518         * modules/strsep (Makefile.am): Likewise.
38519         * modules/strstr (Makefile.am): Likewise.
38520         * modules/strtod (Makefile.am): Likewise.
38521         * modules/strtoimax (Makefile.am): Likewise.
38522         * modules/strtok_r (Makefile.am): Likewise.
38523         * modules/strtol (Makefile.am): Likewise.
38524         * modules/strtoll (Makefile.am): Likewise.
38525         * modules/strtoul (Makefile.am): Likewise.
38526         * modules/strtoull (Makefile.am): Likewise.
38527         * modules/strtoumax (Makefile.am): Likewise.
38528         * modules/strverscmp (Makefile.am): Likewise.
38529         * modules/sys_socket (Makefile.am): Likewise.
38530         * modules/sys_stat (Makefile.am): Likewise.
38531         * modules/sysexits (Makefile.am): Likewise.
38532         * modules/time_r (Makefile.am): Likewise.
38533         * modules/timegm (Makefile.am): Likewise.
38534         * modules/timespec (Makefile.am): Likewise.
38535         * modules/tmpfile-safer (Makefile.am): Likewise.
38536         * modules/trim (Makefile.am): Likewise.
38537         * modules/unistd-safer (Makefile.am): Likewise.
38538         * modules/unlinkdir (Makefile.am): Likewise.
38539         * modules/unlocked-io (Makefile.am): Likewise.
38540         * modules/userspec (Makefile.am): Likewise.
38541         * modules/utime (Makefile.am): Likewise.
38542         * modules/utimecmp (Makefile.am): Likewise.
38543         * modules/utimens (Makefile.am): Likewise.
38544         * modules/vasnprintf (Makefile.am): Likewise.
38545         * modules/vasprintf (Makefile.am): Likewise.
38546         * modules/vsnprintf (Makefile.am): Likewise.
38547         * modules/xalloc (Makefile.am): Likewise.
38548         * modules/xgetcwd (Makefile.am): Likewise.
38549         * modules/xnanosleep (Makefile.am): Likewise.
38550         * modules/xreadlink (Makefile.am): Likewise.
38551         * modules/xstrtod (Makefile.am): Likewise.
38552         * modules/xstrtol (Makefile.am): Likewise.
38553         * modules/xstrtold (Makefile.am): Likewise.
38554         * modules/yesno (Makefile.am): Likewise.
38555         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
38556
38557 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
38558
38559         * modules/error (Makefile.am): Distribute files through
38560         EXTRA_DIST, not lib_SOURCES.
38561
38562 2006-10-12  Eric Blake  <ebb9@byu.net>
38563
38564         * modules/error (Makefile.am): Distribute files in /lib.
38565         * modules/obstack (Makefile.am): Likewise.
38566
38567 2006-10-12  Bruno Haible  <bruno@clisp.org>
38568
38569         * modules/acl (Makefile.am): Distribute all files in lib/ through
38570         EXTRA_DIST.
38571         * modules/arcfour (Makefile.am): Likewise.
38572         * modules/arctwo (Makefile.am): Likewise.
38573         * modules/argmatch (Makefile.am): Likewise.
38574         * modules/argz (Makefile.am): Likewise.
38575         * modules/atexit (Makefile.am): Likewise.
38576         * modules/backupfile (Makefile.am): Likewise.
38577         * modules/c-strtod (Makefile.am): Likewise.
38578         * modules/c-strtold (Makefile.am): Likewise.
38579         * modules/calloc (Makefile.am): Likewise.
38580         * modules/canon-host (Makefile.am): Likewise.
38581         * modules/canonicalize (Makefile.am): Likewise.
38582         * modules/chdir-long (Makefile.am): Likewise.
38583         * modules/chdir-safer (Makefile.am): Likewise.
38584         * modules/check-version (Makefile.am): Likewise.
38585         * modules/chown (Makefile.am): Likewise.
38586         * modules/cloexec (Makefile.am): Likewise.
38587         * modules/close-stream (Makefile.am): Likewise.
38588         * modules/closeout (Makefile.am): Likewise.
38589         * modules/crc (Makefile.am): Likewise.
38590         * modules/cycle-check (Makefile.am): Likewise.
38591         * modules/des (Makefile.am): Likewise.
38592         * modules/dirfd (Makefile.am): Likewise.
38593         * modules/dirname (Makefile.am): Likewise.
38594         * modules/dup2 (Makefile.am): Likewise.
38595         * modules/euidaccess (Makefile.am): Likewise.
38596         * modules/exclude (Makefile.am): Likewise.
38597         * modules/exitfail (Makefile.am): Likewise.
38598         * modules/fcntl-safer (Makefile.am): Likewise.
38599         * modules/file-type (Makefile.am): Likewise.
38600         * modules/fileblocks (Makefile.am): Likewise.
38601         * modules/filemode (Makefile.am): Likewise.
38602         * modules/filenamecat (Makefile.am): Likewise.
38603         * modules/fnmatch (Makefile.am): Likewise.
38604         * modules/fopen-safer (Makefile.am): Likewise.
38605         * modules/fpending (Makefile.am): Likewise.
38606         * modules/fprintftime (Makefile.am): Likewise.
38607         * modules/free (Makefile.am): Likewise.
38608         * modules/fsusage (Makefile.am): Likewise.
38609         * modules/ftruncate (Makefile.am): Likewise.
38610         * modules/fts (Makefile.am): Likewise.
38611         * modules/gc (Makefile.am): Likewise.
38612         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
38613         * modules/getaddrinfo (Makefile.am): Likewise.
38614         * modules/getcwd (Makefile.am): Likewise.
38615         * modules/getdelim (Makefile.am): Likewise.
38616         * modules/getdomainname (Makefile.am): Likewise.
38617         * modules/getgroups (Makefile.am): Likewise.
38618         * modules/gethostname (Makefile.am): Likewise.
38619         * modules/gethrxtime (Makefile.am): Likewise.
38620         * modules/getline (Makefile.am): Likewise.
38621         * modules/getloadavg (Makefile.am): Likewise.
38622         * modules/getlogin_r (Makefile.am): Likewise.
38623         * modules/getopt (Makefile.am): Likewise.
38624         * modules/getpass (Makefile.am): Likewise.
38625         * modules/getpass-gnu (Makefile.am): Likewise.
38626         * modules/getsubopt (Makefile.am): Likewise.
38627         * modules/gettime (Makefile.am): Likewise.
38628         * modules/gettimeofday (Makefile.am): Likewise.
38629         * modules/getugroups (Makefile.am): Likewise.
38630         * modules/getusershell (Makefile.am): Likewise.
38631         * modules/glob (Makefile.am): Likewise.
38632         * modules/group-member (Makefile.am): Likewise.
38633         * modules/hard-locale (Makefile.am): Likewise.
38634         * modules/hash (Makefile.am): Likewise.
38635         * modules/hmac-md5 (Makefile.am): Likewise.
38636         * modules/hmac-sha1 (Makefile.am): Likewise.
38637         * modules/human (Makefile.am): Likewise.
38638         * modules/idcache (Makefile.am): Likewise.
38639         * modules/imaxabs (Makefile.am): Likewise.
38640         * modules/imaxdiv (Makefile.am): Likewise.
38641         * modules/inet_ntop (Makefile.am): Likewise.
38642         * modules/inet_pton (Makefile.am): Likewise.
38643         * modules/inttostr (Makefile.am): Likewise.
38644         * modules/isapipe (Makefile.am): Likewise.
38645         * modules/lchown (Makefile.am): Likewise.
38646         * modules/long-options (Makefile.am): Likewise.
38647         * modules/lstat (Makefile.am): Likewise.
38648         * modules/malloc (Makefile.am): Likewise.
38649         * modules/mathl (Makefile.am): Likewise.
38650         * modules/mbchar (Makefile.am): Likewise.
38651         * modules/md2 (Makefile.am): Likewise.
38652         * modules/md4 (Makefile.am): Likewise.
38653         * modules/md5 (Makefile.am): Likewise.
38654         * modules/memcasecmp (Makefile.am): Likewise.
38655         * modules/memchr (Makefile.am): Likewise.
38656         * modules/memcmp (Makefile.am): Likewise.
38657         * modules/memcoll (Makefile.am): Likewise.
38658         * modules/memcpy (Makefile.am): Likewise.
38659         * modules/memmem (Makefile.am): Likewise.
38660         * modules/memmove (Makefile.am): Likewise.
38661         * modules/mempcpy (Makefile.am): Likewise.
38662         * modules/memrchr (Makefile.am): Likewise.
38663         * modules/memset (Makefile.am): Likewise.
38664         * modules/memxor (Makefile.am): Likewise.
38665         * modules/mkancesdirs (Makefile.am): Likewise.
38666         * modules/mkdir (Makefile.am): Likewise.
38667         * modules/mkdir-p (Makefile.am): Likewise.
38668         * modules/mkdtemp (Makefile.am): Likewise.
38669         * modules/mkstemp (Makefile.am): Likewise.
38670         * modules/mktime (Makefile.am): Likewise.
38671         * modules/modechange (Makefile.am): Likewise.
38672         * modules/mountlist (Makefile.am): Likewise.
38673         * modules/nanosleep (Makefile.am): Likewise.
38674         * modules/openat (Makefile.am): Likewise.
38675         * modules/pagealign_alloc (Makefile.am): Likewise.
38676         * modules/physmem (Makefile.am): Likewise.
38677         * modules/poll (Makefile.am): Likewise.
38678         * modules/posixtm (Makefile.am): Likewise.
38679         * modules/posixver (Makefile.am): Likewise.
38680         * modules/putenv (Makefile.am): Likewise.
38681         * modules/quote (Makefile.am): Likewise.
38682         * modules/quotearg (Makefile.am): Likewise.
38683         * modules/raise (Makefile.am): Likewise.
38684         * modules/read-file (Makefile.am): Likewise.
38685         * modules/readline (Makefile.am): Likewise.
38686         * modules/readlink (Makefile.am): Likewise.
38687         * modules/readtokens (Makefile.am): Likewise.
38688         * modules/readutmp (Makefile.am): Likewise.
38689         * modules/realloc (Makefile.am): Likewise.
38690         * modules/regex (Makefile.am): Likewise.
38691         * modules/rename (Makefile.am): Likewise.
38692         * modules/rename-dest-slash (Makefile.am): Likewise.
38693         * modules/rijndael (Makefile.am): Likewise.
38694         * modules/rmdir (Makefile.am): Likewise.
38695         * modules/rpmatch (Makefile.am): Likewise.
38696         * modules/safe-read (Makefile.am): Likewise.
38697         * modules/safe-write (Makefile.am): Likewise.
38698         * modules/same (Makefile.am): Likewise.
38699         * modules/save-cwd (Makefile.am): Likewise.
38700         * modules/savedir (Makefile.am): Likewise.
38701         * modules/setenv (Makefile.am): Likewise.
38702         * modules/settime (Makefile.am): Likewise.
38703         * modules/sha1 (Makefile.am): Likewise.
38704         * modules/sig2str (Makefile.am): Likewise.
38705         * modules/snprintf (Makefile.am): Likewise.
38706         * modules/stdlib-safer (Makefile.am): Likewise.
38707         * modules/stpcpy (Makefile.am): Likewise.
38708         * modules/stpncpy (Makefile.am): Likewise.
38709         * modules/strcase (Makefile.am): Likewise.
38710         * modules/strcasestr (Makefile.am): Likewise.
38711         * modules/strchrnul (Makefile.am): Likewise.
38712         * modules/strcspn (Makefile.am): Likewise.
38713         * modules/strdup (Makefile.am): Likewise.
38714         * modules/strerror (Makefile.am): Likewise.
38715         * modules/strftime (Makefile.am): Likewise.
38716         * modules/strndup (Makefile.am): Likewise.
38717         * modules/strnlen (Makefile.am): Likewise.
38718         * modules/strpbrk (Makefile.am): Likewise.
38719         * modules/strsep (Makefile.am): Likewise.
38720         * modules/strstr (Makefile.am): Likewise.
38721         * modules/strtod (Makefile.am): Likewise.
38722         * modules/strtoimax (Makefile.am): Likewise.
38723         * modules/strtok_r (Makefile.am): Likewise.
38724         * modules/strtol (Makefile.am): Likewise.
38725         * modules/strtoll (Makefile.am): Likewise.
38726         * modules/strtoul (Makefile.am): Likewise.
38727         * modules/strtoull (Makefile.am): Likewise.
38728         * modules/strtoumax (Makefile.am): Likewise.
38729         * modules/strverscmp (Makefile.am): Likewise.
38730         * modules/time_r (Makefile.am): Likewise.
38731         * modules/timegm (Makefile.am): Likewise.
38732         * modules/tmpfile-safer (Makefile.am): Likewise.
38733         * modules/unistd-safer (Makefile.am): Likewise.
38734         * modules/unlinkdir (Makefile.am): Likewise.
38735         * modules/userspec (Makefile.am): Likewise.
38736         * modules/utime (Makefile.am): Likewise.
38737         * modules/utimecmp (Makefile.am): Likewise.
38738         * modules/utimens (Makefile.am): Likewise.
38739         * modules/vasnprintf (Makefile.am): Likewise.
38740         * modules/vasprintf (Makefile.am): Likewise.
38741         * modules/vsnprintf (Makefile.am): Likewise.
38742         * modules/xalloc (Makefile.am): Likewise.
38743         * modules/xgetcwd (Makefile.am): Likewise.
38744         * modules/xnanosleep (Makefile.am): Likewise.
38745         * modules/xreadlink (Makefile.am): Likewise.
38746         * modules/xstrtod (Makefile.am): Likewise.
38747         * modules/xstrtol (Makefile.am): Likewise.
38748         * modules/xstrtold (Makefile.am): Likewise.
38749         * modules/yesno (Makefile.am): Likewise.
38750
38751 2006-10-12  Jim Meyering  <jim@meyering.net>
38752
38753         * m4/getloadavg.m4: Revert the change below.
38754
38755         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
38756         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
38757         fail with a symlink, which is what coreutils' ./bootstrap now
38758         creates by default.
38759
38760 2006-10-12  Bruno Haible  <bruno@clisp.org>
38761
38762         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
38763         mingw.
38764         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
38765         MSVC and mingw explicitly.
38766
38767 2006-10-11  Simon Josefsson  <jas@extundo.com>
38768             Bruno Haible  <bruno@clisp.org>
38769
38770         Add support for multiple gnulib-tool invocations in the scope of a
38771         single configure.ac file.
38772         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
38773         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
38774         with the same contents as the _LIBADD variable.
38775         (func_emit_initmacro_start, func_emit_initmacro_end,
38776         func_emit_initmacro_done): New functions.
38777         (func_import, func_create_testdir): Invoke them. Allow the identifiers
38778         gl_LIBOBJS and gl_LTLIBOBJS.
38779
38780 2006-10-11  Bruno Haible  <bruno@clisp.org>
38781
38782         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
38783         (func_create_testdir): Don't create po/Makefile.am, don't invoke
38784         autoreconf. Instead, invoke autopoint explicitly but move back the
38785         *.m4 files from gnulib.
38786
38787 2006-10-11  Bruno Haible  <bruno@clisp.org>
38788
38789         * gnulib-tool (func_usage): Make module names after --create-testdir
38790         optional.
38791         (func_create_testdir): If no module was specified, use nearly all
38792         modules.
38793
38794 2006-10-12  Jim Meyering  <jim@meyering.net>
38795
38796         Big performance improvement for fts-based tools that use FTS_NOSTAT.
38797         Avoid spurious inode-mismatch problems on non-POSIX file systems.
38798         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
38799         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
38800         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
38801         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
38802         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
38803         (fts_set_stat_required): New function.
38804         (fts_open): Defer the calls to fts_stat, if possible or requested.
38805         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
38806         into fts_stat itself.
38807         (fts_read): Perform any required (deferred) fts_stat call.
38808         (fts_build): Likewise, for the directory we're about to open and read.
38809         In the readdir loop, carefully decide whether each entry will require
38810         an eventual call to fts_stat, using dirent.d_type info if available.
38811         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
38812         a command line argument into this function.  Update all callers.
38813         Map a return value of FTS_DOT to FTS_D for a command line argument.
38814         * modules/fts (Depends-on): Add d-type.  Alphabetize.
38815         Thanks to Miklos Szeredi for his tenacity and for the initial
38816         bug report about "find" failing on a FUSE-based file system.
38817
38818         * lib/fts.c (fts_open): Use consistent indentation.
38819
38820 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
38821
38822         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
38823         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
38824         reported by Jim Meyering.  All uses of cache variables renamed
38825         to match Autoconf's.
38826         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
38827         the other one.
38828
38829         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
38830         Fix misspelling in diagnostic.
38831
38832 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
38833
38834         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
38835         defined.  Problem reported by Matthew Woehlke.
38836
38837         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
38838         Add support for Tandem NonStop R series.
38839         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
38840         Use new macro.
38841
38842         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
38843         (has_trailing_slash): Omit size arg; all callers changed.
38844         Omit 'inline', since it doesn't help performance and we'd
38845         need to configure it.
38846         Don't count //, ///, etc. as having a trailing slash.
38847         As a side effect, this removes a C99ism reported by Matthew Woehlke.
38848         (rpl_rename_dest_slash): On failure, use rename's errno rather
38849         than (in some cases) an incorrect or junk errno.
38850         Simplify code by removing need to compute length; this does
38851         cause it to make two passes instead of one over the file name,
38852         but it's worth it.
38853
38854         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
38855         change, since Autoconf's version may no longer be appropriate now
38856         that we are using CVS Autoconf's version.  Add support for Tandem.
38857
38858 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
38859             Bruno Haible  <bruno@clisp.org>
38860
38861         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
38862         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
38863         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
38864         gl_AC_TYPE_LONG_LONG.
38865
38866         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
38867         instead of HAVE_LONG_LONG.
38868         * lib/printf-args.c (printf_fetchargs): Likewise.
38869         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
38870         * lib/vasnprintf.c (VASNPRINTF): Likewise.
38871         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
38872         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
38873         gl_AC_TYPE_LONG_LONG.
38874
38875 2006-10-11  Bruno Haible  <bruno@clisp.org>
38876
38877         * m4/longlong.m4: Add comments.
38878         * m4/ulonglong.m4: Likewise.
38879
38880 2006-10-10  Bruno Haible  <bruno@clisp.org>
38881
38882         Make it possible to #define stpcpy, strdup to aliases.
38883         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
38884         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
38885
38886 2006-10-10  Bruno Haible  <bruno@clisp.org>
38887
38888         Make it possible to #define gcd to an alias.
38889         * lib/gcd.c: Include config.h.
38890
38891 2006-10-10  Bruno Haible  <bruno@clisp.org>
38892
38893         Make it possible to #define c_isascii to an alias.
38894         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
38895         defined. Undefine the macros before defining them, to avoid gcc
38896         warnings.
38897         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
38898         define NO_C_CTYPE_MACROS early.
38899
38900 2006-10-10  Bruno Haible  <bruno@clisp.org>
38901
38902         Make it possible to #define set_program_name to an alias.
38903         * lib/progname.c: Don't undefine set_program_name; instead, undefine
38904         ENABLE_RELOCATABLE early.
38905
38906 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
38907
38908         Port to Tandem NSK OSS, which has 64-bit signed int but at most
38909         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
38910         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
38911         More generally, don't assume that 64-bit signed int is available
38912         if unsigned int is, and vice versa.
38913         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
38914         unsigned symbols, not on their signed counterparts.
38915         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
38916         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
38917         (UINT64_C, UINTMAX_C):
38918         Likewise.
38919         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
38920         unsigned counterparts.
38921         (Have_long_long, Unsigned): New macros.
38922         (Int): Renamed from INT.
38923         (strtoimax): Use the new macros.
38924         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
38925         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
38926         * modules/inttypes (inttypes.h): Substitute
38927         HAVE_UNSIGNED_LONG_LONG_INT.
38928         * modules/stdint (stdint.h): Likewise.
38929         (Files): Add m4/ulonglong.m4.
38930
38931 2006-10-10  Bruno Haible  <bruno@clisp.org>
38932
38933         Fix a gcc -Wshadow warning.
38934         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
38935         to 'bucket'.
38936         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
38937         gl_linked_indexof_from_to): Likewise.
38938         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
38939         Likewise.
38940         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
38941         Likewise.
38942         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
38943         Reported by Eric Blake.
38944
38945 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
38946
38947         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
38948         for NetBSD.  Problem reported by Bruno Haible.
38949
38950 2006-10-09  Jim Meyering  <jim@meyering.net>
38951
38952         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
38953         Patch from Bruno Haible.
38954
38955 2006-10-09  Jim Meyering  <jim@meyering.net>
38956
38957         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
38958         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
38959         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
38960
38961 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
38962
38963         Don't include <config.h> twice; this doesn't work in some cases,
38964         e.g., when config.h has "#define intmax_t long long int" and
38965         we include <config.h>, <inttypes.h>, <config.h> in that order.
38966         Problem reported by Matthew Woehlke in:
38967         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
38968         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
38969         * lib/fts-cycle.c: Don't include config.h.
38970         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
38971         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
38972         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
38973         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
38974         inttypes.h.
38975         * lib/xstrtoumax.c: Likewise.
38976         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
38977         __strtol and the like, so that this module is more like its siblings.
38978         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
38979         Remove; no longer needed now that we assume gnulib inttypes.h.
38980
38981 2006-10-08  Bruno Haible  <bruno@clisp.org>
38982
38983         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
38984         option.
38985
38986 2006-10-07  Jim Meyering  <jim@meyering.net>
38987
38988         * modules/inttypes (inttypes.h): Revert what seems to have been
38989         an inadvertent part of today's change: use "|", not "/" in the
38990         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
38991
38992 2006-10-07  Bruno Haible  <bruno@clisp.org>
38993
38994         * modules/sublist: New file.
38995
38996 2006-10-07  Bruno Haible  <bruno@clisp.org>
38997
38998         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
38999         * modules/argz (argz.h): Likewise.
39000         * modules/arpa_inet (arpa/inet.h): Likewise.
39001         * modules/byteswap (byteswap.h): Likewise.
39002         * modules/configmake (configmake.h): Likewise.
39003         * modules/fcntl (fcntl.h): Likewise.
39004         * modules/fnmatch (fnmatch.h): Likewise.
39005         * modules/getopt (getopt.h): Likewise.
39006         * modules/glob (glob.h): Likewise.
39007         * modules/inttypes (inttypes.h): Likewise.
39008         * modules/netinet_in (netinet/in.h): Likewise.
39009         * modules/poll (poll.h): Likewise.
39010         * modules/stdbool (stdbool.h): Likewise.
39011         * modules/stdint (stdint.h): Likewise.
39012         * modules/sys_select (sys/select.h): Likewise.
39013         * modules/sys_socket (sys/socket.h): Likewise.
39014         * modules/sys_stat (sys/stat.h): Likewise.
39015         * modules/sysexits (sysexits.h): Likewise.
39016         * modules/unistd (unistd.h): Likewise.
39017         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
39018         Add a "DO NOT EDIT" comment to the generated file.
39019         (func_import): Likewise for gnulib-comp.m4.
39020
39021 2006-10-07  Bruno Haible  <bruno@clisp.org>
39022
39023         * lib/gl_sublist.h: New file.
39024         * lib/gl_sublist.c: New file.
39025
39026 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
39027
39028         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
39029         name (relative to the original working directory) and the file
39030         name component (relative to the temporary working directory).  All
39031         callers changed.
39032         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
39033         * lib/mkdir-p.c (make_dir_parents): Likewise.
39034         * lib/mkdir-p.h (make_dir_parents): Likewise.
39035
39036 2006-10-06  Eric Blake  <ebb9@byu.net>
39037
39038         Define several macros for use by the clean-temp module.
39039         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
39040         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
39041         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
39042
39043         * lib/clean-temp.h (close_stream_temp): New declaration.
39044         * lib/clean-temp.c (includes): Pull in headers according to what
39045         other modules are in use.
39046         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
39047
39048 2006-10-06  Bruno Haible  <bruno@clisp.org>
39049
39050         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
39051         instead of fopen, fwriteerror.
39052
39053 2006-10-06  Bruno Haible  <bruno@clisp.org>
39054
39055         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
39056         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
39057         int.
39058         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
39059         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
39060         Return an error indicator.
39061         Suggested by Eric Blake.
39062
39063 2006-10-06  Bruno Haible  <bruno@clisp.org>
39064
39065         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
39066         Reported by Eric Blake.
39067
39068 2006-10-06  Bruno Haible  <bruno@clisp.org>
39069
39070         * modules/closeout (Description): Mention stderr too.
39071
39072 2006-10-06  Bruno Haible  <bruno@clisp.org>
39073         and Paul Eggert  <eggert@cs.ucla.edu>
39074
39075         * lib/closeout.c (close_stdout): Also close stderr.
39076         * lib/closeout.h: Update comment.
39077
39078 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
39079
39080         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
39081         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
39082         * lib/dirchownmod.c: Include lchown.h.
39083         * lib/lchown.c: Don't include files that lchown.h now includes.
39084         Don't declare chown, since lchown.h now does that.
39085         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
39086         (lchown): Define to rpl_chown if lchown is declared but
39087         does not exist.  Declare using a prototype if lchown is not
39088         declared.  Add a copyright notice.
39089         * lib/mkstemp.h: Include <unistd.h>.
39090         * lib/openat.c: Include lchown.h.
39091
39092         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
39093         we now test for that separately.
39094         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
39095         rather than O_NOFOLLOW, when testing whether it's possible to
39096         avoid a race condition reliably.
39097         * lib/savewd.c (savewd_chdir): Likewise.
39098
39099         Remove macros that are no longer needed now that stdint.h is
39100         reliable.
39101         * lib/fsusage.c (UINTMAX_MAX): Remove.
39102         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
39103         * lib/utimecmp.c (SIZE_MAX): Remove.
39104
39105         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
39106
39107         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
39108         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
39109         O_NOATIME works.
39110
39111 2006-10-05  Bruno Haible  <bruno@clisp.org>
39112
39113         * lib/gl_list.h (gl_sortedlist_search_from_to,
39114         gl_sortedlist_indexof_from_to): New declarations.
39115         (gl_list_implementation): New fields sortedlist_search_from_to,
39116         sortedlist_indexof_from_to.
39117         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
39118         inline functions.
39119         * lib/gl_list.c (gl_sortedlist_search_from_to,
39120         gl_sortedlist_indexof_from_to): New functions.
39121         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
39122         function.
39123         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
39124         (gl_array_sortedlist_search_from_to): New function.
39125         (gl_array_list_implementation): Update.
39126         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
39127         function.
39128         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
39129         (gl_carray_sortedlist_search_from_to): New function.
39130         (gl_carray_list_implementation): Update.
39131         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
39132         gl_linked_sortedlist_indexof_from_to): New functions.
39133         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
39134         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
39135         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
39136         gl_tree_sortedlist_indexof_from_to): New functions.
39137         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
39138         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
39139         Update.
39140         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
39141         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
39142         Update.
39143
39144 2006-10-05  Bruno Haible  <bruno@clisp.org>
39145
39146         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
39147         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
39148         (struct gl_list_implementation): Add fields search_from_to,
39149         indexof_from_to. Remove fields search, indexof.
39150         (gl_list_search): Use the search_from_to method.
39151         (gl_list_search_from, gl_list_search_from_to): New functions.
39152         (gl_list_indexof): Use the indexof_from_to method.
39153         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
39154         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
39155         (gl_list_search_from, gl_list_search_from_to): New functions.
39156         (gl_list_indexof): Use the indexof_from_to method.
39157         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
39158         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
39159         gl_array_indexof. Add start_index, end_index arguments.
39160         (gl_array_search_from_to): Renamed from gl_array_search. Add
39161         start_index, end_index arguments.
39162         (gl_array_remove, gl_array_list_implementation): Update.
39163         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
39164         gl_carray_indexof. Add start_index, end_index arguments.
39165         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
39166         start_index, end_index arguments.
39167         (gl_carray_remove, gl_carray_list_implementation): Update.
39168         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
39169         gl_linked_search. Add start_index, end_index arguments.
39170         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
39171         start_index, end_index arguments.
39172         (gl_linked_remove): Update.
39173         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
39174         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
39175         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
39176         field to 'size_t'.
39177         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
39178         gl_tree_search. Add start_index, end_index arguments.
39179         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
39180         start_index, end_index arguments.
39181         (gl_tree_remove): Update.
39182         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
39183         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
39184         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
39185         function.
39186         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
39187         gl_tree_search. Add start_index, end_index arguments.
39188         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
39189         start_index, end_index arguments.
39190         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
39191         Update.
39192         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
39193
39194 2006-10-05  Bruno Haible  <bruno@clisp.org>
39195
39196         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
39197
39198         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
39199         fwriteerror_temp): New declarations.
39200         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
39201         (descriptors): New variable.
39202         (cleanup): First, close the descriptors.
39203         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
39204         fclose_temp, fwriteerror_temp): New functions.
39205
39206 2006-10-04  Jim Meyering  <jim@meyering.net>
39207
39208         * lib/fts.c (fts_open): Tiny comment change.
39209
39210 2006-10-04  Bruno Haible  <bruno@clisp.org>
39211
39212         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
39213         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
39214         gl_LOCK_BODY.
39215         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
39216         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
39217         gl_LOCK_EARLY_BODY.
39218         (gl_LOCK): Require gl_LOCK_BODY.
39219
39220 2006-10-04  Bruno Haible  <bruno@clisp.org>
39221
39222         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
39223         (gl_oset_search_atleast): New declaration.
39224         (struct gl_oset_implementation): Add field 'search_atleast'.
39225         (gl_oset_search_atleast): New inline function.
39226         * lib/gl_oset.c (gl_oset_search_atleast): New function.
39227         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
39228         (gl_array_oset_implementation): Update.
39229         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
39230         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
39231         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
39232
39233 2006-10-04  Bruno Haible  <bruno@clisp.org>
39234
39235         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
39236
39237 2006-10-03  Bruno Haible  <bruno@clisp.org>
39238
39239         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
39240         from gl_avltreehash_list_implementation.
39241
39242 2006-10-03  Bruno Haible  <bruno@clisp.org>
39243
39244         * lib/gl_oset.c (gl_oset_add): Fix return type.
39245
39246 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
39247
39248         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
39249
39250 2006-10-02  Eric Blake  <ebb9@byu.net>
39251
39252         * modules/strnlen (Depends-on): Add extensions.
39253
39254 2006-10-02  Eric Blake  <ebb9@byu.net>
39255
39256         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
39257         definition in 2.60+.
39258
39259 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
39260
39261         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
39262         checks.
39263
39264 2006-10-02  Bruno Haible  <bruno@clisp.org>
39265
39266         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
39267         to the AUTOMAKE_OPTIONS.
39268         Reported by Jim Meyering.
39269
39270 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
39271
39272         Work around bug in Solaris 10 /proc file system:
39273         /proc/self/fd/NNN/.. isn't the parent directory of
39274         the directory whose file descriptor is NNN.  This needs to
39275         be worked around at run time, not compile time, since a
39276         program might be built on Solaris 8, where things work, and
39277         run on Solaris 10.
39278         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
39279         to use the following interface instead:
39280         (OPENAT_BUFFER_SIZE): New macro.
39281         (openat_proc_name): New function.
39282         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
39283         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
39284         Likewise.
39285         * lib/openat-proc.c: New file.
39286         * modules/openat (Files): Add lib/openat-proc.c.
39287         (Depends-on): Add same-inode, stdbool.
39288         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
39289
39290 2006-09-29  Bruno Haible  <bruno@clisp.org>
39291
39292         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
39293         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
39294         argument. Set stdout_closed before testing for ferror, not after.
39295         (fwriteerror, fwriteerror_no_ebadf): New functions.
39296
39297 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39298
39299         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
39300
39301 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
39302
39303         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
39304         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
39305
39306 2006-09-28  Jim Meyering  <jim@meyering.net>
39307
39308         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
39309         Include <unistd.h>.
39310
39311 2006-09-28  Bruno Haible  <bruno@clisp.org>
39312
39313         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
39314         * modules/linkedhash-list (Depends-on): Likewise.
39315         * modules/rbtreehash-list (Depends-on): Likewise.
39316
39317 2006-09-28  Bruno Haible  <bruno@clisp.org>
39318
39319         * lib/strndup.h: Simplify the redefinition of strndup.
39320         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
39321         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
39322
39323 2006-09-28  Bruno Haible  <bruno@clisp.org>
39324
39325         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
39326         * lib/gl_linkedhash_list.c: Likewise.
39327         * lib/gl_rbtreehash_list.c: Likewise.
39328
39329 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
39330
39331         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
39332         getaddrinfo.
39333
39334         * lib/__fpending.h: Don't include <stdio_ext.h> unless
39335         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
39336         it causes <stdio_ext.h> to cause a compile-time error.
39337         Problem reported by Nelson H. F. Beebe.
39338         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
39339         of HAVE_DECL___PENDING.
39340
39341         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
39342         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
39343         declaration.
39344
39345 2006-09-27  Jim Meyering  <jim@meyering.net>
39346
39347         This file could end up with a definition for a function
39348         named __strndup, rather than rpl_strndup on a system with
39349         incomplete weak_alias support.
39350         * lib/strndup.c (strndup): Rename from __strndup.
39351         Remove #defines that used to map __strndup to strndup.
39352         Don't use K&R prototypes.
39353         Remove LIBC-related code, since this file is not sync'd with glibc.
39354         * lib/strndup.h: Revamp, accordingly.
39355         * m4/strndup.m4: Modernize.
39356
39357 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
39358
39359         * modules/savewd (Depends-on): Add 'raise'.
39360         * lib/savewd.c: Include <signal.h>, for 'raise'.
39361
39362 2006-09-26  Jim Meyering  <jim@meyering.net>
39363
39364         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
39365         when we detect Darwin 8.7.0's acl_get_file bug.
39366         Rearrange to perform the new (below) run-test while $LIBS
39367         contains any acl-related library.  Set USE_ACL at the end.
39368         (gl_ACL_GET_FILE): New function.
39369
39370 2006-09-26  Eric Blake  <ebb9@byu.net>
39371
39372         * lib/verror.c: Include <config.h> unconditionally.
39373
39374 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
39375
39376         * modules/clock-time (Maintainer): Add self.
39377         * modules/getlogin_r (Depends-on): Add extensions.
39378
39379 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39380
39381         * modules/clock-time: New module.
39382         * modules/nanosleep (Depends-on): Add clock-time.
39383         * modules/gethrxtime (Depends-on): Likewise.
39384         * modules/gettime (Depends-on): Likewise.
39385         * modules/settime (Depends-on): Likewise.
39386
39387         * modules/fts-lgpl: Depend on openat.
39388         * modules/mkancesdirs: Depend on savewd.
39389         * modules/mkdir-p: Likewise.
39390
39391 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39392
39393         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
39394
39395         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
39396         `gl_have_arbitrary_file_name_length_limit' to
39397         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
39398         actually works between configure runs.
39399
39400 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39401             Bruno Haible  <bruno@clisp.org>
39402
39403         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
39404
39405 2006-09-25  Jim Meyering  <jim@meyering.net>
39406
39407         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
39408         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
39409
39410 2006-09-25  Eric Blake  <ebb9@byu.net>
39411
39412         * gnulib-tool (func_import, func_create_testdir): Fix typos in
39413         exec's in 2006-09-18 patch when shuffling fds.
39414
39415 2006-09-25  Bruno Haible  <bruno@clisp.org>
39416
39417         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
39418         Reported by Jim Meyering.
39419
39420 2006-09-24  Jim Meyering  <jim@meyering.net>
39421
39422         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
39423         compare a pointer against a literal "0".  That caused failures with
39424         at least HP-UX's hpcc.
39425
39426 2006-09-22  Simon Josefsson  <jas@extundo.com>
39427
39428         * modules/gc-sha1:
39429         * modules/gc-md4:
39430         * modules/gc-hmac-sha1:
39431         * modules/gc-hmac-md5:
39432         * modules/gc-des:
39433         * modules/gc-arcfour: Distribute more files.
39434
39435 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39436
39437         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
39438         (gl_linked_iterator_from_to): Initialize struct completely.
39439         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
39440         (gl_tree_iterator_from_to): Likewise
39441         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
39442         * lib/gl_array_list.c [lint] (gl_array_iterator)
39443         (gl_array_iterator_from_to): Likewise.
39444         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
39445         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
39446         (gl_carray_iterator_from_to): Likewise.
39447
39448         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
39449         * lib/md4.c (md4_process_block): Remove unused variable.
39450         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
39451         parentheses for clarity.
39452
39453 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39454
39455         * modules/bison-i18n (Depends-on): Add gettext.
39456
39457 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39458
39459         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
39460         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
39461         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
39462         also add missing comma that caused broken test.
39463         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
39464         stdlib.h, for `abort'.
39465         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
39466         variables.
39467         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
39468         include unistd.h if present, for `rmdir'.
39469         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
39470         variables.
39471         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
39472         in the process include standard headers for prototypes.
39473         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
39474         gets declared on GNU/Linux.
39475         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
39476         unistd.h, for `rmdir'.
39477         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
39478
39479         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
39480         always true.
39481         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
39482
39483         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
39484
39485 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39486
39487         * gnulib-tool (func_version): Create output all at once.  This
39488         may help avoid triggering unnecessary SIGPIPEs, and at any
39489         rate it doesn't hurt.
39490
39491 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39492             Bruno Haible  <bruno@clisp.org>
39493
39494         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
39495         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
39496         * m4/signed.m4 (bh_C_SIGNED): Likewise.
39497
39498         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
39499         (gl_FUNC_VASPRINTF): Invoke it.
39500
39501 2006-09-22  Bruno Haible  <bruno@clisp.org>
39502
39503         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
39504         getloadavg.c as first argument.
39505
39506 2006-09-22  Bruno Haible  <bruno@clisp.org>
39507
39508         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
39509         at the beginning of the gl_INIT macro.
39510         * modules/getloadavg (configure.ac): Pass $gl_source_base to
39511         gl_GETLOADAVG.
39512
39513 2006-09-22  Bruno Haible  <bruno@clisp.org>
39514
39515         * gnulib-tool (func_create_megatestdir): Don't include the config-h
39516         module.
39517         Suggested by Ralf Wildenhues.
39518
39519 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
39520
39521         Import this patch from libc:
39522
39523         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
39524
39525         * lib/regex_internal.c (re_string_reconstruct): Handle
39526         offset < pstr->valid_raw_len && pstr->offsets_needed case.
39527         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
39528         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
39529         re_string_context_at.
39530
39531         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
39532         now requires it.
39533         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
39534         gl_REGEX now does it for us.
39535         (gl_REGEX): Add test taken from
39536         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
39537
39538         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
39539         Check that large offsets work.  Modernize Autoconf usages.
39540         Prefer "yes" to mean a good thing rather than a bad.
39541         Don't put "#define mkstemp" in config.h, as this might interfere
39542         with standard system headers that "#define mkstemp mkstemp64".
39543
39544         * modules/mkstemp (Depends-on): Add extensions, so that
39545         mkstemp is visible on some platforms.
39546         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
39547         (Include): Change to "mkstemp.h" from <stdlib.h>.
39548         (Files): Add mkstemp.h.
39549
39550         * lib/mkstemp.h: New file, since some standard headers
39551         #define mkstemp.
39552         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
39553         Include "mkstemp.h".
39554         Make the _LIBC code resemble glibc original more,
39555         e.g., use K&R style.
39556         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
39557         (mkstemp): Remove, since mkstemp.h does this for us.
39558         * lib/stdlib--.h: Include mkstemp.h.
39559
39560         Import this patch from libc:
39561
39562         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
39563
39564         * lib/tempname.c (__gen_tempname): Change attempts_min
39565         into a macro.  Use preprocessor to decide how to initialize
39566         attempts [Coverity CID 67].
39567
39568 2006-09-20  Bruno Haible  <bruno@clisp.org>
39569
39570         * lib/mkdtemp.c: Import from libc.
39571         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
39572                 * sysdeps/posix/tempname.c (__gen_tempname): Change
39573                 attempts_min into a macro.  Use preprocessor to decide how to
39574                 initialize attempts [Coverity CID 67].
39575         2001-11-27  Paul Eggert  <eggert@twinsun.com>
39576                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
39577                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
39578
39579 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39580
39581         * gnulib-tool (func_exit): New function, to allow to pass the
39582         exit status portably through the trap.  Use everywhere.
39583         (--help, --version): Signal a write error.
39584         (trap): catch SIGPIPE, for write errors.
39585         Exit at the end of the trap, with the correct exit status.
39586
39587 2006-09-19  Karl Berry  <karl@gnu.org>
39588
39589         * doc/gnulib.texi: note about the license texinfo files.
39590
39591 2006-09-19  Eric Blake  <ebb9@byu.net>
39592
39593         * gnulib-tool: Avoid space-tab.
39594
39595 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
39596
39597         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
39598         that prevented coreutils 6.1 from building.  Problem reported
39599         by Petter Reinholdtsen.
39600
39601 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
39602
39603         * gnulib-tool (avoidlist): Fix typo that broke options like
39604         --avoid=lock that are used by coreutils bootstrap.
39605
39606 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
39607
39608         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
39609         more systematically.
39610
39611 2006-09-18  Jim Meyering  <jim@meyering.net>
39612
39613         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
39614
39615 2006-09-18  Bruno Haible  <bruno@clisp.org>
39616
39617         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
39618
39619 2006-09-18  Bruno Haible  <bruno@clisp.org>
39620
39621         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
39622         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
39623         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
39624         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
39625         * m4/gettext.m4: Require autoconf >= 2.52.
39626         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
39627         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
39628         of gl_cv_header_inttypes_h.
39629
39630 2006-09-18  Bruno Haible  <bruno@clisp.org>
39631
39632         * lib/javaversion.c: Include configmake.h.
39633
39634 2006-09-18  Bruno Haible  <bruno@clisp.org>
39635
39636         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
39637         avoid that the while loops be executed in a subshell.
39638
39639 2006-09-18  Bruno Haible  <bruno@clisp.org>
39640
39641         * MODULES.html.sh (func_module): Break long lines.
39642         Suggested by Bruce Korb <bkorb@gnu.org>.
39643
39644 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39645
39646         Speed up by a factor of 1.12.
39647         * gnulib-tool (nl): New variable.
39648         (func_import): Rewrite include directive extraction to only read each
39649         directive once.
39650
39651 2006-09-17  Bruno Haible  <bruno@clisp.org>
39652
39653         * modules/javaversion (Makefile.am): Remove DEFS setting.
39654         (Depends-on): Add configmake, for PKGDATADIR definition.
39655
39656 2006-09-17  Bruno Haible  <bruno@clisp.org>
39657
39658         * gnulib-tool (func_create_testdir): Rewrite all files at once.
39659
39660 2006-09-17  Bruno Haible  <bruno@clisp.org>
39661
39662         * gnulib-tool (func_append): New function, stolen from libtool.m4.
39663         (func_modules_transitive_closure, func_modules_add_dummy,
39664         func_modules_to_filelist, func_import, func_create_testdir,
39665         func_create_megatestdir, ...): Use it wherever possible.
39666         Suggested by Ralf Wildenhues.
39667
39668 2006-09-16  Karl Berry  <karl@gnu.org>
39669
39670         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
39671         to avoid sectioning errors.
39672         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
39673         [ifinfo]: blank line after @center-ed titles.
39674         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
39675         Spell FSF address consistently with others.
39676         (These changes approved by rms.)
39677
39678 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39679
39680         Speed up by a factor of 1.61.
39681         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
39682         already checked module names again.
39683
39684 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39685
39686         Speed up by a factor of 1.13.
39687         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
39688         for new_files, and the input to func_add_or_update.
39689
39690 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39691
39692         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
39693         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
39694
39695 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
39696
39697         * modules/mkancesdirs (Depends-on): Add fcntl.
39698         * modules/savewd: New file.
39699         * MODULES.html.sh (File system functions): Add savewd.
39700
39701         * modules/configmake (Makefile.am): Add support for the
39702         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
39703
39704 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
39705
39706         * m4/savewd.m4: New file.
39707
39708 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
39709
39710         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
39711         (dirchownmod): New arg FD.  All callers changed.
39712         Use FD rather than opening the directory ourself, as opening is
39713         now the caller's responsibility.
39714         * lib/dirchownmod.h: Likewise.
39715         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
39716         hosts that require <sys/types.h> before <sys/stat.h>.  Include
39717         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
39718         (test_dir): Remove.
39719         (mkancesdirs): Return length of prefix of FILE that has already
39720         been made, or -2 if there is a child doing the work.  Redo
39721         algorithm so that it is O(N) rather than O(N**2).  Optimize away
39722         ".", and treat ".." specially since it might stray back into
39723         already-created areas.  Use a subprocess if necessary.  New arg
39724         WD; all users changed.  MAKE_DIR function should now return 1
39725         if it creates a directory that is not readable.  Return -2 if
39726         a child process is spun off.
39727         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
39728         Adjust signature to match code.
39729         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
39730         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
39731         all users changed.
39732         * lib/savewd.c, lib/savewd.h: New files.
39733
39734 2006-09-15  Jim Meyering  <jim@meyering.net>
39735
39736         * modules/rename-dest-slash: New module.
39737         * MODULES.html.sh (posix_compat): Add it here.
39738
39739         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
39740
39741 2006-09-15  Jim Meyering  <jim@meyering.net>
39742
39743         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
39744         file.
39745
39746         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
39747
39748 2006-09-15  Jim Meyering  <jim@meyering.net>
39749
39750         * lib/rename-dest-slash.c (has_trailing_slash): Use
39751         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
39752         (rpl_rename_dest_slash): Perform the cheaper trailing slash
39753         test before testing whether SRC is a directory.
39754         Suggestions from Bruno Haible.
39755
39756         Avoid a warning about an unused variable.
39757         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
39758         into the #ifdef block where it's used.
39759
39760         * lib/rename-dest-slash.c: New file.
39761
39762 2006-09-14  Bruno Haible  <bruno@clisp.org>
39763
39764         * lib/allocsa.c: Include <config.h> unconditionally.
39765         * lib/asnprintf.c: Likewise.
39766         * lib/asprintf.c: Likewise.
39767         * lib/c-strcasecmp.c: Likewise.
39768         * lib/c-strcasestr.c: Likewise.
39769         * lib/c-strncasecmp.c: Likewise.
39770         * lib/c-strstr.c: Likewise.
39771         * lib/classpath.c: Likewise.
39772         * lib/clean-temp.c: Likewise.
39773         * lib/concatpath.c: Likewise.
39774         * lib/copy-file.c: Likewise.
39775         * lib/csharpcomp.c: Likewise.
39776         * lib/csharpexec.c: Likewise.
39777         * lib/execute.c: Likewise.
39778         * lib/fatal-signal.c: Likewise.
39779         * lib/findprog.c: Likewise.
39780         * lib/fwriteerror.c: Likewise.
39781         * lib/gl_array_list.c: Likewise.
39782         * lib/gl_array_oset.c: Likewise.
39783         * lib/gl_avltree_list.c: Likewise.
39784         * lib/gl_avltree_oset.c: Likewise.
39785         * lib/gl_avltreehash_list.c: Likewise.
39786         * lib/gl_carray_list.c: Likewise.
39787         * lib/gl_linked_list.c: Likewise.
39788         * lib/gl_linkedhash_list.c: Likewise.
39789         * lib/gl_list.c: Likewise.
39790         * lib/gl_oset.c: Likewise.
39791         * lib/gl_rbtree_list.c: Likewise.
39792         * lib/gl_rbtree_oset.c: Likewise.
39793         * lib/gl_rbtreehash_list.c: Likewise.
39794         * lib/imaxabs.c: Likewise.
39795         * lib/imaxdiv.c: Likewise.
39796         * lib/javacomp.c: Likewise.
39797         * lib/javaexec.c: Likewise.
39798         * lib/javaversion.c: Likewise.
39799         * lib/linebreak.c: Likewise.
39800         * lib/localcharset.c: Likewise.
39801         * lib/lock.c: Likewise.
39802         * lib/mbchar.c: Likewise.
39803         * lib/mbswidth.c: Likewise.
39804         * lib/mkdtemp.c: Likewise.
39805         * lib/pipe.c: Likewise.
39806         * lib/printf-args.c: Likewise.
39807         * lib/printf-parse.c: Likewise.
39808         * lib/progname.c: Likewise.
39809         * lib/progreloc.c: Likewise.
39810         * lib/readlink.c: Likewise.
39811         * lib/sh-quote.c: Likewise.
39812         * lib/stpcpy.c: Likewise.
39813         * lib/stpncpy.c: Likewise.
39814         * lib/strcasecmp.c: Likewise.
39815         * lib/strcasestr.c: Likewise.
39816         * lib/strcspn.c: Likewise.
39817         * lib/striconv.c: Likewise.
39818         * lib/strncasecmp.c: Likewise.
39819         * lib/strnlen1.c: Likewise.
39820         * lib/strstr.c: Likewise.
39821         * lib/strtok_r.c: Likewise.
39822         * lib/tls.c: Likewise.
39823         * lib/tmpdir.c: Likewise.
39824         * lib/unicodeio.c: Likewise.
39825         * lib/unsetenv.c: Likewise.
39826         * lib/vasnprintf.c: Likewise.
39827         * lib/vasprintf.c: Likewise.
39828         * lib/wait-process.c: Likewise.
39829         * lib/xallocsa.c: Likewise.
39830         * lib/xsetenv.c: Likewise.
39831         * lib/xstriconv.c: Likewise.
39832
39833 2006-09-13  Simon Josefsson  <jas@extundo.com>
39834
39835         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
39836         that internally, suggested by Ralf Wildenhues
39837         <Ralf.Wildenhues@gmx.de>.
39838
39839 2006-09-13  Simon Josefsson  <jas@extundo.com>
39840
39841         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
39842         @LIBOBJS@.
39843         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39844
39845 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
39846
39847         * lib/_fpending.c: Include <config.h> unconditionally, since we no
39848         longer worry about uses that don't define HAVE_CONFIG_H.
39849         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
39850         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
39851         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
39852         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
39853         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
39854         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
39855         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
39856         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
39857         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
39858         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
39859         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
39860         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
39861         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
39862         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
39863         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
39864         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
39865         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
39866         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
39867         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
39868         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
39869         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
39870         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
39871         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
39872         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
39873         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
39874         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
39875         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
39876         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
39877         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
39878         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
39879         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
39880         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
39881         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
39882         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
39883         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
39884         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
39885         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
39886         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
39887         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
39888         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
39889         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
39890         Likewise.
39891
39892 2006-09-13  Eric Blake  <ebb9@byu.net>
39893
39894         * lib/getopt.c: Fix typo in last commit.
39895
39896 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
39897
39898         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
39899         dgettext.
39900
39901 2006-09-12  Jim Meyering  <jim@meyering.net>
39902
39903         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
39904         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
39905         Reported by Nelson H. F. Beebe.
39906
39907 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
39908
39909         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
39910         program_invocation_name and program_invocation_short_name are
39911         initialized.
39912         * lib/argp-namefrob.h: Move declarations of program_invocation_name
39913         and program_invocation_short_name to argp.h, so they are visible
39914         to user programs.
39915         * lib/argp.h: Likewise
39916
39917 2006-09-10  Bruno Haible  <bruno@clisp.org>
39918
39919         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
39920         m4/inttypes_h.m4, m4/uintmax_t.m4.
39921
39922 2006-09-10  Bruno Haible  <bruno@clisp.org>
39923
39924         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
39925         gl_AC_TYPE_UINTMAX_T.
39926
39927 2006-09-10  Bruno Haible  <bruno@clisp.org>
39928
39929         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
39930
39931 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
39932
39933         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
39934         convention.  Text proposed by Bruno Haible.
39935         (struct argp_option): Document the use of N_() wrappers.
39936
39937         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
39938         '\v', and translate the two parts separately, instead of feeding
39939         the whole string to gettext.  This allows to exclude
39940         '\v' from the strings visible to the translator by writing doc
39941         strings as N_("..") "\v" N_("..").
39942
39943 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
39944
39945         * config/srclist.txt: Undo latest change; the bug was fixed.
39946
39947 2006-09-09  Bruno Haible  <bruno@clisp.org>
39948
39949         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
39950         assignments if building a library without libtool.
39951         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
39952         in func_emit_lib_Makefile_am.
39953         (func_import): When building a static library libfoo.a, arrange to
39954         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
39955         (func_create_testdir): Likewise.
39956         * modules/gc (configure.ac, Makefile.am): If building statically,
39957         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
39958         * modules/iconvme (configure.ac, Makefile.am): Likewise.
39959         * modules/striconv (configure.ac, Makefile.am): Likewise.
39960         Based on a suggestion by Ralf Wildenhues.
39961
39962 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
39963
39964         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
39965         Check for unistd.h too, since Autoconf doesn't assume POSIX.
39966         Also:
39967
39968         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
39969         Add year_2050_test to catch glibc bug 2821
39970         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
39971
39972         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
39973         Prefer #ifdef to #if.
39974
39975         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
39976         Return from 'main' instead of calling 'exit'.
39977
39978 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
39979
39980         * lib/mktime.c (guess_time_tm): Fix bug where mktime
39981         returned the maximum time_t value rather than (time_t) -1.
39982         Problem originally reported by William Bardwell
39983         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
39984
39985         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
39986         Moved to here ...
39987         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
39988         ... from here.
39989
39990 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
39991
39992         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
39993         2821 is fixed.
39994
39995 2006-09-08  Jim Meyering  <jim@meyering.net>
39996
39997         Don't make generated files read-only.  That would bother too many
39998         people.  However, do retain the ability to work when targets are
39999         read-only: remove the destination and temporary files before writing
40000         them (when generated via sed or echo), or by using the -f option for
40001         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
40002         * modules/alloca-opt, modules/argz, modules/arpa_inet:
40003         * modules/byteswap, modules/configmake, modules/fcntl:
40004         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
40005         * modules/localcharset, modules/netinet_in, modules/poll:
40006         * modules/stdbool, modules/stdint, modules/sys_select:
40007         * modules/sys_socket, modules/sys_stat, modules/sysexits:
40008
40009 2006-09-08  Jim Meyering  <jim@meyering.net>
40010
40011         Avoid new build failure on FreeBSD 6.0.
40012         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
40013         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
40014         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
40015
40016 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40017
40018         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
40019
40020 2006-09-07  Jim Meyering  <jim@meyering.net>
40021
40022         Fix global typo in last change: use chmod u-w, not chmod u-x.
40023         Spotted by Paul Eggert and Bruce Korb.
40024         * modules/alloca-opt, modules/argz, modules/arpa_inet:
40025         * modules/byteswap, modules/configmake, modules/fcntl:
40026         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
40027         * modules/localcharset, modules/netinet_in, modules/poll:
40028         * modules/stdbool, modules/stdint, modules/sys_select:
40029         * modules/sys_socket, modules/sys_stat, modules/sysexits:
40030
40031 2006-09-06  Jim Meyering  <jim@meyering.net>
40032
40033         Make generated files be read-only.
40034         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
40035         Ensure that each generated file is now read-only.
40036         * modules/argz: Likewise.
40037         * modules/arpa_inet: Likewise.
40038         * modules/byteswap: Likewise.
40039         * modules/configmake: Likewise.
40040         * modules/fcntl: Likewise.
40041         * modules/fnmatch: Likewise.
40042         * modules/getopt: Likewise.
40043         * modules/glob: Likewise.
40044         * modules/inttypes: Likewise.
40045         * modules/netinet_in: Likewise.
40046         * modules/poll: Likewise.
40047         * modules/stdbool: Likewise.
40048         * modules/stdint: Likewise.
40049         * modules/sys_select: Likewise.
40050         * modules/sys_socket: Likewise.
40051         * modules/sys_stat: Likewise.
40052         * modules/sysexits: Likewise.
40053         * modules/localcharset: Same as above, but continue using temporary
40054         file named "t-$@" (why different?) rather than the "$@-t" used
40055         everywhere else.
40056
40057         * modules/sysexits (Makefile.am): Replace literal occurrences
40058         of "sysexit.h" more readable, and more consistent, "$@".
40059
40060 2006-09-06  Bruno Haible  <bruno@clisp.org>
40061
40062         * modules/striconv: New file.
40063         * modules/xstriconv: New file.
40064         * MODULES.html.sh (Internationalization functions): Add striconv,
40065         xstriconv.
40066
40067 2006-09-06  Bruno Haible  <bruno@clisp.org>
40068
40069         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
40070         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
40071         not using libtool correctly.
40072
40073 2006-09-06  Bruno Haible  <bruno@clisp.org>
40074
40075         * lib/striconv.h: New file.
40076         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
40077         iconvstring.c.
40078         * lib/xstriconv.h: New file.
40079         * lib/xstriconv.c: New file.
40080
40081 2006-09-06  Bruno Haible  <bruno@clisp.org>
40082
40083         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
40084         lib_..._LDFLAGS.
40085
40086 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40087
40088         * lib/argz_.h: Sync from Libtool.
40089
40090         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
40091                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
40092
40093         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
40094
40095 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
40096
40097         * modules/trim: New file.
40098
40099 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
40100
40101         * lib/trim.h: New file.
40102         * lib/trim.c: New file.
40103
40104 2006-09-05  Bruno Haible  <bruno@clisp.org>
40105
40106         * MODULES.html.sh (String handling): Add trim.
40107
40108 2006-09-04  Karl Berry  <karl@gnu.org>
40109
40110         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
40111         until next release.
40112
40113 2006-09-03  Bruno Haible  <bruno@clisp.org>
40114
40115         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
40116         correctly.
40117
40118 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
40119
40120         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
40121         not gl_GETLOADAVG.  Omit unneeded semicolons.
40122         Problems reported by Ralf Wildenhues in
40123         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
40124         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
40125         at the end, which is the usual gnulib style.
40126
40127         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
40128         of doing all the work ourselves.
40129         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
40130         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
40131
40132 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
40133
40134         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
40135         Problem reported by Ralf Wildenhues in
40136         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
40137
40138         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
40139         HAVE_STRUCT_STATFS_F_FSTYPENAME.
40140
40141 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
40142
40143         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
40144         yesterday's patch by changing test -n to test -z.
40145
40146 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
40147
40148         * modules/getloadavg (Files): Add m4/getloadavg.m4.
40149         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
40150         the former is now obsolescent.
40151
40152         * modules/chdir-long (Depends-on): Add fcntl.
40153
40154 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
40155
40156         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
40157         obsolescent, and programs should use gnulib instead.
40158         * m4/getloadavg.m4: New file, with contents taken from Autoconf
40159         but with prefixes changed.
40160
40161 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
40162
40163         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
40164         or stdbool.h, because they might not exist while configuring.
40165
40166         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
40167         Don't include unistd.h or limits.h; not needed, since chdir-long.h
40168         does that for us.
40169         (O_DIRECTORY): Remove.
40170
40171 2006-08-31  Eric Blake  <ebb9@byu.net>
40172
40173         * gnulib-tool: Don't let emacs change spaces to TAB.
40174
40175 2006-08-31  Bruno Haible  <bruno@clisp.org>
40176
40177         * gnulib-tool: When calling func_import more than once, do it in a
40178         subshell.
40179         Reported by Eric Blake <ebb9@byu.net>.
40180
40181 2006-08-31  Bruno Haible  <bruno@clisp.org>
40182
40183         * gnulib-tool (nl): Remove variable.
40184         (sed_transform_lib_file): Use more robust test for config-h module.
40185         (func_import): Fix typo in 2006-08-25 patch.
40186
40187 2006-08-31  Bruno Haible  <bruno@clisp.org>
40188
40189         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
40190         specified, augment Makefile.am variables instead of assigning them.
40191
40192 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
40193
40194         Work around a bug in both the Linux and SunOS 64-bit kernels:
40195         nanosleep mishandles sleeps for longer than 2**31 seconds.
40196         Problem reported by Frank v Waveren in
40197         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
40198         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
40199         Check for nanosleep bug.
40200         (LIB_NANOSLEEP): Append clock_gettime library if needed.
40201
40202 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
40203
40204         Work around a bug in both the Linux and SunOS 64-bit kernels:
40205         nanosleep mishandles sleeps for longer than 2**31 seconds.
40206         Problem reported by Frank v Waveren in
40207         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
40208         * lib/nanosleep.c (BILLION): New constant.
40209         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
40210         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
40211         implementation.
40212
40213 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
40214
40215         * modules/nanosleep (Depends-on): Add gettime.
40216
40217 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
40218         and Simon Josefsson  <jas@extundo.com>
40219         and Oskar Liljeblad  <oskar@osk.mine.nu>
40220
40221         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
40222         * gnulib-tool (func_import): New license type 'unmodifiable license
40223         text'.
40224         * modules/fdl: Use it.  Longer description.
40225         * module/gpl, module/lgpl: New files.
40226
40227 2006-08-30  Jim Meyering  <jim@meyering.net>
40228
40229         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
40230         shadowing the parameter.
40231
40232 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40233
40234         Sync from Libtool:
40235
40236         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40237
40238         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
40239         sharing with gnulib.  Report by Eric Blake.
40240
40241 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
40242
40243         * modules/isapipe: New file.
40244         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
40245
40246 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
40247
40248         * modules/configmake (Makefile.am): Add a comment, and omit
40249         the CONFIGMAKE_ prefix from generated macro names.  Suggested
40250         by Bruno Haible.
40251
40252 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
40253
40254         * m4/isapipe.m4: New file.
40255
40256 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
40257
40258         * lib/isapipe.c, lib/isapipe.h: New files.
40259
40260 2006-08-29  Jim Meyering  <jim@meyering.net>
40261
40262         * modules/configmake (Makefile.am): Make configmake.h depend on
40263         Makefile.  Otherwise, a stale configmake.h could hang around.
40264
40265 2006-08-29  Eric Blake  <ebb9@byu.net>
40266
40267         * lib/error.c (error_at_line, print_errno_message): Match libc, after
40268         resolution of upstream bug 3044.
40269
40270 2006-08-29  Bruno Haible  <bruno@clisp.org>
40271
40272         * modules/localcharset (Depends-on): Add configmake.
40273         (Makefile.am): Remove setting of LIBDIR through DEFS.
40274
40275 2006-08-29  Bruno Haible  <bruno@clisp.org>
40276
40277         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
40278         defined.
40279
40280 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
40281
40282         * modules/fcntl: New file.
40283         * modules/chdir-safer (Depends-on): Add fcntl.
40284         * modules/fts: Likewise.
40285         * modules/mkdir-p: Likewise.
40286
40287         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
40288         This undoes the most recent change, since we're now addressing the
40289         problem in a different way.
40290
40291         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
40292         into output, since the output might be called Makefile.am even
40293         if $makefile_name is something different.
40294         (func_import): Use $makefile_am rather than
40295         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
40296         empty.
40297
40298         * modules/inttypes (Files): Add m4/inttypes-h.m4.
40299
40300 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
40301
40302         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
40303         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
40304         recent change to stdint.m4, since we're now addressing the problem in a
40305         different way.
40306
40307 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
40308
40309         * m4/fcntl_h.m4: New file.
40310
40311 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
40312
40313         * lib/fcntl_.h: New file.
40314         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
40315         the fcntl module.
40316         * lib/dirchownmod.c: Likewise.
40317         * lib/fts.c: Likewise.
40318
40319         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
40320         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
40321         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
40322         just before including <inttypes.h>, to avoid circular inclusion.
40323
40324 2006-08-28  Jim Meyering  <jim@meyering.net>
40325
40326         * doc/visibility.texi: Actually read and correct the grammar of the
40327         sentence affected by yesterday's change.
40328
40329 2006-08-28  Eric Blake  <ebb9@byu.net>
40330
40331         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
40332         needs wrapper.
40333
40334 2006-08-28  Eric Blake  <ebb9@byu.net>
40335
40336         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
40337
40338 2006-08-28  Eric Blake  <ebb9@byu.net>
40339
40340         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
40341
40342 2006-08-28  Bruno Haible  <bruno@clisp.org>
40343
40344         * modules/c-strstr: New file, from GNU gettext.
40345         * MODULES.html.sh (String handling): Add c-strstr.
40346
40347 2006-08-28  Bruno Haible  <bruno@clisp.org>
40348
40349         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
40350         macros.
40351         Reported by Eric Blake.
40352
40353 2006-08-28  Bruno Haible  <bruno@clisp.org>
40354
40355         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
40356         (VASNPRINTF): Return a string of length > INT_MAX without failing.
40357         * lib/vasprintf.c: Include errno.h, limits.h.
40358         (EOVERFLOW): New fallback definition.
40359         (vasprintf): Test here whether the string length is > INT_MAX.
40360         * lib/vsnprintf.c: Include errno.h, limits.h.
40361         (EOVERFLOW): New fallback definition.
40362         (vsnprintf): Fix bug when generated string was too long for the buffer.
40363         Test here whether the string length is > INT_MAX.
40364
40365 2006-08-28  Bruno Haible  <bruno@clisp.org>
40366
40367         * lib/inttypes_.h (SCNX*): Remove definitions.
40368         Reported by Eric Blake.
40369
40370 2006-08-28  Bruno Haible  <bruno@clisp.org>
40371
40372         * lib/c-strstr.h: New file, from GNU gettext.
40373         * lib/c-strstr.c: New file, from GNU gettext.
40374
40375 2006-08-28  Bruno Haible  <bruno@clisp.org>
40376
40377         * gnulib-tool: Reorder some statements.
40378
40379 2006-08-28  Bruno Haible  <bruno@clisp.org>
40380
40381         * gnulib-tool: New option --makefile-name.
40382         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
40383         $makefile_name.
40384         (func_import): Write $makefile_name to the cache file, and read it from
40385         there unless explicitly specified. Use $makefile_name as file name
40386         instead of Makefile.am. Adjust the recommendations accordingly.
40387
40388 2006-08-28  Bruno Haible  <bruno@clisp.org>
40389
40390         * gnulib-tool (func_verify_module): Check against misapplying patch.
40391
40392 2006-08-28  Bruno Haible  <bruno@clisp.org>
40393
40394         * gnulib-tool (func_relativize, func_relconcat): New functions.
40395         Give an error if --local-dir is given with --update.
40396         Remove trailing slashes from $local_gnulib_dir.
40397         (func_import): Store the relativized $local_gnulib_dir in
40398         gnulib-cache.m4, and read it from there if not specified explicitly.
40399
40400 2006-08-28  Bruno Haible  <bruno@clisp.org>
40401
40402         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
40403         is the current directory. Respect also $local_gnulib_dir.
40404
40405 2006-08-28  Bruno Haible  <bruno@clisp.org>
40406             Simon Josefsson  <jas@extundo.com>
40407
40408         BeOS portability.
40409         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
40410
40411 2006-08-27  Jim Meyering  <jim@meyering.net>
40412
40413         * doc/visibility.texi: Remove duplicate word: "pointer".
40414
40415 2006-08-26  Bruno Haible  <bruno@clisp.org>
40416
40417         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
40418         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
40419         (Makefile.am): Create inttypes.h from inttypes_.h.
40420         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
40421
40422         * modules/imaxabs: New file.
40423
40424         * modules/imaxdiv: New file.
40425
40426 2006-08-26  Bruno Haible  <bruno@clisp.org>
40427
40428         * m4/inttypes.m4: New file.
40429         * m4/_inttypes_h.m4: Remove file.
40430         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
40431         PRI_MACROS_BROKEN.
40432         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
40433
40434         * m4/imaxabs.m4: New file.
40435
40436         * m4/imaxdiv.m4: New file.
40437
40438 2006-08-26  Bruno Haible  <bruno@clisp.org>
40439
40440         * lib/inttypes_.h: New file.
40441         * lib/inttypes.h: Remove file.
40442         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
40443
40444         * lib/imaxabs.c: New file.
40445
40446         * lib/imaxdiv.c: New file.
40447
40448 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
40449
40450         New config-h module, so that "make" output needn't be cluttered
40451         by -DHAVE_CONFIG_H.
40452         * MODULES.html.sh (Support for building libraries and executables):
40453         Add config-h.
40454         * modules/config-h: New file.
40455         * gnulib-tool (nl, sed_transform_lib_file): New vars.
40456         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
40457         the config-h module is used.
40458
40459         New configmake module, so that "make" output needn't be cluttered
40460         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
40461         * MODULES.html.sh (Support for building libraries and executables):
40462         Add configmake.
40463         * modules/configmake: New file.
40464
40465 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
40466
40467         * m4/config-h.m4: New file.
40468
40469 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
40470
40471         * config/srclist.txt: Add elisp-comp.
40472
40473 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
40474
40475         * MODULES.html.sh (Support for building libraries and executables):
40476         Add elisp-comp.
40477         * build-aux/elisp-comp: New file.
40478         * modules/elisp-comp: New file.
40479
40480 2006-08-24  Bruno Haible  <bruno@clisp.org>
40481
40482         * gnulib-tool (func_create_testdir): Use non-default values of
40483         sourcebase and m4base.
40484
40485 2006-08-24  Bruno Haible  <bruno@clisp.org>
40486
40487         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
40488         HTML structure.
40489
40490 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
40491
40492         * modules/openat (Depends-on): Add lchown.
40493
40494 2006-08-23  Bruno Haible  <bruno@clisp.org>
40495
40496         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
40497         of gl_LOCK_EARLY instead of gl_LOCK.
40498
40499 2006-08-23  Bruno Haible  <bruno@clisp.org>
40500
40501         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
40502         on OSF/1 to no.
40503         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
40504
40505 2006-08-23  Bruno Haible  <bruno@clisp.org>
40506
40507         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
40508         as unusable.
40509
40510         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
40511         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
40512         (gl_LOCK): New macro.
40513
40514 2006-08-22  Simon Josefsson  <jas@extundo.com>
40515
40516         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
40517         to md5 module.
40518
40519 2006-08-22  Simon Josefsson  <jas@extundo.com>
40520
40521         * MODULES.html.sh: Add "Support for maintaining and release
40522         projects".
40523
40524         * build-aux/gnupload: New file, from coreutils.
40525
40526 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
40527
40528         Avoid the need for AC_LIBSOURCES in m4 macros.
40529         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
40530         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
40531         * modules/check-version (EXTRA_DIST): Add check-version.h.
40532         * modules/crc (EXTRA_DIST): Add crc.h.
40533         * modules/des (EXTRA_DIST): Add des.h.
40534         * modules/gc (EXTRA_DIST): Add gc.h.
40535         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
40536         * modules/getline (EXTRA_DIST): Add getline.h.
40537         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
40538         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
40539         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
40540         * modules/md2 (EXTRA_DIST): Add md2.h.
40541         * modules/md4 (EXTRA_DIST): Add md4.h.
40542         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
40543         * modules/read-file (EXTRA_DIST): Add read-file.h.
40544         * modules/readline (EXTRA_DIST): Add readline.h.
40545         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
40546         rijndael-api-fst.h.
40547
40548 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
40549
40550         * m4/rijndael.m4 (gl_ARCFOUR):
40551         * m4/arctwo.m4 (gl_ARCTWO):
40552         * m4/check-version.m4 (gl_CHECK_VERSION):
40553         * m4/crc.m4 (gl_CRC):
40554         * m4/des.m4 (gl_DES):
40555         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
40556         * m4/gc.m4 (gl_GC):
40557         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
40558         * m4/getline.m4 (gl_FUNC_GETLINE):
40559         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
40560         * m4/hmac-md5.m4 (gl_HMAC_MD5):
40561         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
40562         * m4/md2.m4 (gl_MD2):
40563         * m4/md4.m4 (gl_MD4):
40564         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
40565         * m4/read-file.m4 (gl_FUNC_READ_FILE):
40566         * m4/readline.m4 (gl_FUNC_READLINE):
40567         * m4/rijndael.m4 (gl_RIJNDAEL):
40568         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
40569         to get the necessary .h files and whatnot.
40570
40571 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
40572
40573         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
40574         gnulib rather than the other way around.
40575         * config/srclistvars.sh (COREUTILS): Remove.
40576
40577 2006-08-22  Jim Meyering  <jim@meyering.net>
40578
40579         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
40580
40581         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
40582
40583 2006-08-22  Eric Blake  <ebb9@byu.net>
40584
40585         * modules/regexprops-generic: New file.
40586         * MODULES.html.sh (Support for building documentation): List it.
40587
40588 2006-08-22  Eric Blake  <ebb9@byu.net>
40589
40590         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
40591         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
40592         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
40593         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
40594
40595 2006-08-22  Bruno Haible  <bruno@clisp.org>
40596
40597         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
40598         and lib_LTLIBRARIES like the other lib_* variables.
40599
40600 2006-08-22  Bruno Haible  <bruno@clisp.org>
40601
40602         * build-aux/x-to-1.in: New file, from GNU gettext.
40603
40604 2006-08-22  Bruno Haible  <bruno@clisp.org>
40605
40606         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
40607         <utmpx.h> exists.
40608
40609 2006-08-22  Bruno Haible  <bruno@clisp.org>
40610
40611         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
40612         <utmpx.h> exists.
40613
40614 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
40615
40616         BeOS portability.
40617         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
40618         exist.
40619         Problem reported by Bruno Haible.
40620
40621 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
40622
40623         Avoid the need for AC_LIBSOURCES in m4 macros.
40624         * modules/acl (EXTRA_DIST): Add acl.h.
40625         * modules/argmatch (Files): Add m4/argmatch.m4.
40626         (configure.ac): Add gl_ARGMATCH.
40627         (EXTRA_DIST): Renamed from lib_SOURCES, for
40628         consistency with the other modules.  Remove argmatch.c.
40629         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
40630         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
40631         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
40632         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
40633         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
40634         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
40635         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
40636         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
40637         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
40638         * modules/closeout (EXTRA_DIST): Add closeout.h.
40639         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
40640         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
40641         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
40642         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
40643         dirname.h; remove basename.c and stripslash.c.
40644         * modules/exclude (EXTRA_DIST): Add exclude.h.
40645         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
40646         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
40647         * modules/file-type (EXTRA_DIST): Add file-type.h.
40648         * modules/filemode (EXTRA_DIST): Add filemode.h.
40649         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
40650         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
40651         * modules/fpending (EXTRA_DIST): Add __fpending.h.
40652         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
40653         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
40654         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
40655         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
40656         * modules/getdate (EXTRA_DIST): Add getdate.c.
40657         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
40658         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
40659         * modules/getpass (EXTRA_DIST): Add getpass.h.
40660         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
40661         * modules/group-member (EXTRA_DIST): Add group-member.h.
40662         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
40663         * modules/hash (EXTRA_DIST): Add hash.h.
40664         * modules/human (EXTRA_DIST): Add human.h.
40665         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
40666         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
40667         * modules/lchown (EXTRA_DIST): Add lchown.h.
40668         * modules/long-options (EXTRA_DIST): Add long-options.h.
40669         * modules/lstat (EXTRA_DIST): Add lstat.h.
40670         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
40671         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
40672         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
40673         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
40674         * modules/memxor (EXTRA_DIST): Add memxor.h.
40675         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
40676         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
40677         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
40678         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
40679         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
40680         * modules/physmem (EXTRA_DIST): Add physmem.h.
40681         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
40682         * modules/posixver (EXTRA_DIST): Add posixver.h.
40683         * modules/quote (EXTRA_DIST): Add quote.h.
40684         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
40685         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
40686         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
40687         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
40688         regex_internal.h regexec.c.
40689         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
40690         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
40691         * modules/same (EXTRA_DIST): Add same.h.
40692         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
40693         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
40694         * modules/savedir (EXTRA_DIST): Add savedir.h.
40695         * modules/sha1 (EXTRA_DIST): Add sha1.h.
40696         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
40697         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
40698         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
40699         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
40700         * modules/strdup (EXTRA_DIST): Add strdup.h.
40701         * modules/strftime (EXTRA_DIST): Add strftime.h.
40702         * modules/strndup (EXTRA_DIST): Add strndup.h.
40703         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
40704         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
40705         * modules/time_r (EXTRA_DIST): Add time_r.h.
40706         * modules/timespec (EXTRA_DIST): Add timespec.h.
40707         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
40708         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
40709         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
40710         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
40711         * modules/userspec (EXTRA_DIST): Add userspec.h.
40712         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
40713         * modules/utimens (EXTRA_DIST): Add utimens.h.
40714         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
40715         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
40716         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
40717         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
40718         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
40719         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
40720         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
40721         * modules/yesno (EXTRA_DIST): Add yesno.h.
40722
40723 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
40724
40725         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
40726
40727         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
40728         * m4/dev-ino.m4, same-inode.m4: Remove.
40729
40730         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
40731         * m4/acl.m4 (AC_FUNC_ACL):
40732         * m4/backupfile.m4 (gl_BACKUPFILE):
40733         * m4/c-strtod.m4 (gl_C99_STRTOLD):
40734         * m4/canon-host.m4 (gl_CANON_HOST):
40735         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
40736         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
40737         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
40738         * m4/cloexec.m4 (gl_CLOEXEC):
40739         * m4/close-stream.m4 (gl_CLOSE_STREAM):
40740         * m4/closeout.m4 (gl_CLOSEOUT):
40741         * m4/dirfd.m4 (gl_FUNC_DIRFD):
40742         * m4/dirname.m4 (gl_DIRNAME):
40743         * m4/exclude.m4 (gl_EXCLUDE):
40744         * m4/exitfail.m4 (gl_EXITFAIL):
40745         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
40746         * m4/file-type.m4 (gl_FILE_TYPE):
40747         * m4/filemode.m4 (gl_FILEMODE):
40748         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
40749         * m4/fpending.m4 (gl_FUNC_FPENDING):
40750         * m4/fprintftime.m4 (gl_FPRINTFTIME):
40751         * m4/fts.m4 (gl_FUNC_FTS):
40752         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
40753         * m4/getdate.m4 (gl_GETDATE):
40754         * m4/gethrxtime.m4 (gl_GETHRXTIME):
40755         * m4/getpagesize.m4 (gl_GETPAGESIZE):
40756         * m4/getpass.m4 (gl_FUNC_GETPASS):
40757         * m4/gettime.m4 (gl_GETTIME):
40758         * m4/getugroups.m4 (gl_GETUGROUPS):
40759         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
40760         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
40761         * m4/hard-locale.m4 (gl_HARD_LOCALE):
40762         * m4/hash.m4 (gl_HASH):
40763         * m4/idcache.m4 (gl_IDCACHE):
40764         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
40765         * m4/lchown.m4 (gl_FUNC_LCHOWN):
40766         * m4/long-options.m4 (gl_LONG_OPTIONS):
40767         * m4/lstat.m4 (gl_FUNC_LSTAT):
40768         * m4/md5.m4 (gl_MD5):
40769         * m4/memcasecmp.m4 (gl_MEMCASECMP):
40770         * m4/memcoll.m4 (gl_MEMCOLL):
40771         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
40772         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
40773         * m4/memxor.m4 (gl_MEMXOR):
40774         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
40775         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
40776         * m4/modechange.m4 (gl_MODECHANGE):
40777         * m4/mountlist.m4 (gl_MOUNTLIST):
40778         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
40779         * m4/openat.m4 (gl_FUNC_OPENAT):
40780         * m4/pathmax.m4 (gl_PATHMAX):
40781         * m4/physmem.m4 (gl_PHYSMEM):
40782         * m4/posixtm.m4 (gl_POSIXTM):
40783         * m4/posixver.m4 (gl_POSIXVER):
40784         * m4/quote.m4 (gl_QUOTE):
40785         * m4/quotearg.m4 (gl_QUOTEARG):
40786         * m4/readtokens.m4 (gl_READTOKENS):
40787         * m4/readutmp.m4 (gl_READUTMP):
40788         * m4/regex.m4 (gl_REGEX):
40789         * m4/safe-read.m4 (gl_SAFE_READ):
40790         * m4/safe-write.m4 (gl_SAFE_WRITE):
40791         * m4/same.m4 (gl_SAME):
40792         * m4/save-cwd.m4 (gl_SAVE_CWD):
40793         * m4/savedir.m4 (gl_SAVEDIR):
40794         * m4/settime.m4 (gl_SETTIME):
40795         * m4/sha1.m4 (gl_SHA1):
40796         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
40797         * m4/stat-macros.m4 (gl_STAT_MACROS):
40798         * m4/stat-time.m4 (gl_STAT_TIME):
40799         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
40800         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
40801         * m4/strdup.m4 (gl_FUNC_STRDUP):
40802         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
40803         * m4/strndup.m4 (gl_FUNC_STRNDUP):
40804         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
40805         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
40806         * m4/time_r.m4 (gl_TIME_R):
40807         * m4/timespec.m4 (gl_TIMESPEC):
40808         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
40809         * m4/unlinkdir.m4 (gl_UNLINKDIR):
40810         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
40811         * m4/userspec.m4 (gl_USERSPEC):
40812         * m4/utimecmp.m4 (gl_UTIMECMP):
40813         * m4/utimens.m4 (gl_UTIMENS):
40814         * m4/xalloc.m4 (gl_XALLOC):
40815         * m4/xgetcwd.m4 (gl_XGETCWD):
40816         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
40817         * m4/xreadlink.m4 (gl_XREADLINK):
40818         * m4/xstrtod.m4 (gl_XSTRTOD):
40819         * m4/yesno.m4 (gl_YESNO):
40820         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
40821         to get the necessary .h files and whatnot.
40822
40823 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
40824             Bruno Haible  <bruno@clisp.org>
40825
40826         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
40827         /bin/sh understanding of '!' conditional negation.
40828
40829 2006-08-21  Jim Meyering  <jim@meyering.net>
40830
40831         * modules/openat (Depends-on): Really alphabetize.
40832
40833         * modules/acl (Depends-on): Add error and quote.
40834
40835         * check-module (find_included_lib_files): Add at-func.c to the
40836         ok-to-include-more-than-once white list.
40837
40838         * modules/openat (Depends-on): Add lstat.  Alphabetize.
40839
40840 2006-08-21  Bruno Haible  <bruno@clisp.org>
40841
40842         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
40843         Emit a pkgdata_DATA variable only if some snippets add contents to it.
40844         Reported by Martin Lambers <marlam@marlam.de>.
40845
40846 2006-08-21  Bruno Haible  <bruno@clisp.org>
40847
40848         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
40849         specify an installation location, don't emit a noinst_LIBRARIES or
40850         noinst_LTLIBRARIES assignment.
40851
40852 2006-08-21  Bruno Haible  <bruno@clisp.org>
40853
40854         BeOS portability.
40855         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
40856         BeOS has mbrtowc() but no <wctype.h>.
40857
40858 2006-08-21  Bruno Haible  <bruno@clisp.org>
40859
40860         BeOS portability.
40861         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
40862         exist.
40863
40864 2006-08-21  Bruno Haible  <bruno@clisp.org>
40865
40866         BeOS portability.
40867         * lib/mbchar.h: Include <wctype.h> only if it exists.
40868
40869 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
40870
40871         Remove files that are no longer needed by their respective modules.
40872         * m4/obstack.m4: Remove.
40873         * m4/strerror_r.m4: Remove.
40874         * m4/uint32_t.m4: Remove.
40875         * m4/uintptr_t.m4: Remove.
40876         * m4/ullong_max.m4: Remove.
40877         * m4/xstrtoimax.m4: Remove.
40878         * m4/xstrtoumax.m4: Remove.
40879
40880         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
40881         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
40882         dependencies now capture this.
40883
40884         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
40885         Do not use AC_LIBSOURCES, since gnulib modules now do this.
40886         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
40887         * m4/human.m4 (gl_HUMAN): Likewise.
40888         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
40889         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
40890
40891         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
40892
40893         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
40894         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
40895         stdint.
40896         * m4/human.m4 (gl_HUMAN): Likewise.
40897         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
40898         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
40899         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
40900         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
40901         * m4/xstrtol (gl_XSTRTOL): Likewise.
40902
40903         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
40904         AC_TYPE_LONG_LONG_INT.
40905         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
40906         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
40907         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
40908         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
40909
40910         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
40911         on stdbool.
40912
40913         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
40914         (gl_PREREQ_XSTRTOUL): Remove.
40915
40916         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
40917
40918         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
40919         mode.
40920
40921 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
40922
40923         Add and change modules to make it easier for coreutils to use
40924         gnulib-tool.
40925         * modules/backupfile (Files): Remove m4/d-ino.m4.
40926         (Depends-on): Add d-ino.
40927         * modules/cycle-check (Depends-on): Add stdint.
40928         (lib_SOURCES): Add cycle-check.h.
40929         * modules/d-ino: New module.
40930         * modules/d-type: New module.
40931         * modules/error (Files): Remove m4/strerror_r.m4.
40932         * modules/filemode (Files): Add m4/st_dm_mode.m4.
40933         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
40934         m4/inttypes_h.m4, m4/uintmax_t.m4.
40935         (Depends-on): Add stdint.
40936         (lib_SOURCES): Add fsusage.h.
40937         * modules/getcwd (Files): Remove d-ino.m4.
40938         (Depends-on): Add d-ino.
40939         * modules/getndelim2 (Depends-on): Add stdint.
40940         * modules/glob (Files): Remove m4/d-type.m4.
40941         (Depends-on): Add d-type.
40942         * modules/host-os: New module.
40943         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
40944         m4/inttypes_h.m4, m4/uintmax_t.m4.
40945         * Depends-on: Add stdint.
40946         (lib_SOURCES): Add human.h.
40947         * modules/inttostr (Files): Remove m4/intmax_t.m4,
40948         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
40949         m4/uintmax_t.m4, m4/ulonglong.m4.
40950         (Depends-on): Add stdint.
40951         (EXTRA_DIST): Add inttostr.h.
40952         * modules/lchmod: New module.
40953         * modules/link-follow: New module.
40954         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
40955         (Depends-on): Add lchmod.
40956         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
40957         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
40958         (Depends-on): Add stdint.
40959         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
40960         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
40961         (Depends-on): Add stdint.
40962         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
40963         * modules/perl: New module.
40964         * modules/regex (Depends-on): Add stdint.
40965         * modules/rmdir-errno: New module.
40966         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
40967         m4/intmax_t.m4.
40968         (Depends-on): Add stdint.
40969         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
40970         m4/uintmax_t.m4.
40971         (Depends-on): Add stdint.
40972         * modules/unlink-busy: New module.
40973         * modules/utimecmp (Depends-on): Add stdint.
40974         * modules/uptime: New module.
40975         * modules/winsz-ioctl: New module.
40976         * modules/winsz-termios: New module.
40977         * modules/xnanosleep (Depends-on): Add nanosleep.
40978         * modules/ullong_max: Remove.
40979         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
40980         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
40981         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
40982         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
40983         (Depends-on): Add inttypes.
40984         (lib_SOURCES): Add xstrtol.h.
40985         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
40986         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
40987         * MODULES.html.sh: Move 'assert' into the assert section.
40988         Move 'dummy' into the linking section.
40989         Remove ullong_max.
40990         Add section for compatibility checks for POSIX:2001 functions,
40991         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
40992         winsz-ioctl, and winsz-termios into it.
40993         Add lchmod.
40994         Add top-level Misc section and put host-os, perl, and uptime
40995         into it.
40996
40997 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
40998
40999         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
41000         now assume the stdint module.  Do not include inttypes.h.
41001         * lib/fsusage.h: Likewise.
41002         * lib/getndelim2.c: Likewise.
41003         * lib/human.h: Likewise.
41004         * lib/inttostr.h: Likewise.
41005         * lib/obstack.c: Likewise.
41006         * lib/regex_internal.h: Likewise.
41007         * lib/tempname.c: Likewise.
41008         * lib/utimecmp.c: Likewise.
41009         * lib/xstrtol.h: Likewise.
41010
41011         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
41012
41013         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
41014         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
41015         * lib/xtime.h: Likewise.
41016
41017 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
41018
41019         * modules/openat (Files): Add lib/fchmodat.c.
41020         Fixes problem reported by Jay Youngman.
41021
41022 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
41023
41024         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
41025         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
41026
41027 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
41028             Bruno Haible  <bruno@clisp.org>
41029
41030         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
41031         and is a script that invokes bison. Tighten the code. Add comments.
41032
41033 2006-08-18  Jim Meyering  <jim@meyering.net>
41034
41035         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
41036         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
41037         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
41038         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
41039
41040 2006-08-18  Bruno Haible  <bruno@clisp.org>
41041
41042         * modules/bison-i18n: New file.
41043         * MODULES.html.sh (Internationalization functions): Add it.
41044
41045 2006-08-18  Bruno Haible  <bruno@clisp.org>
41046
41047         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
41048         sys/statvfs.h. When getmntinfo was found, check its declaration and
41049         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
41050
41051 2006-08-18  Bruno Haible  <bruno@clisp.org>
41052
41053         * m4/bison-i18n.m4: New file, from bison.
41054
41055 2006-08-18  Bruno Haible  <bruno@clisp.org>
41056
41057         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
41058         (ME_DUMMY): Treat "kernfs" as a dummy.
41059         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
41060
41061 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
41062
41063         Update from coreutils.
41064
41065         2006-08-15  Jim Meyering  <jim@meyering.net>
41066
41067         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
41068
41069         2006-01-17  Jim Meyering  <jim@meyering.net>
41070
41071         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
41072
41073         2006-01-11  Jim Meyering  <jim@meyering.net>
41074
41075         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
41076         Check for the lchmod function.
41077
41078 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
41079
41080         Update from coreutils.
41081
41082         * lib/__fpending.h: Add copyright notice.
41083         * lib/fprintftime.h: Likewise.
41084         * lib/savedir.c: Use (C) in copyright notice.
41085         * lib/savedir.h: Likewise.
41086
41087         2006-08-15  Jim Meyering  <jim@meyering.net>
41088
41089         * lib/at-func.c: New file, with the logic of all emulated at-functions.
41090         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
41091         in support of the EXPECTED_ERRNO macro.
41092         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
41093         definitions.  Instead, define the appropriate symbols and include
41094         "at-func.c".
41095         * lib/mkdirat.c (mkdirat): Likewise.
41096         * lib/fchmodat.c (fchmodat): Likewise.
41097         (ENOSYS): Remove definition.
41098         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
41099         it.  Don't include "unistd--.h" -- it wasn't ever used.
41100
41101         2006-01-17  Jim Meyering  <jim@meyering.net>
41102
41103         Rewrite fts.c not to change the current working directory,
41104         by using openat, fstatat, fdopendir, etc..
41105
41106         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
41107         (HAVE_OPENAT_SUPPORT): Define.
41108         [_LIBC] (fchdir): Don't undef or define; no longer used.
41109         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
41110         Now, this `function' always succeeds, and consumes its file descriptor
41111         parameter -- so callers must not close such FDs.  Update callers.
41112         (diropen_fd, opendirat, cwd_advance_fd): New functions.
41113         (diropen): Add parameter, SP.  Adjust all callers.
41114         Implement using diropen_fd, rather than open.
41115         (fts_open): Initialize new member, fts_cwd_fd.
41116         Remove fts_rft-setting code.
41117         (fts_close): Close fts_cwd_fd, if necessary.
41118         (__opendir2): Define in terms of opendir or opendirat,
41119         depending on whether the FST_NOCHDIR flag is set.
41120         (fts_build): Since fts_safe_changedir consumes its FD, and since
41121         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
41122         and close the dup'd file descriptor upon failure.
41123         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
41124         (fts_safe_changedir): Tweak semantics to reflect that this function
41125         now calls cwd_advance_fd and hence consumes its FD argument.
41126         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
41127         [struct FTS] (fts_rft): Remove now-unused member.
41128         [struct FTS] (fts_cycle.state): Improve comment.
41129
41130         * lib/openat.c (openat_needs_fchdir): New function.
41131         * lib/openat.h (openat_needs_fchdir): Declare it.
41132
41133 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
41134
41135         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
41136         Problem and fix reported by Pádraig Brady in
41137         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
41138
41139 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
41140
41141         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
41142
41143 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
41144
41145         * lib/memcoll.c (memcoll): Optimize for the common case where the
41146         arguments are bytewise equal.
41147
41148 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
41149
41150         * doc/regexprops-generic.texi: Add a copyright notice.
41151
41152 2006-08-15  Bruno Haible  <bruno@clisp.org>
41153
41154         * modules/tmpdir (License): Change to LGPL.
41155
41156 2006-08-15  Bruno Haible  <bruno@clisp.org>
41157
41158         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
41159         module.
41160
41161 2006-08-14  Simon Josefsson  <jas@extundo.com>
41162
41163         * config/srclist.txt: Add gnupload.
41164
41165 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
41166
41167         Change copyright notice from LGPL 2 to GPL 2, since that's the
41168         standard form used in the gnulib repository.
41169         * tests/test-lock.c: Likewise.
41170         * tests/test-stdint.c: Likewise.
41171         * tests/test-tls.c: Likewise.
41172
41173         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
41174         prelude-manager.  User shorter URLs for GNU projects, without '?'.
41175         Add copyright notice.
41176
41177         * check-module: Add copyright notice.  Output a copyright
41178         notice if "--version" is specified.
41179         * modules/COPYING: New file.
41180         * tests/test-getaddrinfo.c: Add copyright notice.
41181         * tests/test-verify.c: Likewise.
41182
41183 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
41184
41185         Change copyright notice from LGPL 2 to GPL 2, since that's the
41186         standard form used in the gnulib repository.
41187         * lib/lock.c: LGPL -> GPL.
41188         * lib/lock.h: Likewise.
41189         * lib/strnlen1.c: Likewise.
41190         * lib/strnlen1.h: Likewise.
41191         * lib/tls.c: Likewise.
41192         * lib/tls.h: Likewise.
41193         * lib/tmpdir.c: Likewise.
41194
41195         * lib/TODO: Remove; this belongs only in coreutils.
41196
41197 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
41198
41199         Add copyright notices to long-enough files that lack them, since
41200         otherwise the files aren't clearly free.  Use the same notice that
41201         getdate.texi already uses.
41202         * doc/alloca-opt.texi: Add copyright notice.
41203         * doc/alloca.texi: Likewise.
41204         * doc/ctime.texi: Likewise.
41205         * doc/functions.texi: Likewise.
41206         * doc/gcd.texi: Likewise.
41207         * doc/gnulib-tool.texi: Likewise.
41208         * doc/inet_ntoa.texi: Likewise.
41209         * doc/visibility.texi: Likewise.
41210
41211         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
41212         * doc/quote.texi: Add copyright notice.
41213
41214         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
41215         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
41216         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
41217         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
41218         is now obsolete, and give a pointer to the Sun list.
41219         Add copyright notice.
41220
41221 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
41222
41223         * config/srclistvars.sh: Add copyright notice.
41224
41225 2006-08-14  Eric Blake  <ebb9@byu.net>
41226
41227         Import the following change from libc:
41228
41229         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
41230
41231         Upstream bug 2997.
41232         * lib/misc/error.c: Add space between program name and message if file
41233         name is missing.
41234
41235 2006-08-12  Karl Berry  <karl@gnu.org>
41236
41237         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
41238         remove, these originate in gnulib now.
41239
41240 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41241
41242         * doc/Makefile (standards.info standards.html standards.dvi):
41243         Also depend on make-stds.texi.
41244
41245 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
41246
41247         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
41248         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
41249
41250         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
41251         in wchar_t.  Problem reported by Eric Blake.
41252
41253         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
41254         LEN is smaller than SIZE.  Suggested by Bruno Haible.
41255         Also, help the compiler to keep LEN in a register.
41256
41257 2006-08-11  Eric Blake  <ebb9@byu.net>
41258
41259         * users.txt: Sort.  Add tar.
41260
41261 2006-08-11  Bruno Haible  <bruno@clisp.org>
41262
41263         * users.txt: New file.
41264
41265 2006-08-11  Bruno Haible  <bruno@clisp.org>
41266
41267         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
41268         before <wchar.h>. Needed for OSF/1 and BSD/OS.
41269
41270 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
41271
41272         * modules/snprintf (Depends-on): Remove minmax.
41273         (Maintainer): Add self and Bruno.
41274
41275 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
41276
41277         * lib/.cppi-disable: Add snprintf.h, socket_.h.
41278         * lib/snprintf.c: Include <errno.h> and <limits.h>.
41279         (EOVERFLOW): Define if the system does not.
41280         Do not include "minmax.h"; it wasn't used.
41281         (snprintf): Don't assume size_t promotes to an unsigned type.
41282         Fix bug when generated string was too long for the buffer: the
41283         buffer's contents are supposed to be the initial prefix of the
41284         output.  Don't assume vasnprintf returns EOVERFLOW if the size
41285         exceeds INT_MAX; do the check ourselves.
41286
41287         Import the following changes from libc:
41288
41289         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
41290
41291         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
41292         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
41293         set wc to the byte which couldn't be converted.
41294         (re_string_reconstruct): Don't clear valid_raw_len before calling
41295         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
41296         tip_context using re_string_context_at.
41297
41298         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
41299
41300         * lib/posix/regex.h: g++ still cannot handled [restrict].
41301
41302         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
41303
41304         * lib/posix/regex.h: Remove special handling for VMS.
41305
41306 2006-08-10  Jim Meyering  <jim@meyering.net>
41307
41308         * modules/same-inode: New module.
41309         * modules/dev-ino: New module.
41310         * modules/cycle-check: Depend on these modules, rather than simply
41311         including their .h files.
41312         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
41313         required via m4/cycle-check.m4.
41314         * modules/same: Depend on new same-inode module, rather than
41315         including same-inode.h.
41316         * modules/chdir-safer: New file.
41317
41318         * modules/chown (Depends-on): Add stat-macros.
41319
41320 2006-08-10  Jim Meyering  <jim@meyering.net>
41321
41322         * m4/cycle-check.m4: New file.
41323         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
41324         * m4/dev-ino.m4, m4/same-inode.m4: New files.
41325
41326 2006-08-10  Eric Blake  <ebb9@byu.net>
41327
41328         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
41329         in from original proposal.
41330
41331 2006-08-10  Eric Blake  <ebb9@byu.net>
41332         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
41333
41334         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
41335         namespace.
41336
41337 2006-08-10  Bruno Haible  <bruno@clisp.org>
41338
41339         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
41340         as well.
41341
41342 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
41343
41344         Sync from coreutils.
41345
41346         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
41347
41348         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
41349         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
41350
41351 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
41352
41353         * modules/restrict: Remove; no longer needed now that we assume
41354         Autoconf 2.59 or later.
41355         * MODULES.html.sh: Remove 'restrict'.
41356         * modules/argp (Depends-on): Remove 'restrict'.
41357         * modules/base64 (Depends-on): Likewise.
41358         * modules/gc (Depends-on): Likewise.
41359         * modules/getaddrinfo (Depends-on): Likewise.
41360         * modules/glob (Depends-on): Likewise.
41361         * modules/inet_ntop (Depends-on): Likewise.
41362         * modules/inet_pton (Depends-on): Likewise.
41363         * modules/memxor (Depends-on): Likewise.
41364         * modules/regex (Depends-on): Likewise.
41365         * modules/strtok_r (Depends-on): Likewise.
41366         * modules/time_r (Depends-on): Likewise.
41367
41368 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
41369
41370         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
41371         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
41372         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
41373         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
41374         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
41375         * m4/memxor.m4 (gl_MEMXOR): Likewise.
41376         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
41377         gl_C_RESTRICT replaced by AC_C_RESTRICT.
41378
41379         Merge from coreutils.
41380         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
41381         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
41382         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
41383         * m4/time_r.m4 (gl_TIME_R): Likewise.
41384
41385 2006-08-09  Karl Berry  <karl@gnu.org>
41386
41387         * config/srclist.txt: no more gettext-tools, per Bruno.
41388
41389 2006-08-08  Eric Blake  <ebb9@byu.net>
41390
41391         * modules/verror: New module.
41392         * MODULES.html.sh: Document it.
41393
41394 2006-08-08  Eric Blake  <ebb9@byu.net>
41395
41396         * lib/verror.h, lib/verror.c: New files.
41397
41398 2006-08-08  Eric Blake  <ebb9@byu.net>
41399
41400         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
41401         verror_at_line output complies with GNU Coding Standards even when
41402         file is NULL.
41403
41404 2006-08-07  Bruno Haible  <bruno@clisp.org>
41405
41406         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
41407         versions of AIX.
41408         Reported by Ralf Wildenhues.
41409
41410 2006-08-07  Bruno Haible  <bruno@clisp.org>
41411
41412         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
41413         in an AC_DEFUN. Needed so that the autoconf snippets can use
41414         AC_REQUIRE.
41415
41416 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41417
41418         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
41419         Initialize pkgdata_DATA.
41420         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
41421         overriding it.
41422
41423 2006-08-06  Eric Blake  <ebb9@byu.net>
41424
41425         * lib/error.h: Fold in some upstream changes from glibc.
41426         * lib/error.c: Likewise.
41427
41428 2006-08-04  Bruno Haible  <bruno@clisp.org>
41429
41430         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
41431         Make the mostlyclean-local rule depend on mostlyclean-generic.
41432         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
41433
41434 2006-07-31  Bruno Haible  <bruno@clisp.org>
41435
41436         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
41437         <stdlib.h>, <string.h>.
41438
41439 2006-07-30  Bruno Haible  <bruno@clisp.org>
41440
41441         * modules/readlink (License): Change to LGPL.
41442
41443 2006-07-30  Bruno Haible  <bruno@clisp.org>
41444
41445         * modules/javaversion (Makefile.am): Distribute javaversion.java and
41446         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
41447         set PKGDATADIR to point to it.
41448
41449 2006-07-30  Bruno Haible  <bruno@clisp.org>
41450
41451         * modules/csharpexec (configure.ac): Comment out macro invocation.
41452         * modules/javaexec (configure.ac): Likewise.
41453         * modules/javacomp-script (configure.ac): Likewise.
41454
41455         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
41456
41457 2006-07-30  Bruno Haible  <bruno@clisp.org>
41458
41459         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
41460         linked-list.
41461
41462 2006-07-30  Bruno Haible  <bruno@clisp.org>
41463
41464         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
41465
41466 2006-07-30  Bruno Haible  <bruno@clisp.org>
41467
41468         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
41469         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
41470         get removed.
41471
41472 2006-07-29  Bruno Haible  <bruno@clisp.org>
41473
41474         Make it possible for gnulib-tool to work with locally modified or
41475         augmented gnulib repositories.
41476         * gnulib-tool (func_usage): Document --local-dir option.
41477         (local_gnulib_dir): New variable.
41478         Handle --local-dir option.
41479         (func_lookup_file): New function.
41480         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
41481         (func_get_description, func_get_filelist, func_get_description,
41482         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
41483         func_get_automake_snippet, func_get_include_directive,
41484         func_get_license, func_get_maintainer): Use func_lookup_file.
41485         (func_import, func_create_testdir): Use func_lookup_file.
41486
41487 2006-07-29  Bruno Haible  <bruno@clisp.org>
41488
41489         * modules/setenv (Depends-on): Add unistd.
41490
41491 2006-07-29  Bruno Haible  <bruno@clisp.org>
41492
41493         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
41494
41495 2006-07-29  Bruno Haible  <bruno@clisp.org>
41496
41497         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
41498
41499 2006-07-29  Bruno Haible  <bruno@clisp.org>
41500
41501         * gnulib-tool (import, update): If there is no Makefile.am, look at
41502         aclocal.m4, instead of bailing out.
41503
41504 2006-07-29  Bruno Haible  <bruno@clisp.org>
41505
41506         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
41507         Categorize the options by when they are useful.
41508
41509 2006-07-29  Bruno Haible  <bruno@clisp.org>
41510
41511         * gnulib-tool (func_usage): Document option --no-libtool.
41512         Handle option --no-libtool.
41513         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
41514         for changed semantics of $libtool variable.
41515         (func_import): Likewise. If libtool is not used, show this through
41516         an option --no-libtool.
41517         (func_create_testdir): Update.
41518
41519 2006-07-29  Bruno Haible  <bruno@clisp.org>
41520
41521         * gnulib-tool (func_import): Extend error message about missing
41522         --doc-base.
41523
41524 2006-07-29  Bruno Haible  <bruno@clisp.org>
41525
41526         * gnulib-tool (func_import): Don't create the $docbase directory if
41527         there is no file to store there.
41528
41529 2006-07-29  Bruno Haible  <bruno@clisp.org>
41530
41531         * gnulib-tool (autoconf_minversion): If a --dir option is given and
41532         relevant, look for configure.ac there, not in the current directory.
41533         Also use a simple search for AC_PREREQ, not "autoconf --trace".
41534
41535 2006-07-29  Bruno Haible  <bruno@clisp.org>
41536
41537         * gnulib-tool (SORT): New variable.
41538         (func_usage): Undocument --assume-autoconf option.
41539         Remove --assume-autoconf option handling.
41540         (autoconf_minversion): Determine from the contents of configure.ac.
41541         (func_import): Remove autoconf_minversion handling.
41542         Suggested by Eric Blake.
41543
41544 2006-07-29  Bruno Haible  <bruno@clisp.org>
41545
41546         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
41547
41548 2006-07-29  Bruno Haible  <bruno@clisp.org>
41549
41550         * config/srclist.txt (*setenv.[ch]): Remove rules.
41551
41552 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41553
41554         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
41555
41556 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41557
41558         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
41559         arpa/inet.h.
41560
41561 2006-07-28  Simon Josefsson  <jas@extundo.com>
41562
41563         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
41564         * modules/inet_pton (Depends-on): Likewise.
41565
41566 2006-07-28  Simon Josefsson  <jas@extundo.com>
41567
41568         * m4/netinet_in_h.m4: New file.
41569
41570 2006-07-28  Simon Josefsson  <jas@extundo.com>
41571
41572         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
41573         #include's.
41574
41575 2006-07-28  Simon Josefsson  <jas@extundo.com>
41576
41577         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
41578         #include's.
41579
41580 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
41581
41582         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
41583         setgid on directories only if they set these bits.
41584         * lib/modechange.h: Remove obsolete comment about masks.
41585
41586 2006-07-28  Eric Blake  <ebb9@byu.net>
41587
41588         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
41589         macro expansion.
41590
41591 2006-07-28  Bruno Haible  <bruno@clisp.org>
41592
41593         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
41594
41595 2006-07-28  Bruno Haible  <bruno@clisp.org>
41596
41597         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
41598
41599 2006-07-28  Bruno Haible  <bruno@clisp.org>
41600
41601         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
41602         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
41603         Define fallbacks.
41604         Avoids link error on FreeBSD 4.x.
41605         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
41606
41607         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
41608         encoding.
41609         * lib/mbswidth.c (iswcntrl): Likewise.
41610
41611 2006-07-27  Bruno Haible  <bruno@clisp.org>
41612
41613         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
41614         test.
41615
41616 2006-07-27  Bruno Haible  <bruno@clisp.org>
41617
41618         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
41619         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
41620         defined.
41621
41622 2006-07-26  Eric Blake  <ebb9@byu.net>
41623
41624         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
41625
41626 2006-07-26  Eric Blake  <ebb9@byu.net>
41627
41628         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
41629         like mingw that lack mkstemp.
41630         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
41631         avoid compilation warning on mingw.
41632
41633 2006-07-26  Bruno Haible  <bruno@clisp.org>
41634
41635         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
41636         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
41637         INT_FAST*_MIN, INTPTR_MIN.
41638
41639 2006-07-25  Bruno Haible  <bruno@clisp.org>
41640
41641         * modules/version-etc (Depends-on): Add stdarg.
41642
41643 2006-07-25  Bruno Haible  <bruno@clisp.org>
41644
41645         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
41646         complex commands.
41647
41648 2006-07-25  Bruno Haible  <bruno@clisp.org>
41649
41650         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
41651         defined in <stdarg.h> or config.h.
41652
41653 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
41654
41655         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
41656         (gl_STDIO_SAFER): Remove.
41657
41658 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
41659
41660         * MODULES.html.sh (File stream based Input/Output):
41661         Add fopen-safer, tmpfile-safer; remove stdio-safer.
41662         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
41663         * modules/fopen-safer, modules/tmpfile-safer: New files.
41664         * modules/stdio-safer: Remove.
41665
41666 2006-07-24  Bruno Haible  <bruno@clisp.org>
41667
41668         * modules/tmpdir: New file.
41669         * MODULES.html.sh (File system functions): Add it.
41670
41671 2006-07-24  Bruno Haible  <bruno@clisp.org>
41672
41673         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
41674         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
41675
41676 2006-07-24  Bruno Haible  <bruno@clisp.org>
41677
41678         * modules/clean-temp: New file.
41679
41680 2006-07-24  Bruno Haible  <bruno@clisp.org>
41681
41682         * m4/tmpdir.m4: New file, from GNU gettext.
41683
41684 2006-07-24  Bruno Haible  <bruno@clisp.org>
41685
41686         * lib/tmpdir.h: New file, from GNU gettext.
41687         * lib/tmpdir.c: New file, from GNU gettext.
41688
41689 2006-07-24  Bruno Haible  <bruno@clisp.org>
41690
41691         * lib/clean-temp.h: New file, from GNU gettext.
41692         * lib/clean-temp.c: New file, from GNU gettext.
41693
41694 2006-07-23  Eric Blake  <ebb9@byu.net>
41695
41696         * modules/stdio-safer (Files): Add tmpfile-safer.c.
41697         (Depends-on): Add binary-io.
41698
41699 2006-07-23  Eric Blake  <ebb9@byu.net>
41700
41701         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
41702
41703 2006-07-23  Eric Blake  <ebb9@byu.net>
41704
41705         * lib/tmpfile-safer.c: New file.
41706         * lib/stdio-safer.h (fopen_safer): Add prototype.
41707         * lib/stdio--.h (tmpfile): Make safer.
41708
41709 2006-07-23  Bruno Haible  <bruno@clisp.org>
41710
41711         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
41712         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
41713         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
41714         gl_linked_remove_at): Use it.
41715
41716 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41717         and Simon Josefsson <jas@extundo.com>
41718
41719         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
41720
41721         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
41722
41723 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
41724
41725         * modules/close-stream: New file.
41726         * modules/closeout (Description): Make it clear that it exits
41727         with a diagnostic on error.
41728         (Depends-on): Add close-stream.  Remove fpending, stdbool.
41729         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
41730
41731 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
41732
41733         * m4/close-stream.m4: New file.
41734
41735 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
41736
41737         * lib/close-stream.c, lib/close-stream.h: New files.
41738
41739 2006-07-22  Bruno Haible  <bruno@clisp.org>
41740
41741         Merge from GNU gettext 0.15.
41742
41743         2006-05-01  Bruno Haible  <bruno@clisp.org>
41744
41745                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
41746
41747         2006-07-22  Bruno Haible  <bruno@clisp.org>
41748
41749                 * modules/javaversion: New file.
41750                 * MODULES.html.sh (Java): Add javaversion.
41751
41752         2006-03-12  Bruno Haible  <bruno@clisp.org>
41753
41754                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
41755
41756         2005-12-04  Bruno Haible  <bruno@clisp.org>
41757
41758                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
41759                 (untested).
41760
41761         2006-06-21  Bruno Haible  <bruno@clisp.org>
41762
41763                 Avoid warnings from recent versions of mcs.
41764                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
41765                 -o, -L, -r any more. Use options documented since mcs-1.0
41766                 instead. Similarly for -g.
41767
41768         2005-12-04  Bruno Haible  <bruno@clisp.org>
41769
41770                 * build-aux/csharpcomp.sh.in: Suffix for resources is
41771                 .resources, not .resource.
41772
41773         2005-07-09  Bruno Haible  <bruno@clisp.org>
41774
41775                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
41776                 add a .dll suffix.
41777                 Reported by Mark Junker <mjscod@gmx.de>.
41778
41779         2006-07-22  Bruno Haible  <bruno@clisp.org>
41780
41781                 * modules/gettext: Upgrade to gettext-0.15.
41782                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
41783                 m4/visibility.m4.
41784                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
41785
41786 2006-07-22  Bruno Haible  <bruno@clisp.org>
41787
41788         Merge from GNU gettext 0.15.
41789
41790         2006-03-25  Bruno Haible  <bruno@clisp.org>
41791
41792                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
41793
41794         2006-07-21  Bruno Haible  <bruno@clisp.org>
41795
41796                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
41797                 "1.1".
41798
41799         2006-05-09  Bruno Haible  <bruno@clisp.org>
41800
41801                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
41802                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
41803                 for the conftestver execution.
41804
41805         2006-05-01  Bruno Haible  <bruno@clisp.org>
41806
41807                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
41808                 optional target-version argument. Verify that the compiler
41809                 groks source of the specified source-version, or add -source
41810                 option as necessary. Verify that the compiler produces
41811                 bytecode in the specified target-version, or add -target and
41812                 -source options as necessary. Make the result of the test
41813                 available as variable CONF_JAVAC. Also log error output in
41814                 config.log.
41815
41816         2006-03-11  Bruno Haible  <bruno@clisp.org>
41817
41818                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
41819
41820         2006-05-09  Bruno Haible  <bruno@clisp.org>
41821
41822                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
41823                 CLASSPATH_SEPARATOR to a semicolon.
41824
41825         2006-03-12  Bruno Haible  <bruno@clisp.org>
41826
41827                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
41828                 available as variable CONF_JAVA, for subsequent autoconf
41829                 tests. Also log error output in config.log.
41830
41831         2006-07-19  Bruno Haible  <bruno@clisp.org>
41832
41833                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
41834                 that getline works on glibc2 systems. Needed to avoid trouble
41835                 in relocatable.c.
41836                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
41837
41838         2005-12-04  Bruno Haible  <bruno@clisp.org>
41839
41840                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
41841                 launcher (untested).
41842
41843         2005-12-04  Bruno Haible  <bruno@clisp.org>
41844
41845                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
41846
41847         2006-07-22  Bruno Haible  <bruno@clisp.org>
41848
41849                 * gettext.m4: Update from GNU gettext-0.15.
41850                 * nls.m4: Likewise.
41851                 * po.m4: Likewise.
41852                 * inttypes-pri.m4: Likewise.
41853                 * inttypes-h.m4: Renamed from inttypes.m4.
41854                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
41855
41856 2006-07-22  Bruno Haible  <bruno@clisp.org>
41857
41858         Merge from GNU gettext 0.15.
41859
41860         2005-07-05  Bruno Haible  <bruno@clisp.org>
41861
41862                 * printf-args.c (printf_fetchargs): Work around broken
41863                 definition of wint_t on mingw.
41864
41865         2005-02-12  Bruno Haible  <bruno@clisp.org>
41866
41867                 * xallocsa.h: Add extern "C" for C++.
41868
41869         2006-05-17  Bruno Haible  <bruno@clisp.org>
41870
41871                 Cygwin portability.
41872                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
41873
41874         2006-04-30  Bruno Haible  <bruno@clisp.org>
41875
41876                 * progreloc.c: Include <mach-o/dyld.h> if available.
41877                 (find_executable): Use _NSGetExecutablePath when possible.
41878
41879         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
41880
41881                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
41882                 function.
41883
41884         2005-12-29  Bruno Haible  <bruno@clisp.org>
41885
41886                 * progreloc.c (set_program_name_and_installdir): Fix
41887                 compilation error.
41888
41889         2005-12-04  Bruno Haible  <bruno@clisp.org>
41890
41891                 Cygwin portability.
41892                 * progreloc.c: Include <windows.h> also on Cygwin.
41893                 (find_executable): Add support for Cygwin.
41894                 (set_program_name_and_installdir): Handle also platforms with
41895                 nonempty EXEEXT.
41896
41897         2006-07-11  Bruno Haible  <bruno@clisp.org>
41898
41899                 * javacomp.c: Fix a comment.
41900                 Reported by Jim Meyering.
41901
41902         2006-04-30  Bruno Haible  <bruno@clisp.org>
41903
41904                 * javacomp.h (compile_java_class): Add source_version,
41905                 target_version arguments.
41906                 * javacomp.c: Rewritten to choose only a compiler that
41907                 respects the specified source_version and target_version.
41908
41909         2006-06-27  Bruno Haible  <bruno@clisp.org>
41910
41911                 Assume correct S_ISDIR macro.
41912                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
41913
41914         2006-07-22  Bruno Haible  <bruno@clisp.org>
41915
41916                 * javaversion.h: New file, from GNU gettext.
41917                 * javaversion.c: New file, from GNU gettext.
41918                 * javaversion.java: New file, from GNU gettext.
41919                 * javaversion.class: New file, from GNU gettext.
41920
41921         2006-05-17  Bruno Haible  <bruno@clisp.org>
41922
41923                 Cygwin portability.
41924                 * javaexec.c (execute_java_class): Test for jview program
41925                 also on Cygwin.
41926
41927         2006-04-09  Bruno Haible  <bruno@clisp.org>
41928
41929                 * fatal-signal.c: Don't include string.h.
41930                 (at_fatal_signal): Use a copying loop instead of memcpy.
41931
41932         2005-12-04  Bruno Haible  <bruno@clisp.org>
41933
41934                 * csharpexec.c: Add support for 'clix' launcher (untested).
41935                 (execute_csharp_using_sscli): New function.
41936                 (execute_csharp_program): Call it.
41937
41938         2006-06-21  Bruno Haible  <bruno@clisp.org>
41939
41940                 Avoid warnings from recent versions of mcs.
41941                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
41942                 -o, -L, -r any more. Use options documented since mcs-1.0
41943                 instead. Similarly for -g.
41944
41945         2005-07-09  Bruno Haible  <bruno@clisp.org>
41946
41947                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
41948                 add a .dll suffix.
41949                 Reported by Mark Junker <mjscod@gmx.de>.
41950
41951         2006-06-17  Bruno Haible  <bruno@clisp.org>
41952
41953                 * config.charset: Update for NetBSD 3.0.
41954
41955         2006-05-17  Bruno Haible  <bruno@clisp.org>
41956
41957                 Cygwin portability.
41958                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
41959
41960         2006-05-16  Bruno Haible  <bruno@clisp.org>
41961
41962                 * localcharset.c [CYGWIN]: Include <windows.h>.
41963                 (get_charset_aliases): For Cygwin, return the same CPxxx
41964                 aliases list as under WIN32.
41965                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
41966                 the environment variables. Fall back to GetACP().
41967
41968         2006-04-05  Bruno Haible  <bruno@clisp.org>
41969
41970                 * config.charset: Update Juan Manuel Guerrero's address.
41971
41972         2005-02-12  Bruno Haible  <bruno@clisp.org>
41973
41974                 * allocsa.h: Add extern "C" for C++.
41975
41976         2005-02-10  Bruno Haible  <bruno@clisp.org>
41977
41978                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
41979                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
41980
41981         2006-07-22  Bruno Haible  <bruno@clisp.org>
41982
41983                 * gettext.h: Update to GNU gettext-0.15.
41984
41985 2006-07-22  Bruno Haible  <bruno@clisp.org>
41986
41987         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
41988         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
41989         lib-prefix.m4, longdouble.m4, ssize_t.m4.
41990
41991 2006-07-21  Eric Blake  <ebb9@byu.net>
41992
41993         * modules/stdlib-safer: New file.
41994         * MODULES.html.sh (File stream based Input/Output): Add
41995         stdlib-safer.
41996
41997 2006-07-21  Eric Blake  <ebb9@byu.net>
41998
41999         * lib/stdlib-safer.h: New file from coreutils, required by
42000         stdlib--.h.
42001
42002 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
42003
42004         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
42005
42006 2006-07-20  Bruno Haible  <bruno@clisp.org>
42007
42008         * gnulib-tool: Recognize new option --assume-autoconf.
42009         (autoconf_minversion): New variable.
42010         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
42011
42012 2006-07-20  Bruno Haible  <bruno@clisp.org>
42013
42014         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
42015
42016 2006-07-19  Derek R. Price  <derek@ximbiot.com>
42017
42018         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
42019         Reindent and repaginate.
42020
42021 2006-07-19  Derek Price  <derek@ximbiot.com>
42022
42023         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
42024         Correct grammar.
42025
42026 2006-07-17  Bruno Haible  <bruno@clisp.org>
42027
42028         * modules/list: New file.
42029         * modules/array-list: New file.
42030         * modules/carray-list, modules/carray-list-tests: New files.
42031         * modules/linked-list, modules/linked-list-tests: New files.
42032         * modules/avltree-list, modules/avltree-list-tests: New files.
42033         * modules/rbtree-list, modules/rbtree-list-tests: New files.
42034         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
42035         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
42036         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
42037         * modules/oset: New file.
42038         * modules/array-oset: New file.
42039         * modules/avltree-oset, modules/avltree-oset-tests: New files.
42040         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
42041         * tests/test-carray_list.c: New file.
42042         * tests/test-linked_list.c: New file.
42043         * tests/test-avltree_list.c: New file.
42044         * tests/test-rbtree_list.c: New file.
42045         * tests/test-linkedhash_list.c: New file.
42046         * tests/test-avltreehash_list.c: New file.
42047         * tests/test-rbtreehash_list.c: New file.
42048         * tests/test-avltree_oset.c: New file.
42049         * tests/test-rbtree_oset.c: New file.
42050         * MODULES.html.sh (Container data structures): New section.
42051
42052 2006-07-17  Bruno Haible  <bruno@clisp.org>
42053
42054         * m4/gl_list.m4: New file.
42055
42056 2006-07-17  Bruno Haible  <bruno@clisp.org>
42057
42058         * lib/gl_list.h: New file.
42059         * lib/gl_list.c: New file.
42060         * lib/gl_array_list.h: New file.
42061         * lib/gl_array_list.c: New file.
42062         * lib/gl_carray_list.h: New file.
42063         * lib/gl_carray_list.c: New file.
42064         * lib/gl_linked_list.h: New file.
42065         * lib/gl_linked_list.c: New file.
42066         * lib/gl_anylinked_list1.h: New file.
42067         * lib/gl_anylinked_list2.h: New file.
42068         * lib/gl_avltree_list.h: New file.
42069         * lib/gl_avltree_list.c: New file.
42070         * lib/gl_anyavltree_list1.h: New file.
42071         * lib/gl_anyavltree_list2.h: New file.
42072         * lib/gl_rbtree_list.h: New file.
42073         * lib/gl_rbtree_list.c: New file.
42074         * lib/gl_anyrbtree_list1.h: New file.
42075         * lib/gl_anyrbtree_list2.h: New file.
42076         * lib/gl_anytree_list1.h: New file.
42077         * lib/gl_anytree_list2.h: New file.
42078         * lib/gl_linkedhash_list.h: New file.
42079         * lib/gl_linkedhash_list.c: New file.
42080         * lib/gl_anyhash_list1.h: New file.
42081         * lib/gl_anyhash_list2.h: New file.
42082         * lib/gl_avltreehash_list.h: New file.
42083         * lib/gl_avltreehash_list.c: New file.
42084         * lib/gl_rbtreehash_list.h: New file.
42085         * lib/gl_rbtreehash_list.c: New file.
42086         * lib/gl_anytreehash_list1.h: New file.
42087         * lib/gl_anytreehash_list2.h: New file.
42088
42089         * lib/gl_oset.h: New file.
42090         * lib/gl_oset.c: New file.
42091         * lib/gl_array_oset.h: New file.
42092         * lib/gl_array_oset.c: New file.
42093         * lib/gl_avltree_oset.h: New file.
42094         * lib/gl_avltree_oset.c: New file.
42095         * lib/gl_rbtree_oset.h: New file.
42096         * lib/gl_rbtree_oset.c: New file.
42097         * lib/gl_anytree_oset.h: New file.
42098
42099 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
42100
42101         * m4/mkancesdirs.m4: New file.
42102         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
42103         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
42104         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
42105         it.
42106
42107 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
42108
42109         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
42110         * lib/mkancesdirs.h: New files.
42111         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
42112         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
42113         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
42114         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
42115         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
42116         callers changed.  Revamp internals significantly, by not
42117         attempting to create directories that are temporarily more
42118         permissive than the final results.  Do not attempt to use
42119         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
42120         This removes some race conditions, fixes some bugs, and simplifies
42121         things.  Use new dirchownmod function to do owner and mode changes.
42122         * lib/mkdir-p.h: Likewise.
42123         * lib/modechange.c (octal_to_mode): New function.
42124         (struct mode_change): New member mentioned.
42125         (make_node_op_equals): New arg mentioned.  All callers changed.
42126         (mode_compile): Keep track of which mode bits the user has explicitly
42127         mentioned.
42128         (mode_adjust): New arg DIR, so that we implement the X op correctly.
42129         New arg PMODE_BITS, to keep track of which mode bits the user
42130         mentioned; it treats S_ISUID and S_ISGID speciall.
42131         All callers changed.
42132         * lib/modechange.h: Likewise.
42133
42134 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
42135
42136         * MODULES.html.sh: Add mkancestors.
42137         * modules/mkancesdirs: New module.
42138         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
42139         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
42140         The chdir-safer and afs files are now orphans; I'll remove them
42141         unless someone speaks up.
42142         Add lib/dirchownmod.c, lib/dirchownmod.h.
42143         (Depends-on): Remove alloca, chown, save-cwd, dirname.
42144         Add lchown, mkancesdirs.
42145         (Maintainer): Add self.
42146
42147 2006-07-15  Karl Berry  <karl@gnu.org>
42148
42149         * gnulib-tool: help message wording/arrangement.
42150
42151 2006-07-14  Simon Josefsson  <jas@extundo.com>
42152
42153         * doc/gnulib.texi (Libtool and Windows): New section.
42154
42155 2006-07-12  Simon Josefsson  <jas@extundo.com>
42156
42157         * modules/gendocs (License): Fix license, approved by Karl.
42158
42159 2006-07-12  Eric Blake  <ebb9@byu.net>
42160
42161         * MODULES.html.sh: Add gendocs.
42162
42163 2006-07-11  Eric Blake  <ebb9@byu.net>
42164
42165         * modules/fdl: New module, to install doc/fdl.texi.
42166         * MODULES.html.sh: Add new section for documentation modules.
42167         * gnulib-tool: Avoid space-tab.
42168         (--doc-base): New option, to manage files from doc.
42169
42170 2006-07-11  Eric Blake  <ebb9@byu.net>
42171
42172         * m4/absolute-header.m4: Fix comments to match recent change.
42173
42174 2006-07-11  Eric Blake  <ebb9@byu.net>
42175
42176         * gnulib-tool: List --doc-base before --tests-base.
42177
42178 2006-07-11  Derek R. Price  <derek@ximbiot.com>
42179
42180         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
42181
42182 2006-07-11  Bruno Haible  <bruno@clisp.org>
42183
42184         * README: Mention where to put documentation.
42185
42186 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42187
42188         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
42189
42190 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
42191
42192         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
42193         to stdint.m4.
42194
42195 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
42196
42197         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
42198         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
42199         "no/such/file/stdint.h" when there is no such file, so that
42200         the resulting C code can be parsed by dodgy compilers.
42201         Problems reported by Bob Proulx.
42202
42203 2006-07-10  Derek R. Price  <derek@ximbiot.com>
42204
42205         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
42206         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
42207         macros into the GNU _D_EXACT_NAMLEN.
42208         * lib/savedir.c:  Likewise.
42209         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
42210
42211 2006-07-10  Derek R. Price  <derek@ximbiot.com>
42212         and Paul Eggert  <eggert@cs.ucla.edu>
42213
42214         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
42215         * m4/savedir.m4:
42216         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
42217         macros into the GNU _D_EXACT_NAMLEN.
42218
42219 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
42220
42221         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
42222         around the absolute name, to work around a problem with the HP-UX
42223         11.23 native C compiler, reported by Bob Proulx.
42224
42225 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
42226
42227         * doc/maintain.texi, make-stds.texi: Sync from
42228         <http://savannah.gnu.org/projects/gnustandards>.
42229
42230 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
42231
42232         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
42233
42234 2006-07-09  Jim Meyering  <jim@meyering.net>
42235
42236         * m4/glob.m4: Remove a doubled word in a comment.
42237
42238 2006-07-09  Jim Meyering  <jim@meyering.net>
42239
42240         * lib/argp-pv.c: Remove a doubled word in a comment.
42241         * lib/check-version.c (check_version): Likewise.
42242         * lib/javacomp.c (compile_java_class): Likewise.
42243
42244 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
42245
42246         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
42247         for the benefit of people using Autoconf 2.60.  If you want to
42248         support older Autoconf versions you can copy m4/onceonly_2_57.m4
42249         (or m4/onceonly.m4, if pre-2.57) manually.
42250
42251 2006-07-08  Jim Meyering  <jim@meyering.net>
42252
42253         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
42254         comment.
42255         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
42256         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
42257         comment.
42258
42259 2006-07-08  Jim Meyering  <jim@meyering.net>
42260
42261         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
42262
42263 2006-07-07  Simon Josefsson  <jas@extundo.com>
42264
42265         * tests/test-crc.c: Change expected crc value, the test vector
42266         were probably computed using the old broken crc.c?
42267
42268 2006-07-06  Simon Josefsson  <jas@extundo.com>
42269
42270         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
42271         now the canonical place for the M4 file).
42272
42273         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
42274         from the sys_socket dependency now.
42275
42276         * modules/inet_pton (Files): Ditto.
42277
42278         * modules/inet_ntop (Files): Ditto.
42279
42280 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
42281
42282         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
42283         not gl_PREREQ_GETUSERSHELL.
42284
42285 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42286
42287         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
42288         with only one argument, for Autoconf 2.60.
42289         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
42290         expand to nothing, so add a shell command to avoid syntax error.
42291         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
42292
42293 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42294
42295         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
42296
42297 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
42298
42299         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
42300         no longer needed.  Check for isblank decl.
42301         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
42302         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
42303         of existence.
42304
42305 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
42306
42307         * lib/getloadavg.c: Use __VMS, not VMS.
42308         * lib/getopt.c: Likewise.
42309         * lib/getpagesize.h: Likewise.
42310         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
42311         and probably does not work.
42312
42313 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
42314
42315         * lib/.cppi-disable: Add wcwidth.
42316         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
42317         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
42318         (ISGRAPH): Remove.  All uses changed to isgraph.
42319         (FOLD) [!defined _LIBC]: Remove special case.
42320         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
42321         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
42322         HAVE_ISBLANK.
42323         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
42324         case.
42325
42326 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
42327
42328         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
42329         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
42330         brackets.  Other minor changes to suppress some compiler
42331         warnings.
42332
42333 2006-07-06  Derek R. Price  <derek@ximbiot.com>
42334         and Paul Eggert  <eggert@cs.ucla.edu>
42335
42336         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
42337         of invoking obsolescent AC_HEADER_DIRENT macro.
42338         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
42339         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
42340         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
42341         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
42342         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
42343         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
42344         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
42345         * m4/readdir.m4: Remove; no longer needed.
42346
42347 2006-07-06  Derek R. Price  <derek@ximbiot.com>
42348         and Paul Eggert  <eggert@cs.ucla.edu>
42349
42350         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
42351         Don't worry about this obsolete case any more.
42352         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
42353         directories.
42354         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
42355         worry about this obsolete case any more.
42356         * lib/fts.c: Likewise.
42357         * lib/getcwd.c: Likewise.
42358         * lib/glob.h: Likewise.
42359         * lib/savedir.c: Likewise.
42360
42361 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
42362
42363         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
42364         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
42365         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
42366         needed.
42367         All uses removed.
42368         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
42369         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
42370         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
42371         needed.
42372         * m4/getdate.m4 (gl_GETDATE): Likewise.
42373         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
42374         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
42375         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
42376         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
42377         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
42378         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
42379         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
42380         needed.
42381
42382 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
42383
42384         * lib/memcasecmp.c: Include <limits.h>.
42385         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
42386         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
42387         Don't assume isdigit succeeds only on '0' through '9'.
42388
42389 2006-07-05  Eric Blake  <ebb9@byu.net>
42390
42391         * modules/getaddrinfo (Depends-on): Add snprintf.
42392
42393 2006-07-05  Eric Blake  <ebb9@byu.net>
42394
42395         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
42396         to avoid 'header present but could not be compiled' on cygwin.
42397
42398 2006-07-05  Eric Blake  <ebb9@byu.net>
42399
42400         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
42401         missing from netdb.h.
42402         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
42403
42404 2006-07-05  Derek R. Price  <derek@ximbiot.com>
42405
42406         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
42407         no longer needed.
42408         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
42409         * m4/getdate.m4 (gl_GETDATE): Likewise.
42410         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
42411         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
42412         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
42413         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
42414         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
42415
42416 2006-07-05  Derek R. Price  <derek@ximbiot.com>
42417
42418         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
42419         All uses of is_space replaced by isspace.
42420         * lib/exit.h: Don't talk about STDC_HEADERS.
42421         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
42422         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
42423         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
42424         replaced by isprint etc.
42425         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
42426         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
42427         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
42428         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
42429         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
42430         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
42431
42432 2006-07-05  Bruno Haible  <bruno@clisp.org>
42433
42434         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
42435         the function exists, before testing against AIX.
42436         Reported by Martin Lambers <marlam@marlam.de>.
42437
42438 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
42439
42440         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
42441         From Mark D. Baushke.
42442
42443 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
42444
42445         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
42446         to the absolute name, not just one, to bypass Sun C 5.8's
42447         "warning: #include of /usr/include/... may be non-portable".
42448
42449 2006-07-04  Eric Blake  <ebb9@byu.net>
42450
42451         * modules/dirname-tests: New test module.
42452         * tests/test-dirname.c: New file, replacing dirname.c
42453         TEST_DIRNAME section that was recently deleted.
42454
42455 2006-07-04  Bruno Haible  <bruno@clisp.org>
42456
42457         Assume ANSI C header files and <ctype.h> functions.
42458         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
42459         (mbsnwidth): Use isprint, iscntrl instead.
42460
42461 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
42462
42463         Merge from coreutils.
42464         * MODULES.html.sh: Add xstrtold.
42465         * modules/xstrtold: New file.
42466         * modules/cycle-check (Files): Add lib/same-inode.h.
42467         * modules/dirname (Files): Add m4/double-slash-root.m4.
42468         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
42469         * modules/mkdir-p (Files): Add lib/same-inode.h.
42470         * modules/same (Files): Add lib/same-inode.h.
42471
42472 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
42473
42474         * m4/absolute-header.m4: Renamed from full-header-path.m4.
42475         This is to keep the terminology clean; POSIX talks about
42476         "absolute pathnames", not "full pathnames", but the GNU
42477         Coding Standards say to use "path" for something else;
42478         so use "absolute" to keep both sides happy.
42479         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
42480         Set gl_absolute_header, not gl_full_header_path.
42481         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
42482         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
42483         All uses changed.
42484
42485         Merge from coreutils.
42486
42487         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
42488
42489         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
42490         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
42491         want to require the building of c-strtod.o.
42492         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
42493         needs -lm directly.
42494         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
42495
42496         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
42497
42498         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
42499         --as-needed option if available.  Problem reported by Albert Chin in
42500         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
42501         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
42502         cc merely issues a bunch of annoying warnings for --as-needed
42503         (this problem was reported by Bob Proulx).  Also, try linking with
42504         -lm to detect a bug in binutils 2.16 (this problem was reported
42505         by Ralf Wildenhues).
42506
42507         2006-06-18  Jim Meyering  <jim@meyering.net>
42508
42509         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
42510         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
42511         macro.
42512         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
42513         also check for glibc-2.4's abort-inducing bug.
42514
42515         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
42516         Low-probability clean-up should be to use rmdir to get rid of
42517         the just-created directory, not unlink.
42518
42519         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
42520         configure fail, and request a bug report to inform us about it.
42521         Add a comment that, barring reports to the contrary, in 2007 we'll
42522         assume ftruncate is universally available.
42523
42524         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
42525
42526         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
42527
42528         2006-03-12  Jim Meyering  <jim@meyering.net>
42529
42530         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
42531         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
42532         * m4/same.m4 (gl_SAME): Likewise.
42533         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
42534
42535         2006-03-11  Eric Blake  <ebb9@byu.net>
42536
42537         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
42538         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
42539         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
42540         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
42541
42542 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
42543
42544         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
42545         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
42546         reported by Mark D. Baushke, one in
42547         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
42548
42549         Merge from coreutils.
42550
42551         * lib/.cppi-disable: Add stdint_.h.
42552         * lib/.cvsignore: Add stdint.h.
42553
42554         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
42555
42556         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
42557         both double and long double versions.
42558         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
42559         * lib/xstrtold.c: New file.
42560         * lib/xstrtod.h (xstrtold): New decl.
42561
42562         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
42563
42564         * lib/filemode.c (setst): Remove.
42565         (strmode): Rewrite to avoid setst.  This makes the code shorter,
42566         (arguably) clearer, and the generated code is a bit smaller on my
42567         Debian GNU/Linux stable x86 host.
42568
42569         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
42570
42571         * lib/filemode.c: Include "filemode.h" first, to test the interface.
42572         Assume that filemode.h includes sys/types.h and sys/stat.h.
42573         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
42574         (ftypelet): Reorder to put common cases first, for efficiency.
42575         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
42576         to do 'M'.
42577         (strmode): Renamed from mode_string, and now stores 12 bytes instead
42578         of 10, for compatibility with FreeBSD.  All callers changed.
42579         (filemodestring): Now stores 12 bytes instead of 10, and sets file
42580         types that can't be deduced solely from st_mode.  First arg is now a
42581         const pointer.
42582         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
42583         (strmode): Renamed from mode_string.
42584         (filemodestring): New decl.
42585         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
42586         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
42587         needed.
42588         (S_ISPORT, S_ISWHT): New macros, if not already defined.
42589
42590         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
42591
42592         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
42593         fsusage.h now does that.  Include fsusage.h first, to test interface.
42594         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
42595         at most one method (the old code could have generated decls that
42596         didn't conform to C89, not that this was ever exercised).
42597         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
42598
42599         2006-03-19  Jim Meyering  <jim@meyering.net>
42600
42601         Work even in a chroot where d_ino values for entries in "/"
42602         don't match the stat.st_ino values for the same names.
42603         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
42604         number, iterate through all entries again, using lstat instead.
42605         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
42606         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
42607
42608         * lib/getcwd.c (__getcwd): Clarify a comment.
42609         Use memcpy in place of a call to strcpy.
42610
42611         2006-03-12  Jim Meyering  <jim@meyering.net>
42612
42613         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
42614         matches that of the current directory (which we're about to chdir ".."
42615         out of), then save the dev-ino of the parent, instead.
42616
42617         * lib/same-inode.h (SAME_INODE): New file/macro.
42618         * lib/chdir-safer.c (SAME_INODE): Remove definition.
42619         Include "same-inode.h", instead.
42620         * lib/same.c: Likewise.
42621         * lib/cycle-check.h: Include "same-inode.h".
42622         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
42623         * lib/cycle-check.c (SAME_INODE): Remove definition.
42624         * lib/root-dev-ino.h: Include "same-inode.h".
42625
42626         2006-03-11  Eric Blake  <ebb9@byu.net>
42627
42628         * lib/same.c (same_name): s/base_name/last_component/
42629         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
42630         * lib/filenamecat.c (file_name_concat): Likewise.
42631
42632         2006-03-11  Eric Blake  <ebb9@byu.net>,
42633                     Paul Eggert  <eggert@cs.ucla.edu>
42634
42635         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
42636         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
42637         drive prefix.
42638         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
42639         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
42640         (last_component): New method.
42641         * lib/dirname.c (dir_len): Determine when drive letters need a
42642         subsequent slash.  Preserve // when it is special.
42643         (dir_name): Don't append dot when drive letter is absolute.
42644         [TEST_DIRNAME]: Move into a full-blown gnulib test.
42645         * lib/basename.c (base_name): New semantics - malloc the result.
42646         Preserve // when it is special.  Preserve relative files that look
42647         like drive letters.
42648         (base_len): Preserve // when it is special.
42649         (last_component): New method, similar to old base_name semantics.
42650         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
42651         base_name.  Strip redundant slashes from ///.
42652
42653 2006-07-03  Jim Meyering  <jim@meyering.net>
42654
42655         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
42656         macro is used before the first cycle_check call.
42657
42658 2006-07-03  Eric Blake  <ebb9@byu.net>
42659
42660         * modules/dirname (Depends-on): Add xstrndup.
42661
42662 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
42663
42664         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
42665         test cases, so that config.log is a bit easier to follow.
42666
42667 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
42668
42669         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
42670         both are 64 bits, since this seems to be the tradition, and this
42671         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
42672         we ever run into a host that prefers long long to long in this
42673         case, we'll need another configure-time test.  Problem reported by
42674         Jim Meyering.
42675
42676 2006-07-02  Eric Blake  <ebb9@byu.net>
42677
42678         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
42679
42680 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
42681
42682         * modules/inttypes (Depends-on): No longer depends on stdint.
42683         * modules/stdint (Description): Say more about assumptions.
42684         Say that the fast types might differ.  Say macros are used.
42685         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
42686         (Makefile.am): Revise list of substituted symbols to match
42687         new stdint.m4.
42688         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
42689         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
42690         * tests/test-stdint.c (verify_same_types)
42691         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
42692         the code conforms to C99/C89.
42693         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
42694         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
42695
42696 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
42697
42698         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
42699         but fix a bug, by requiring at least 64 bits.
42700         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
42701         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
42702         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
42703         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
42704
42705         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
42706         changes.  Make 2.59 a prerequisite.  Check and substitute for
42707         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
42708         inttypes.h.  Do not use special include files; just use the
42709         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
42710         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
42711         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
42712         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
42713         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
42714         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
42715         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
42716         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
42717         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
42718         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
42719         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
42720         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
42721         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
42722         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
42723         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
42724         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
42725         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
42726         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
42727         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
42728         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
42729         WINT_MAX.  Check for C99 conformance more strictly, by detecting
42730         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
42731         not check for things that C99 does not require, e.g., int8_t.  If
42732         a test isn't needed unless <stdint.h> isn't working, and is
42733         unlikely to be needed for any other reason, then don't do it
42734         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
42735         size_t, since we assume C89 freestanding at least.  Do not check
42736         for sig_atomic_t, wchar_t, or wint_t, since the code now does
42737         the right thing even if the types are not defined.  Instead use:
42738         (gl_STDINT_TYPE_PROPERTIES): New macro.
42739         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
42740         testing whether <sys/types.h> clashes, as Autoconf does this for
42741         us now.  All uses removed.
42742         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
42743         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
42744         (gl_CHECK_TYPE_SAME):
42745         Remove; no longer needed.
42746         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
42747         exists, since we'll return 0 anyway in that case.
42748         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
42749
42750 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
42751
42752         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
42753         possible collision with system files.
42754         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
42755         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
42756         WCHAR_MIN and WCHAR_MAX in this case.
42757         (<stddef.h>): Do not include; no longer needed.
42758         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
42759         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
42760         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
42761         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
42762         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
42763         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
42764         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
42765         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
42766         !defined(__c99))]: Include in this case too, since it's harmless
42767         now.
42768         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
42769         dangerous to do so.
42770         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
42771         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
42772         (_STDINT_MIN, _STDINT_MAX): New macros.
42773         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
42774         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
42775         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
42776         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
42777         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
42778         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
42779         macros, not typedefs; this simplifies things quite a bit.
42780         Use long int for all types narrower than int64_t.
42781         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
42782         Define in terms of long long int or int64_t or long int,
42783         not int64_t or int32_t.  This saves some compile-time testing.
42784         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
42785         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
42786         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
42787         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
42788         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
42789         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
42790         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
42791         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
42792         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
42793         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
42794         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
42795         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
42796         undef any previous version and define our own version, for
42797         simplicity and consistency with the new macros for types.
42798         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
42799         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
42800         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
42801         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
42802         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
42803         @WINT_T_SUFFIX@ to keep things simple here.
42804         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
42805         Simplify by assuming typical 8/16/32/64 host, since we're
42806         already doing that elsewhere anyway.
42807         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
42808         and assume long long int is 64 bits if available.  This
42809         speeds up 'configure'.
42810
42811 2006-07-01  Eric Blake  <ebb9@byu.net>
42812
42813         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
42814         Reported by Andreas Buening.
42815
42816 2006-07-01  Eric Blake  <ebb9@byu.net>
42817
42818         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
42819
42820 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
42821
42822         * lib/getaddrinfo.c: fixed typo
42823
42824 2006-06-29  Jim Meyering  <jim@meyering.net>
42825
42826         * modules/strftime (Maintainer): Add my name, since with the
42827         FPRINTFTIME changes strftime.c has forked from glibc.
42828
42829 2006-06-29  Eric Blake  <ebb9@byu.net>
42830
42831         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
42832
42833 2006-06-29  Eric Blake  <ebb9@byu.net>
42834
42835         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
42836
42837 2006-06-29  Eric Blake  <ebb9@byu.net>
42838
42839         * lib/stat_.h: New file.
42840
42841 2006-06-29  Eric Blake  <ebb9@byu.net>
42842
42843         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
42844         unused static function.
42845
42846 2006-06-29  Eric Blake  <ebb9@byu.net>
42847
42848         * doc/functions.texi (Function Portability): Document missing lstat
42849         on mingw.
42850
42851 2006-06-29  Eric Blake  <ebb9@byu.net>
42852
42853         * MODULES.html.sh: Add sys_stat.
42854         * modules/sys_stat: New module.
42855         * modules/mkstemp (Depends-on): Add sys_stat.
42856
42857 2006-06-29  Derek R. Price  <derek@ximbiot.com>
42858
42859         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
42860
42861 2006-06-29  Derek R. Price  <derek@ximbiot.com>
42862
42863         * m4/c-bs-a.m4: Removed.
42864
42865 2006-06-29  Derek R. Price  <derek@ximbiot.com>
42866
42867         * lib/strftime.c: Assume strftime() exists.
42868
42869 2006-06-29  Derek Price  <derek@ximbiot.com>
42870
42871         * modules/c-bs-a: Removed - \a is C89.
42872         * MODULES.html.sh: Remove c-bs-a.
42873
42874 2006-06-29  Bruno Haible  <bruno@clisp.org>
42875
42876         * modules/wcwidth (License): Change to LGPL.
42877
42878 2006-06-28  Simon Josefsson  <jas@extundo.com>
42879
42880         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
42881         on _WIN32.
42882
42883         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
42884         getnameinfo.
42885
42886 2006-06-28  Simon Josefsson  <jas@extundo.com>
42887
42888         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
42889
42890 2006-06-28  Simon Josefsson  <jas@extundo.com>
42891
42892         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
42893         functions there.  It will succeed on Windows XP, but on Windows
42894         2000 and (presumably) earlier, it will fail, and use the internal
42895         re-implementation.
42896         (use_win32_p): New function.
42897         (getaddrinfo): Use strtoul on servname, to support numeric ports.
42898         Support AI_NUMERICSERV to disable getservbyname.
42899         (getnameinfo): New function, only supports
42900         NI_NUMERICHOST|NI_NUMERICSERV for now.
42901
42902         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
42903         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
42904         getnameinfo.
42905
42906 2006-06-28  Eric Blake  <ebb9@byu.net>
42907
42908         * modules/wcwidth: New file.
42909         * modules/mbchar (Depends-on): Add wcwidth.
42910         * modules/mbswidth (Depends-on): Add wcwidth.
42911         * MODULES.html.sh: Add wcwidth.
42912
42913 2006-06-28  Eric Blake  <ebb9@byu.net>
42914
42915         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
42916         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
42917
42918 2006-06-28  Eric Blake  <ebb9@byu.net>
42919
42920         * lib/xvasprintf.h: Fix comments.
42921
42922 2006-06-28  Eric Blake  <ebb9@byu.net>
42923
42924         * lib/mbchar.h (wcwidth): Include wcwidth.h.
42925         * lib/mbswidth.c (wcwidth): Move from here...
42926         * lib/wcwidth.h: ...to this new file.
42927
42928 2006-06-28  Derek R. Price  <derek@ximbiot.com>
42929
42930         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
42931
42932         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
42933         it's obsolete.
42934         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
42935
42936 2006-06-28  Derek R. Price  <derek@ximbiot.com>
42937
42938         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
42939         Autoconf 2.60 says this stuff was obsolete.
42940
42941 2006-06-28  Bruno Haible  <bruno@clisp.org>
42942
42943         * modules/wcwidth (Files): Add m4/wchar_t.m4.
42944
42945 2006-06-28  Bruno Haible  <bruno@clisp.org>
42946
42947         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
42948         gt_TYPE_WCHAR_T.
42949
42950 2006-06-28  Bruno Haible  <bruno@clisp.org>
42951
42952         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
42953         declaration for wcwidth.
42954         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
42955
42956 2006-06-28  Bruno Haible  <bruno@clisp.org>
42957
42958         * lib/mkdtemp.c [MINGW]: Include <io.h>.
42959         (mkdir): Define using _mkdir.
42960
42961 2006-06-28  Bruno Haible  <bruno@clisp.org>
42962
42963         * lib/getaddrinfo.h: Fix POSIX URL.
42964         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
42965         _WIN32.
42966         (use_win32_p): Make static.
42967         (getaddrinfo): Reject service name if it is empty or does not consist
42968         solely of decimal digits, or if its value is > 65535.
42969         (getnameinfo): Remove useless casts.
42970
42971 2006-06-27  Simon Josefsson  <jas@extundo.com>
42972
42973         * modules/sys_select: New file, suggested by Bruno Haible, Paul
42974         Eggert and Martin Lambers.
42975
42976 2006-06-27  Simon Josefsson  <jas@extundo.com>
42977
42978         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
42979         Eggert and Martin Lambers.
42980
42981 2006-06-27  Bruno Haible  <bruno@clisp.org>
42982
42983         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
42984         result to 0, not to empty.
42985         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
42986
42987 2006-06-27  Bruno Haible  <bruno@clisp.org>
42988
42989         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
42990
42991 2006-06-26  Simon Josefsson  <jas@extundo.com>
42992
42993         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
42994         present.
42995
42996 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
42997
42998         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
42999         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
43000         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
43001
43002 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
43003
43004         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
43005
43006 2006-06-26  Bruno Haible  <bruno@clisp.org>
43007
43008         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
43009
43010 2006-06-26  Bruno Haible  <bruno@clisp.org>
43011
43012         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
43013
43014 2006-06-26  Bruno Haible  <bruno@clisp.org>
43015
43016         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
43017         SGI C compiler in pre-C99 mode.
43018         Suggested by Mark D. Baushke and Larry Jones.
43019
43020 2006-06-26  Bruno Haible  <bruno@clisp.org>
43021
43022         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
43023         WCHAR_MAX.
43024         Reported by Mark D. Baushke and Larry Jones.
43025
43026 2006-06-26  Bruno Haible  <bruno@clisp.org>
43027
43028         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
43029         in pre-C99 mode.
43030         Suggested by Mark D. Baushke and Larry Jones.
43031
43032 2006-06-23  Simon Josefsson  <jas@extundo.com>
43033             Bruno Haible  <bruno@clisp.org>
43034
43035         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
43036         Emit mostlyclean-local rule.
43037         (func_emit_tests_Makefile_am): Likewise.
43038         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
43039
43040 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
43041
43042         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
43043
43044 2006-06-23  Bruno Haible  <bruno@clisp.org>
43045
43046         * tests/test-stdint.c: Update to match ISO C 99 Technical
43047         Corrigendum 1.
43048
43049 2006-06-23  Bruno Haible  <bruno@clisp.org>
43050
43051         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
43052
43053 2006-06-23  Bruno Haible  <bruno@clisp.org>
43054
43055         * lib/stdint_.h: Treat IRIX like OpenBSD.
43056
43057 2006-06-23  Bruno Haible  <bruno@clisp.org>
43058
43059         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
43060         ISO C 99 Technical Corrigendum 1.
43061
43062 2006-06-22  Simon Josefsson  <jas@extundo.com>
43063
43064         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
43065         MinGW.
43066
43067 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
43068
43069         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
43070         needed.  Some compiler complained about some of them.  Problem reported
43071         by Larry Jones in
43072         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
43073
43074 2006-06-21  Simon Josefsson  <jas@extundo.com>
43075
43076         * tests/test-getaddrinfo.c: New file.
43077
43078         * modules/getaddrinfo-tests: New file.
43079
43080         * MODULES.html.sh: Add inet_pton.
43081
43082         * modules/inet_pton: New file.
43083
43084 2006-06-21  Simon Josefsson  <jas@extundo.com>
43085
43086         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
43087         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
43088         of using the (limited) gnulib implementation on Windows XP.
43089
43090         * m4/inet_pton.m4: New file.
43091
43092 2006-06-21  Simon Josefsson  <jas@extundo.com>
43093
43094         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
43095         variable.
43096
43097         * lib/socket_.h: Don't define WINVER.
43098
43099         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
43100         slightly modified to work in gnulib.
43101
43102 2006-06-21  Simon Josefsson  <jas@extundo.com>
43103
43104         * doc/gnulib.texi (Windows sockets): Add.
43105
43106 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
43107
43108         * lib/read-file.c (fread_file): Start with buffer allocation of
43109         0 bytes rather than 1 byte; this simplifies the code.
43110         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
43111         code to free buffer and save/restore errno.
43112         (internal_read_file): Remove unused local.
43113
43114 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
43115
43116         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
43117         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
43118         Problem reported by Denis Excoffier in
43119         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
43120
43121 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43122
43123         * modules/sys_socket, modules/socklen: Include sys/types since
43124         FreeBSD 4.x's sys/socket.h needs it.
43125
43126 2006-06-19  Simon Josefsson  <jas@extundo.com>
43127
43128         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
43129
43130 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
43131
43132         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
43133
43134 2006-06-19  Bruno Haible  <bruno@clisp.org>
43135
43136         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
43137         and FULL_PATH_INTTYPES_H in angle brackets.
43138         Reported by Mark D. Baushke <mdb@gnu.org>.
43139
43140 2006-06-17  Eric Blake  <ebb9@byu.net>
43141
43142         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
43143         errno.
43144
43145 2006-06-17  Bruno Haible  <bruno@clisp.org>
43146
43147         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
43148         <sys/inttypes.h>.
43149
43150 2006-06-17  Bruno Haible  <bruno@clisp.org>
43151
43152         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
43153         whether errno is declared. Assume <errno.h> declares errno.
43154
43155 2006-06-17  Bruno Haible  <bruno@clisp.org>
43156
43157         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
43158
43159 2006-06-17  Bruno Haible  <bruno@clisp.org>
43160
43161         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
43162         problem on Solaris 2.5.1.
43163
43164 2006-06-16  Eric Blake  <ebb9@byu.net>
43165
43166         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
43167         * lib/unicodeio.c [!defined errno]: Likewise.
43168         * lib/strtol.c [!defined errno]: Likewise.
43169         * lib/strtod.c [!defined errno]: Likewise.
43170
43171 2006-06-15  Eric Blake  <ebb9@byu.net>
43172
43173         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
43174
43175 2006-06-15  Eric Blake  <ebb9@byu.net>
43176
43177         * config/srclist.txt (ssize_t.m4): Lose sync.
43178
43179 2006-06-15  Bruno Haible  <bruno@clisp.org>
43180
43181         * modules/stdint (Files): Include m4/full-header-path.m4,
43182         m4/size_max.m4, m4/wchar_t.m4.
43183         (Makefile.am): Many more substitutions.
43184         * modules/stdint-tests: New file.
43185         * tests/test-stdint.c: New file.
43186
43187 2006-06-15  Bruno Haible  <bruno@clisp.org>
43188
43189         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
43190         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
43191         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
43192         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
43193         gl_CHECK_TYPE_SAME): New macros.
43194
43195 2006-06-15  Bruno Haible  <bruno@clisp.org>
43196
43197         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
43198
43199 2006-06-15  Bruno Haible  <bruno@clisp.org>
43200
43201         * lib/stdint_.h: Rewritten to be fully auto-configured.
43202         Fixes bug on HP-UX/IA64.
43203
43204 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
43205
43206         * lib/getdate.y (__attribute__): Don't define if already defined.
43207         Problem reported by Larry Jones.
43208         * lib/utimens.c (__attribute__): Likewise.
43209
43210 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
43211
43212         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
43213         reported by Andreas Schwab.
43214
43215 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43216             Bruno Haible  <bruno@clisp.org>
43217
43218         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
43219         check for the declaration of strnlen and a run test that exposes the
43220         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
43221         rpl_strndup.
43222
43223 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43224             Bruno Haible  <bruno@clisp.org>
43225
43226         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
43227
43228 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43229
43230         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
43231         compile test, for Tru64 4.0D.
43232
43233 2006-05-28  Karl Berry  <karl@gnu.org>
43234
43235         * config/srclist.txt (printf-args.c): lose sync.
43236
43237 2006-05-26  Martin Lambers  <marlam@marlam.de>
43238
43239         * lib/getpass.c: Updates the test for the native W32 API, and adds
43240         missing includes, thus fixing compilation warnings.
43241
43242 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
43243
43244         * lib/exclude.c (exclude_fnmatch): New function.
43245         (excluded_file_name): Call exclude_fnmatch.
43246         * lib/exclude.h (excluded_file_name): New prototype
43247
43248 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
43249
43250         * lib/tempname.c (small_open, large_open): New macros.
43251         (__open, __open64) [!_LIBC]: Remove.
43252         (__gen_tempname): Use small_open and large_open instead of __open
43253         and __open64.  This fixes a portability bug on HP-UX 11.11i
43254         reported by Simon Wing-Tang in
43255         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
43256
43257 2006-05-24  Bruno Haible  <bruno@clisp.org>
43258
43259         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
43260         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
43261         Reported by Thorsten Maerz <torte@netztorte.de> via
43262         Aaron Stone <aaron@serendipity.cx>.
43263
43264 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
43265
43266         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
43267         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
43268         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
43269         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
43270         not really conditional on the cache.
43271         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
43272
43273 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
43274
43275         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
43276         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
43277         (my_usleep): Don't mishandle maximum value.
43278
43279 2006-05-19  Jim Meyering  <jim@meyering.net>
43280
43281         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
43282
43283 2006-05-17  Bruno Haible  <bruno@clisp.org>
43284
43285         Cygwin portability.
43286         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
43287
43288 2006-05-17  Bruno Haible  <bruno@clisp.org>
43289
43290         * lib/stdint_.h: Fix recognition of Cygwin.
43291
43292 2006-05-15  Bruno Haible  <bruno@clisp.org>
43293
43294         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
43295         on libtool patch by Ralf Wildenhues.
43296
43297 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
43298
43299         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
43300         test for C99 conformance; (bool) 0.5 is an integer constant
43301         expression, but (bool) -0.5 is not.  Problem reported by Fedor
43302         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
43303
43304 2006-05-11  Simon Josefsson  <jas@extundo.com>
43305
43306         * m4/xvasprintf.m4: Fix obvious typo.
43307
43308 2006-05-11  Jim Meyering  <jim@meyering.net>
43309
43310         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
43311         James Lemley.
43312
43313 2006-05-10  Simon Josefsson  <jas@extundo.com>
43314
43315         * lib/md4.c: Typo fix, update copyright years.
43316         (K1, K2): Don't use L because it turn computations into 64-bit on
43317         64-bit platforms.
43318
43319 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
43320
43321         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
43322         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
43323         unwanted sign propagation, e.g., on hosts with 64-bit int.
43324         There still are some problems with reeelly weird theoretical hosts
43325         (e.g., 33-bit int) but it's not worth worrying about now.
43326         * lib/sha1.c (rol): Likewise.
43327         (K1, K2, K3, K4): Remove unnecessary L suffix.
43328
43329 2006-05-10  Bruno Haible  <bruno@clisp.org>
43330
43331         * lib/des.c: Cast to avoid warnings.
43332
43333 2006-05-09  Bruno Haible  <bruno@clisp.org>
43334
43335         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
43336         (Depends-on): Depend also on xsize, stdarg.
43337         (configure.ac): Add gl_XVASPRINTF.
43338
43339 2006-05-09  Bruno Haible  <bruno@clisp.org>
43340
43341         * m4/xvasprintf.m4: New file.
43342
43343 2006-05-09  Bruno Haible  <bruno@clisp.org>
43344
43345         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
43346         (EOVERFLOW): Define fallback value.
43347         (xstrcat): New function.
43348         (xvasprintf): Recognize the special case of a string concatenation.
43349
43350 2006-05-08  Eric Blake  <ebb9@byu.net>
43351
43352         * gnulib-tool (func_version): Base copyright year on CVS date.
43353         (func_emit_copyright_notice): New function.
43354         (func_emit_lib_Makefile_am): Use it.
43355         (func_emit_tests_Makefile_am): Likewise.
43356         (func_import): Likewise.
43357
43358 2006-05-08  Bruno Haible  <bruno@clisp.org>
43359
43360         * modules/stdarg: New file.
43361         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
43362
43363 2006-05-08  Bruno Haible  <bruno@clisp.org>
43364
43365         * m4/stdarg.m4: New file, from GNU gettext.
43366
43367 2006-05-08  Bruno Haible  <bruno@clisp.org>
43368
43369         * config/srclist.txt (build-aux/config.rpath): different from latest
43370         release.
43371
43372 2006-05-08  Bruno Haible  <bruno@clisp.org>
43373
43374         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
43375
43376 2006-05-05  Jim Meyering  <jim@meyering.net>
43377
43378         * m4/warning.m4: New file, derived from bison's file by the same name.
43379
43380 2006-05-03  Bruno Haible  <bruno@clisp.org>
43381
43382         * lib/stdint_.h: Shorter URL.
43383         * lib/inttypes.h: Likewise.
43384
43385 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
43386
43387         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
43388
43389 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
43390
43391         * lib/verify.h: Document the internals better.  Most of this change
43392         was written by Bruno Haible.
43393
43394 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
43395
43396         * doc/verify.texi: New file, partly based on a proposal by
43397         Bruno Haible.
43398
43399 2006-05-02  Bruno Haible  <bruno@clisp.org>
43400
43401         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
43402         test from here...
43403         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
43404
43405 2006-04-29  Bruno Haible  <bruno@clisp.org>
43406
43407         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
43408         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
43409
43410 2006-04-29  Bruno Haible  <bruno@clisp.org>
43411
43412         * gnulib-tool: Make --update option actually work.
43413
43414 2006-04-29  Bruno Haible  <bruno@clisp.org>
43415
43416         * doc/gcd.texi: New file.
43417         * doc/gnulib.texi: Include it.
43418
43419 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
43420
43421         * lib/getdate.y (get_date): When adding relative date, start with the
43422         initial time, not with the result of the first mktime call.
43423
43424 2006-04-25  Bruno Haible  <bruno@clisp.org>
43425
43426         * gnulib-tool (func_import): Output the include directives in three
43427         blocks, sorted separately.
43428         Reported by Ben Pfaff <blp@cs.stanford.edu>.
43429
43430 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
43431
43432         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
43433         to define main with arguments, for C++.  Reported by Eric Blake.
43434         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
43435         Prefer 'int main ()' to 'int main (void)', for C++.
43436         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
43437         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
43438         for 'main', for C99 and C++.
43439
43440 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
43441
43442         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
43443         Don't assume that exit status -1 is valid.
43444         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
43445         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
43446         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
43447         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
43448         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
43449         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
43450         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
43451         functions can be used without declaring them, or that you can
43452         exit with status -1.
43453         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
43454
43455 2006-04-24  Karl Berry  <karl@gnu.org>
43456
43457         * config/srclist.txt (longdouble.m4): sync lost.
43458
43459 2006-04-24  Eric Blake  <ebb9@byu.net>
43460
43461         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
43462
43463 2006-04-24  Bruno Haible  <bruno@clisp.org>
43464
43465         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
43466         poll() implementation in AIX.
43467         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
43468
43469 2006-04-24  Bruno Haible  <bruno@clisp.org>
43470
43471         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
43472         assigned exactly once.
43473
43474 2006-04-23  Claudio Fontana  <claudio@gnu.org>
43475             Bruno Haible  <bruno@clisp.org>
43476
43477         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
43478         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
43479         for AM_CPPFLAGS.
43480
43481 2006-04-23  Bruno Haible  <bruno@clisp.org>
43482
43483         * modules/copy-file: Depend on unistd.
43484         * modules/execute: Likewise.
43485         * modules/fatal-signal: Likewise.
43486         * modules/findprog: Likewise.
43487         * modules/mkdtemp : Likewise.
43488         * modules/pipe: Likewise.
43489         * modules/wait-process: Likewise.
43490
43491 2006-04-23  Bruno Haible  <bruno@clisp.org>
43492
43493         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
43494         condition was already detected.
43495         Reported by Ben Pfaff <blp@cs.stanford.edu>.
43496
43497 2006-04-23  Bruno Haible  <bruno@clisp.org>
43498
43499         * lib/copy-file.c: Include <unistd.h> unconditionally.
43500         * lib/execute.c: Likewise.
43501         * lib/fatal-signal.c: Likewise.
43502         * lib/findprog.c: Likewise.
43503         * lib/mkdtemp.c: Likewise.
43504         * lib/pipe.h: Likewise.
43505         * lib/pipe.c: Likewise.
43506         * lib/wait-process.h: Likewise.
43507
43508 2006-04-23  Bruno Haible  <bruno@clisp.org>
43509
43510         * gnulib-tool (func_usage): Fix --import description. Document
43511         --update.
43512         (func_import): Create temporary file in a temporary directory, if
43513         --dry-run is specified. Silence errors from 'grep' when there are no
43514         m4 files in $m4dir.
43515         (func_create_testdir): Silence errors from 'grep' when there are no
43516         m4 files in $m4dir.
43517         Reported by Karl Berry <karl@freefriends.org>.
43518
43519 2006-04-20  Bruno Haible  <bruno@clisp.org>
43520
43521         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
43522         one argument, so that the code will be portable to Autoconf 2.60.
43523         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
43524         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
43525         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
43526
43527 2006-04-19  Derek Price  <derek@ximbiot.com>
43528             Eric Blake  <ebb9@byu.net>
43529
43530         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
43531         rather than "/full/path.h".  Update comment to match.  Shorten &
43532         generalize m4_translit call via AS_TR_CPP.
43533
43534 2006-04-19  Derek Price  <derek@ximbiot.com>
43535             Eric Blake  <ebb9@byu.net>
43536
43537         * lib/inttypes.h: Correct grammar in comment.
43538
43539 2006-04-18  Derek Price  <derek@ximbiot.com>
43540             Paul Eggert  <eggert@cs.ucla.edu>
43541
43542         * modules/inttypes: New file.
43543         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
43544
43545 2006-04-18  Derek Price  <derek@ximbiot.com>
43546             Paul Eggert  <eggert@cs.ucla.edu>
43547
43548         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
43549         New files.
43550
43551 2006-04-18  Derek Price  <derek@ximbiot.com>
43552             Paul Eggert  <eggert@cs.ucla.edu>
43553
43554         * lib/inttypes.h: New file.
43555         * lib/strtoimax.c: Assume <inttypes.h>.
43556
43557 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
43558
43559         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
43560         isn't mounted.  Problem reported by Kir Kolyshkin.
43561
43562 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
43563
43564         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
43565         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
43566         Derek R. Price.
43567         * lib/regex.h (RE_DUP_MAX): Update comment to match current
43568         implementation.
43569
43570 2006-04-12  Eric Blake  <ebb9@byu.net>
43571
43572         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
43573         is now done automatically by the corresponding Autoconf macro.
43574
43575 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
43576
43577         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
43578         time_r.h.
43579
43580 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
43581
43582         Merge regex changes from libc, removing some of our
43583         POSIX-conformance changes that were rejected and redoing them in a
43584         less-intrusive way.
43585
43586         * lib/regcomp.c (re_compile_internal, init_dfa):
43587         Length arg is now size_t, not Idx.  All uses changed.
43588         (peek_token): Forward decl now says internal_function.
43589         (__re_error_msgid, __re_error_msgid_idx):
43590         Now static rather than extern with attribute_hidden.
43591         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
43592         For some reason libc prefers K&R style defns for external functions.
43593         (regerror) [!defined _LIBC]: Likewise.
43594         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
43595         (seek_collating_symbol_entry, lookup_collation_sequence_value):
43596         (build_range_exp, build_collating_symbol):
43597         Use K&R-style defn.
43598         (re_compile_fastmap): Use '\0' to memset, not 0.
43599         (utf8_sb_map): Make the calculations more obvious.
43600         (init_dfa, parse_bracket_exp, build_charclass_op):
43601         Call calloc and cast result, as glibc does.
43602         (init_word_char, fetch_token, peek_token, peek_token_bracket):
43603         (build_range_exp, build_collating_symbol):
43604         Now internal functions.
43605
43606         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
43607
43608         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
43609         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
43610         Don't depend on VMS; depend on __VMS instead, for POSIX
43611         namespace cleanness.
43612         (regoff_t): Define to ssize_t, not long int.
43613
43614         Remove the REG_ macros named below.  Instead, make the old names
43615         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
43616         __USE_GNU_REGEX.
43617         (REG_BACKSLASH_ESCAPE_IN_LISTS):
43618         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
43619         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
43620         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
43621         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
43622         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
43623         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
43624         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
43625         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
43626         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
43627         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
43628         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
43629         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
43630         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
43631         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
43632         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
43633         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
43634         (REG_NREGS):
43635         Remove.  All uses replaced by the old RE_* names.
43636         (RE_BACKSLASH_ESCAPE_IN_LISTS):
43637         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
43638         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
43639         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
43640         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
43641         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
43642         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
43643         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
43644         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
43645         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
43646         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
43647         Don't bother having these macros be independent of each others'
43648         values, since they no longer exist in the POSIX name space.
43649
43650         Rename the following member names back to their old names,
43651         unless !__USE_GNU_REGEX.  All uses changed back.
43652         (buffer): Renamed from re_buffer.
43653         (allocated): Renamed from re_allocated.
43654         (used): Renamed from re_used.
43655         (syntax): Renamed from re_syntax.
43656         (fastmap): Renamed from re_fastmap.
43657         (translate): Renamed from re_translate.
43658         (can_be_null): Renamed from re_can_be_null.
43659         (regs_allocated): Renamed from re_regs_allocated.
43660         (fastmap_accurate): Renamed from re_fastmap_accurate.
43661         (no_sub): Renamed from re_no_sub.
43662         (not_bol): Renamed from re_not_bol.
43663         (not_eol): Renamed from re_not_eol.
43664         (newline_anchor): Renamed from re_newline_anchor.
43665         (num_regs): Renamed from rm_num_regs.
43666         (start): Renamed from rm_start.
43667         (end): Renamed from rm_end.
43668
43669         (free_state): Move up a bit.
43670
43671         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
43672         #define to be empty.
43673         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
43674         when that is what is intended.
43675         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
43676         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
43677         (MAX): New macro.
43678         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
43679         All uses changed back to re_malloc, etc.  It's now the caller's
43680         responsibility to check for overflow; all callers changed.
43681         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
43682         (re_x2nrealloc): Remove.
43683         (free_state): Remove decl.
43684
43685         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
43686         (re_set_registers, re_exec):
43687         Use K&R-style defn.
43688
43689         2006-01-31  Roland McGrath  <roland@redhat.com>
43690
43691         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
43692         Reported by Mike Frysinger <vapier@gentoo.org>.
43693
43694         2006-01-15  Andreas Jaeger  <aj@suse.de>
43695
43696         [BZ #1950]
43697         * lib/regex_internal.c (re_string_reconstruct): Adjust for
43698         build_wcs_upper_buffer change.
43699         (build_wcs_upper_buffer): Change return type.
43700
43701         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
43702
43703         * lib/regex_internal.h: Include <stdint.h> if available.
43704
43705         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
43706
43707         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
43708
43709         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
43710
43711         * lib/regcomp.c: Adjust for changed secondary hash function.
43712
43713         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
43714
43715         * lib/regex.h: Pretty printing.
43716         Clean up namespace a bit.
43717
43718         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
43719
43720         * lib/regexec.c (update_cur_sifted_state, check_arrival,
43721         check_arrival_add_next_nodes): Avoid using uninitialized variable.
43722
43723         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
43724                     Ulrich Drepper  <drepper@redhat.com>
43725
43726         [BZ #1302]
43727         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
43728         changed.
43729         (bitset_word_t): Renamed from bitset_word.  All uses changed.
43730
43731         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
43732
43733         [BZ #281]
43734         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
43735         * lib/regcomp.c: Remove unnecessary uses of
43736         unsigned RE_TRANSLATE_TYPE.
43737         * lib/regex_internal.h: Likewise.
43738         * lib/regex_internal.c: Likewise.
43739         * lib/regexec.c: Likewise.
43740         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
43741
43742         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
43743
43744         * lib/regexec.c (find_recover_state): Remove unnecessary
43745         initialization.
43746         (transit_state_bkref): Make DFA a const pointer.
43747         (get_subexp): Likewise.
43748         (check_arrival): Likewise.
43749         (update_cur_sifted_state): Likewise.
43750         (re_search_internal): Likewise.
43751         (prune_impossible_nodes): Likewise.
43752         (acquire_init_state_context): Likewise.
43753         (proceed_next_node): Likewise.
43754         (set_regs): Likewise.
43755         (free_fail_stack_return): Likewise.
43756         (check_arrival_expand_ecl): Mark DFA parameter as const.
43757         (check_arrival_expand_ecl_sub): Likewise.
43758         (check_subexp_limits): Likewise.
43759         (sub_epsilon_src_nodes):  Likewise.
43760         (add_epsilon_src_nodes):  Likewise.
43761         (merge_state_array): Likewise.
43762         (update_regs): Likewise.
43763         (build_trtable): Likewise.
43764         (sift_states_backward): Mark MCTX parameter as const.
43765         (build_sifted_states): Likewise.
43766         (update_cur_sifted_state): Likewise.
43767         (sift_states_mkref): Likewise.
43768         (check_arrival_expand_ecl): Mark eclosure as const.
43769         (check_dst_limits_calc_pos_1): Likewise.
43770         * lib/regex_internal.h (re_match_context_t): Make dfa a const
43771         pointer.
43772
43773         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
43774
43775         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
43776         (transit_state_sb): Likewise.
43777         (transit_state_mb): Likewise.
43778         (sift_states_iter_mb): Likewise.
43779         (check_arrival_add_next_nodes): Likewise.
43780         (check_node_accept_bytes): Change first parameter to pointer-to-const.
43781         [_LIBC] (re_search_2_stub): Use mempcpy.
43782
43783         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
43784         mbrtowc for very simple UTF-8 case.
43785
43786         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
43787         a pointer-to-const.
43788         (re_acquire_state_context): Likewise.
43789         * lib/regex_internal.h: Adjust prototypes.
43790
43791         * lib/regex.c: Prevent using C++ compilers.
43792
43793         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
43794         (re_acquire_state_context): Likewise.
43795
43796 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
43797
43798         * modules/regex (Depends-on): Add ssize_t.
43799
43800 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
43801
43802         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
43803         translation table.
43804
43805 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
43806
43807         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
43808
43809 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
43810             Bruno Haible  <bruno@clisp.org>
43811
43812         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
43813         <sys/types.h> and <inttypes.h>.
43814
43815 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43816
43817         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
43818         `__error_t_defined', so argp.h will not typedef the former.
43819
43820 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
43821
43822         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
43823         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
43824         glibc names.  Even if glibc is changed to conform to POSIX, the
43825         traditional names will be available anyway, since regex depends on
43826         the extensions module.  Also, fix a longstanding typo in the
43827         implementation of Spencer ERE test #75 from grep 2.3.  Problems
43828         reported by Emanuele Giaquinta.  Also, change sense of cached
43829         variable, so that the message makes sense.
43830
43831 2006-03-24  Simon Josefsson  <jas@extundo.com>
43832
43833         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
43834         including some doc fixes.
43835         (base64_encode_alloc): Fix +1 bug on allocation failures.
43836
43837 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43838
43839         * lib/base64.c (base64_encode): Do not read past end of array with
43840         unsanitized input on systems with CHAR_BIT > 8.
43841
43842 2006-03-24  Eric Blake  <ebb9@byu.net>
43843
43844         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
43845
43846 2006-03-22  Karl Berry  <karl@gnu.org>
43847
43848         * config/srclist.txt (*setenv.[ch]): get from coreutils.
43849         * config/srclistvars.sh (COREUTILS): new var.
43850
43851 2006-03-17  Jim Meyering  <jim@meyering.net>
43852
43853         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
43854         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
43855
43856 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
43857
43858         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
43859         no longer needs it.  Instead, check that regoff_t is as least
43860         as wide as ptrdiff_t.
43861
43862         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
43863         so that our regex.h stays compatible with the installed regex.
43864         This is helpful for installers who configure --without-included-regex.
43865         Problem reported by Emanuele Giaquinta.
43866
43867 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
43868
43869         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
43870         Typedef to long int, not to off_, as POSIX will likely change
43871         in that direction.
43872
43873 2006-03-15  Eric Blake  <ebb9@byu.net>
43874
43875         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
43876
43877 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
43878
43879         * lib/argp-help.c (validate_uparams): Fix typo
43880         * lib/argp-parse.c (argp_default_options): Consistently begin help
43881         messages with a lowercase letter.
43882
43883 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
43884
43885         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
43886         overrun buffers and shouldn't be used (much as gets shouldn't be
43887         used).
43888         * lib/time_r.c (asctime_r, ctime_r): Likewise.
43889
43890 2006-03-08  Simon Josefsson  <jas@extundo.com>
43891
43892         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
43893         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
43894
43895 2006-03-08  Simon Josefsson  <jas@extundo.com>
43896
43897         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
43898         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
43899
43900 2006-03-08  Simon Josefsson  <jas@extundo.com>
43901
43902         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
43903         signal that configure disabled the device.
43904
43905 2006-03-08  Simon Josefsson  <jas@extundo.com>
43906
43907         * build-aux/maint.mk: Fix refresh-po, to handle no translated
43908         languages.
43909
43910 2006-03-07  Simon Josefsson  <jas@extundo.com>
43911
43912         * modules/getopt (Depends-on): Add unistd.
43913
43914         * modules/unistd: New file.
43915
43916 2006-03-07  Simon Josefsson  <jas@extundo.com>
43917
43918         * modules/gc-random: New file.
43919
43920 2006-03-07  Simon Josefsson  <jas@extundo.com>
43921
43922         * m4/unistd_h.m4: New file.
43923
43924 2006-03-07  Simon Josefsson  <jas@extundo.com>
43925
43926         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
43927         test to be side-effect free by storing the result in the cache
43928         variable gl_cv_lib_readline, and moving the assignment of
43929         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
43930         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
43931
43932 2006-03-07  Simon Josefsson  <jas@extundo.com>
43933
43934         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
43935         error on missing devices (the functions will return an error).
43936
43937         * m4/gc.m4: Move random stuff to gc-random.m4
43938
43939 2006-03-07  Simon Josefsson  <jas@extundo.com>
43940
43941         * lib/unistd_.h: New file.
43942
43943 2006-03-07  Simon Josefsson  <jas@extundo.com>
43944
43945         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
43946
43947 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
43948
43949         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
43950         Problem reported by Juan Manuel Guerrero.
43951
43952 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
43953
43954         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
43955         the unistd module.
43956         * lib/getlogin_r.c: Likewise.
43957         * lib/getlogin_r.h: Likewise.
43958         * lib/glob.c: Likewise.
43959         * lib/pagealign_alloc.c: Likewise.
43960         * lib/unistd_.h: Remove; no longer needed.
43961
43962 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
43963
43964         * MODULES.html.sh (Support for systems lacking POSIX:2001):
43965         Add unistd.
43966         * modules/c-stack (Depends-on): Add unistd.
43967         * modules/getlogin_r: Likewise.
43968         * modules/glob: Likewise.
43969         * modules/pagealign_alloc: Likewise.
43970         * modules/unistd (Files): Remove lib/unistd_.h.
43971         (EXTRA_DIST): Remove.
43972         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
43973         need unistd_.h.
43974         (MOSTLYCLEANFILES): Remove unistd.h-t.
43975
43976 2006-03-03  Simon Josefsson  <jas@extundo.com>
43977
43978         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
43979
43980 2006-03-03  Simon Josefsson  <jas@extundo.com>
43981
43982         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
43983         libidn and bison.
43984
43985 2006-03-03  Simon Josefsson  <jas@extundo.com>
43986
43987         * build-aux/maint.mk: Add indent target.
43988
43989 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
43990
43991         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
43992         our replacement poll.h in any case, to avoid a differing
43993         declaration from a system header.  Seen on AIX.
43994
43995 2006-03-01  Simon Josefsson  <jas@extundo.com>
43996
43997         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
43998         <kasal@ucw.cz>.
43999
44000 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
44001
44002         * modules/gettime (Depends-on): Add extensions module.
44003         * modules/nanosleep (Depends-on): Likewise.
44004         * modules/settime (Depends-on): Likewise.
44005
44006 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
44007
44008         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
44009         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
44010         pedantically.
44011         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
44012         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
44013
44014         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
44015         not "==".  Reported by Ralf Wildenhues.
44016
44017 2006-03-01  Karl Berry  <karl@gnu.org>
44018
44019         * doc/Copyright/request-*: new files, synced from gnuorg.
44020
44021 2006-03-01  Karl Berry  <karl@gnu.org>
44022
44023         * config/srclist.txt (Copyright/*): new entries.
44024
44025 2006-02-28  Simon Josefsson  <jas@extundo.com>
44026
44027         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
44028
44029 2006-02-27  Simon Josefsson  <jas@extundo.com>
44030
44031         * lib/base64.h: Indent #define's.  From Jim Meyering
44032         <jim@meyering.net>.
44033
44034 2006-02-27  Jim Meyering  <jim@meyering.net>
44035
44036         Revert the change of 2006-02-24, so these files can continue
44037         to be sync'd from gettext.
44038         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
44039         of `config.h'.
44040
44041 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
44042
44043         * modules/intprops: New file.
44044         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
44045         Add intprops.
44046         * modules/getloadavg (Files): Remove lib/intprops.h.
44047         (Depends-on): Add intprops.
44048         * modules/human: Likewise.
44049         * modules/inttostr: Likewise.
44050         * modules/openat: Likewise.
44051         * modules/sig2str: Likewise.
44052         * modules/userspec: Likewise.
44053         * modules/utimecmp: Likewise.
44054         * modules/xnanosleep: Likewise.
44055         * modules/xstrtol: Likewise.
44056
44057 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
44058
44059         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
44060         * modules/lock-tests (TESTS): Use $(EXEEXT).
44061         * modules/tls-tests: Likewise.
44062         * modules/argp-tests: Likewise.
44063         (check_PROGRAMS): New var, replacing...
44064         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
44065
44066 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44067
44068         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
44069         `config.h'.
44070
44071 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
44072
44073         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
44074
44075 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44076
44077         Sync from coreutils.
44078         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
44079         gl_CHDIR_SAFER.
44080
44081 2006-02-22  Jim Meyering  <jim@meyering.net>
44082
44083         Sync from coreutils.
44084         * m4/chdir-safer.m4: New file.
44085
44086 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
44087
44088         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
44089         AT_FDCWD exceeds INT_MAX.
44090         * lib/openat.h (AT_FDCWD): Likewise.
44091
44092 2006-02-17  Eric Blake  <address@hidden>
44093
44094         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
44095
44096 2006-02-16  Simon Josefsson  <jas@extundo.com>
44097
44098         * modules/getaddrinfo (Depends-on): Add sys_socket.
44099
44100 2006-02-15  Simon Josefsson  <jas@extundo.com>
44101
44102         * build-aux/maint.mk: Add dsyntax-check rule.
44103
44104 2006-02-15  Eric Blake  <ebb9@byu.net>
44105
44106         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
44107         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
44108         'present but cannot compile' warnings on cygwin.
44109         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
44110         use ws2tcpip.h if sys/socket.h works.
44111         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
44112         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
44113
44114 2006-02-14  Simon Josefsson  <jas@extundo.com>
44115
44116         * modules/maintainer-makefile (Files): Rename.
44117
44118         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
44119         and (the local) Makefile.cfg to maint-cfg.mk.
44120
44121         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
44122         to the latter.
44123
44124         * modules/maintainer-makefile: New module.
44125
44126         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
44127         severaly stripped to make it possible to build it up from scratch
44128         with reliable tests.
44129
44130         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
44131         fixes to permit overriding the default actions when configure and
44132         makefile are not available.
44133
44134 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
44135
44136         Sync from coreutils.
44137         * modules/lstat (Depends-on): Don't depend on xalloc.
44138         (License): Change from GPL to LGPL, since this is now simply a
44139         replacement for a libc function.
44140
44141 2006-02-14  Jim Meyering  <jim@meyering.net>
44142
44143         Sync from coreutils.
44144
44145         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
44146         failure on deficient systems, and simplify gnulib lgpl dependencies.
44147         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
44148         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
44149
44150         * lib/xalloc-die.c: Remove unused definition of N_.
44151
44152 2006-02-14  Jim Meyering  <jim@meyering.net>
44153
44154         Sync from coreutils.
44155         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
44156         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
44157         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
44158         double-quote uses of that variable, to accommodate the rare case in
44159         which getmntent is available in none of the libraries checked.  This
44160         happens at least on FreeBSD 5.0.
44161
44162 2006-02-13  Simon Josefsson  <jas@extundo.com>
44163
44164         * gnulib-tool (Usage): Fix --import, from
44165         karl@freefriends.org (Karl Berry).
44166
44167 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
44168
44169         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
44170
44171 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
44172
44173         * lib/argp-namefrob.h: Restore changes accidentally lost during the
44174         "autoupdate" on 2005-12-12.
44175
44176 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
44177
44178         * modules/closeout (Depends-on): Remove atexit.
44179
44180 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
44181
44182         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
44183         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
44184
44185 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
44186
44187         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
44188         __EXTENSIONS__ if this causes compilation to fail.  Problem
44189         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
44190         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
44191
44192 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
44193
44194         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
44195         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
44196         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
44197         All uses changed.
44198
44199 2006-01-26  Simon Josefsson  <jas@extundo.com>
44200
44201         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
44202         prototype is visible on mingw32.
44203
44204         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
44205         for mingw32.
44206
44207         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
44208         mingw32).
44209
44210 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
44211
44212         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
44213         attempt to open for write; this always fails, at least on POSIX
44214         hosts.  This reinstates the 2006-01-09 change, which was
44215         inadvertently removed.
44216
44217 2006-01-26  Bruno Haible  <bruno@clisp.org>
44218
44219         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
44220         Reported by Paul Eggert.
44221
44222 2006-01-26  Bruno Haible  <bruno@clisp.org>
44223             Paul Eggert  <eggert@cs.ucla.edu>
44224
44225         * lib/stdbool_.h (_Bool)
44226         [(! (defined __cplusplus || defined __BEOS__)
44227           && !defined __GNUC__
44228           && !(defined __HP_cc || defined __xlc__
44229                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
44230                || defined __sgi))]:
44231         #define to signed char in these cases too; this simplifies
44232         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
44233         etc., separately) and makes it more conservative.
44234
44235 2006-01-25  Simon Josefsson  <jas@extundo.com>
44236
44237         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
44238         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
44239         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
44240
44241 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
44242
44243         * lib/argp-namefrob.h: Bugfix. Remove stray #
44244
44245 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
44246
44247         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
44248         so that we test the test.
44249         Check for yet another HP-UX cc bug involving *bool |= bool.
44250
44251 2006-01-25  Karl Berry  <karl@gnu.org>
44252
44253         * config/srclist.txt (vasnprintf.c): sync lost.
44254
44255 2006-01-25  Jim Meyering  <jim@meyering.net>
44256
44257         Sync from the stable (b5) branch of coreutils:
44258
44259         * lib/fts.c (fts_children): Don't let close() clobber errno from
44260         failed fchdir().
44261
44262         * lib/fts.c (fts_stat): When following a symlink-to-directory,
44263         don't necessarily interpret stat-fails+lstat-succeeds as indicating
44264         a dangling symlink.  That can also happen at least for ELOOP.
44265         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
44266         FYI, this bug predates the inclusion of fts.c in coreutils.
44267
44268         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
44269         in their own block, so pre-c99 compilers don't object.
44270
44271         Avoid the double-free (first in fts_read, second in fts_close) that
44272         would occur when an `active' directory is made inaccessible (e.g.,
44273         via chmod a-x) during a traversal.
44274         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
44275         before returning.  Reproduce this failure by
44276         mkdir -p a/b; cd a; chmod a-x . b
44277         Reported by Stavros Passas.
44278
44279 2006-01-25  Jim Meyering  <jim@meyering.net>
44280
44281         * lib/fileblocks.c: Remove more useless parentheses.
44282         * lib/readutmp.h: Likewise.
44283
44284 2006-01-25  Bruno Haible  <bruno@clisp.org>
44285
44286         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
44287         warnings.
44288         Reported by Paul Eggert.
44289
44290 2006-01-25  Bruno Haible  <bruno@clisp.org>
44291
44292         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
44293         rid of a trap command. For Solaris sh.
44294         Reported by Mark D. Baushke <mdb@gnu.org>.
44295
44296 2006-01-24  Simon Josefsson  <jas@extundo.com>
44297
44298         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
44299         Bruno.
44300
44301 2006-01-24  Karl Berry  <karl@gnu.org>
44302
44303         * config/srclist.txt (argp-namefrob.h): sync lost.
44304
44305 2006-01-24  Jim Meyering  <jim@meyering.net>
44306
44307         * modules/openat (Files): Add lib/intprops.h.
44308         From Mark D. Baushke.
44309
44310 2006-01-24  Jim Meyering  <jim@meyering.net>
44311
44312         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
44313         Reported by Mark D. Baushke.
44314
44315 2006-01-24  Jim Meyering  <jim@meyering.net>
44316
44317         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
44318
44319 2006-01-24  Bruno Haible  <bruno@clisp.org>
44320
44321         * modules/strnlen (Maintainer): Change from glibc to all.
44322
44323 2006-01-24  Bruno Haible  <bruno@clisp.org>
44324
44325         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
44326         Patch by Paul Eggert.
44327
44328 2006-01-24  Bruno Haible  <bruno@clisp.org>
44329
44330         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
44331         already has it.
44332         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
44333         2005-11-26.
44334
44335         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
44336         'signed char' to avoid problems with the built-in _Bool type.
44337         Reported by Paul Eggert on 2005-11-26.
44338
44339 2006-01-24  Bruno Haible  <bruno@clisp.org>
44340
44341         * gnulib-tool (func_import): Avoid constructing complicated sed
44342         expressions inside backquote.
44343         Report and solution by Mark D. Baushke <mdb@gnu.org>.
44344
44345 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
44346
44347         These changes imported from libc.
44348         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
44349         test and two separate function calls.
44350         * lib/strndup.c (__strndup): Add libc_hidden_def.
44351
44352 2006-01-23  Simon Josefsson  <jas@extundo.com>
44353
44354         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
44355         Remove the test_*_SOURCES variable: automake infers it by default.
44356         * modules/tls-tests: Likewise.
44357
44358 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
44359
44360         Work around porting bugs reported by Dieter in
44361         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
44362         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
44363         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
44364         Include "getopt.h" first, to check interface.
44365         (getenv): Declare only if defined HAVE_DECL_GETENV &&
44366         !HAVE_DECL_GETENV.
44367         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
44368         (__strndup): Revert to K&R-style function dfns, the glibc style.
44369         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
44370         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
44371         Include strnlen.h first, to get prototype properly.
44372         (strnlen): Renamed from __strnlen.
44373         Remove weak alias.
44374
44375 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
44376
44377         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
44378
44379 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
44380
44381         * config/srclist.txt: Adjust to reflect glibc reorganization.
44382         This affects only comments.
44383
44384 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
44385
44386          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
44387          Reported by Bruce Korb <bkorb@gnu.org>.
44388
44389 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
44390
44391         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
44392         to pacify gcc -Wswitch-default.
44393
44394 2006-01-22  Bruno Haible  <bruno@clisp.org>
44395
44396         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
44397         temporary buffer for sprintf, take into account the precision also
44398         for 'd', 'i', 'u', 'o', 'x', 'X'.
44399
44400 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
44401
44402         * modules/argp-tests: New module
44403         * tests/test-argp.c: New file
44404         * tests/test-argp-2.sh: New file
44405
44406 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
44407
44408         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
44409         (__argp_base_name): Removed
44410         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
44411         typo.
44412         (__argp_base_name): Provide macro definition or extern declaration
44413         depending on the configuration
44414
44415 2006-01-20  Simon Josefsson  <jas@extundo.com>
44416
44417         * modules/inet_ntop (Depends-on): Depend on sys_socket.
44418
44419 2006-01-20  Simon Josefsson  <jas@extundo.com>
44420
44421         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
44422
44423 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
44424
44425         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
44426         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
44427         Suggested by Bruno Haible.
44428
44429 2006-01-20  Karl Berry  <karl@gnu.org>
44430
44431         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
44432         until changes propagate, I guess.
44433
44434 2006-01-19  Simon Josefsson  <jas@extundo.com>
44435
44436         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
44437
44438 2006-01-19  Simon Josefsson  <jas@extundo.com>
44439
44440         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
44441
44442 2006-01-19  Simon Josefsson  <jas@extundo.com>
44443
44444         * gnulib-tool: Set check_PROGRAMS.
44445
44446         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
44447         modules/des-tests, modules/gc-arcfour-tests,
44448         modules/gc-arctwo-tests, modules/gc-des-tests,
44449         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
44450         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
44451         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
44452         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
44453         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
44454         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
44455         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
44456         test_*_SOURCES.
44457
44458 2006-01-18  Simon Josefsson  <jas@extundo.com>
44459
44460         * modules/socklen (Depends-on): Depend on sys_socket.
44461
44462 2006-01-18  Simon Josefsson  <jas@extundo.com>
44463
44464         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
44465         modules/des-tests, modules/gc-arcfour-tests,
44466         modules/gc-arctwo-tests, modules/gc-des-tests,
44467         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
44468         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
44469         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
44470         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
44471         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
44472         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
44473         $(EXEEXT) to automake TESTS variable, for mingw32.
44474
44475 2006-01-17  Simon Josefsson  <jas@extundo.com>
44476
44477         * modules/socklen (Include): Need sys/socket.h.
44478
44479 2006-01-17  Bruno Haible  <bruno@clisp.org>
44480
44481         * modules/ssize_t (Include): Add <sys/types.h>.
44482
44483 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
44484
44485         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
44486         it's not portable and it doesn't work with cross-compiles.
44487         Problem reported by Bruno Haible.  Fix missing-$ typo in
44488         'test "gl_cv_ignore_unused_libraries" ...' that prevented
44489         -zignore from being used with Sun's C compiler.
44490
44491 2006-01-12  Simon Josefsson  <jas@extundo.com>
44492
44493         * lib/base64.c: Fix warning, reported by Bruno Haible
44494         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
44495
44496 2006-01-12  Bruno Haible  <bruno@clisp.org>
44497
44498         * modules/ldd: New file.
44499         * build-aux/ldd.sh.in: New file.
44500         * MODULES.html.sh (Support for building libraries and executables): Add
44501         ldd.
44502
44503 2006-01-12  Bruno Haible  <bruno@clisp.org>
44504
44505         * m4/ldd.m4: New file.
44506
44507 2006-01-12  Bruno Haible  <bruno@clisp.org>
44508
44509         * gnulib-tool (func_import, func_create_testdir): Don't go into an
44510         endless loop while replacing $auxdir with build-aux.
44511
44512 2006-01-11  Simon Josefsson  <jas@extundo.com>
44513
44514         * lib/stdint_.h (SIZE_MAX): Add missing (.
44515
44516 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
44517
44518         Sync from coreutils.
44519         * lib/md5.c: Fix commentary typos.
44520         (alignof, UNALIGNED_P): No need for a GCC-specific version.
44521         * lib/md5.h (__attribute__): Remove; unused.
44522         * lib/sha1.c: Fix commentary to match md5 better.
44523         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
44524         so that we don't need to worry about alignment.  All uses changed.
44525         This merges the 2005-10-28 md5 change into sha1.
44526
44527 2006-01-11  Jim Meyering  <jim@meyering.net>
44528
44529         Sync from coreutils.
44530         * lib/md5.c (OP): Fix spacing.
44531
44532 2006-01-11  Bruno Haible  <bruno@clisp.org>
44533
44534         Ensure automatic ordering between gl_LOCK and gl_ARGP.
44535         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
44536         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
44537
44538 2006-01-11  Bruno Haible  <bruno@clisp.org>
44539
44540         Ensure automatic ordering between gl_LOCK and gl_ARGP.
44541         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
44542         the "early" section as well.
44543
44544 2006-01-11  Bruno Haible  <bruno@clisp.org>
44545
44546         Avoid "ar: no archive members specified" error on MacOS X.
44547         * gnulib-tool (func_modules_add_dummy): New function.
44548         (func_import, func_create_testdir): Invoke it.
44549
44550 2006-01-11  Bruno Haible  <bruno@clisp.org>
44551
44552         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
44553         with $auxdir in AC_CONFIG_FILES statements.
44554
44555 2006-01-11  Bruno Haible  <bruno@clisp.org>
44556
44557         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
44558         Initialize also noinst_HEADERS to empty.
44559
44560 2006-01-11  Bruno Haible  <bruno@clisp.org>
44561
44562         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
44563         variables.
44564         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
44565         autoreconf.
44566
44567 2006-01-11  Bruno Haible  <bruno@clisp.org>
44568
44569         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
44570         overridable by the user.
44571         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44572
44573 2006-01-10  Simon Josefsson  <jas@extundo.com>
44574
44575         * modules/sys_socket: New file.
44576
44577 2006-01-10  Simon Josefsson  <jas@extundo.com>
44578
44579         * m4/sys_socket_h.m4: New file.
44580
44581 2006-01-10  Simon Josefsson  <jas@extundo.com>
44582
44583         * lib/socket_.h: New file.
44584
44585 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
44586
44587         * modules/readutmp (Maintainer): Add myself.
44588
44589 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
44590
44591         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
44592         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
44593         People who are still concerned with buggy memcmp implementations
44594         can invoke gl_FUNC_MEMCMP themselves.
44595
44596 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
44597
44598         * lib/regex_internal.h (BITSET_WORD_BITS):
44599         Work around a bug in 64-bit PGC (before version 6.1-2), where the
44600         preprocessor mishandles large unsigned values as if they were signed.
44601         Problem reported by Claudio Fontana in
44602         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
44603
44604 2006-01-10  Jim Meyering  <jim@meyering.net>
44605
44606         Avoid the double-free (first in fts_read, second in fts_close) that
44607         would occur when an `active' directory is made inaccessible (e.g.,
44608         via chmod a-x) during a traversal.
44609         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
44610         before returning.  Reproduce this failure by
44611         mkdir -p a/b; cd a; chmod a-x . b
44612         Reported by Stavros Passas.
44613
44614         Sync from coreutils.
44615         * lib/sha1.c: Tweak grammar in a comment.
44616
44617 2006-01-10  Jim Meyering  <jim@meyering.net>
44618
44619         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
44620         Patch by Joerg Sonnenberger.
44621
44622 2006-01-10  Bruno Haible  <bruno@clisp.org>
44623
44624         * modules/readutmp: Depend on module free.
44625         * modules/strtok_r: Depend on module restrict.
44626
44627 2006-01-10  Bruno Haible  <bruno@clisp.org>
44628
44629         * modules/gettext (configure.ac): Add an invocation of
44630         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
44631
44632 2006-01-10  Bruno Haible  <bruno@clisp.org>
44633
44634         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
44635         Reported by Werner Lemberg <wl@gnu.org>.
44636
44637 2006-01-10  Bruno Haible  <bruno@clisp.org>
44638
44639         * lib/localcharset.c: Update from GNU gettext.
44640
44641 2006-01-10  Bruno Haible  <bruno@clisp.org>
44642
44643         * lib/argp.h (__const): Remove macro. Use const instead.
44644         * lib/argp-fmtstream.h (__const): Likewise.
44645         * lib/glob_.h (__const): Remove macro.
44646         * lib/glob-libc.h: Use const instead of __const.
44647
44648 2006-01-10  Bruno Haible  <bruno@clisp.org>
44649
44650         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
44651         variable.
44652         Needed to avoid an automake error regarding the 'gettext' module.
44653
44654 2006-01-09  Simon Josefsson  <jas@extundo.com>
44655
44656         * modules/inet_ntop (Depends-on): Add restrict.
44657
44658 2006-01-09  Simon Josefsson  <jas@extundo.com>
44659
44660         * modules/gc-rijndael-tests (License): Put under LGPL.
44661
44662         * modules/gc-des-tests (License): Likewise.
44663
44664         * modules/gc-arcfour-tests (License): Likewise.
44665
44666         * modules/gc-arctwo-tests (License): Likewise.
44667
44668         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
44669
44670         * modules/gc-hmac-sha1-tests (Files): Likewise.
44671
44672         * modules/gc-hmac-md5-tests (License): Likewise.
44673
44674         * modules/gc-sha1-tests (License): Likewise.
44675
44676         * modules/gc-md5-tests (License): Likewise.
44677
44678         * modules/gc-md4-tests (License): Likewise.
44679
44680         * modules/gc-md2-tests (License): Likewise.
44681
44682         * modules/gc-tests (License): Likewise.
44683
44684         * modules/des-tests (License): Likewise.
44685
44686         * modules/md4-tests (License): Likewise.
44687
44688         * modules/md2-tests (License): Likewise.
44689
44690 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
44691
44692         Sync from coreutils:
44693
44694         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
44695         * modules/lib-ignore: New file.
44696         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
44697         chdir-safer.m4, lchmod.m4.
44698         * modules/openat: Add mkdirat.c, openat-priv.h.
44699
44700 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
44701
44702         Sync from coreutils.
44703         * m4/lib-ignore.m4: New file.
44704         * m4/lchmod.m4: New file.
44705
44706 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
44707
44708         Sync from coreutils.
44709         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
44710         for write access: POSIX says that must fail.
44711         * lib/fts.c (diropen): Likewise.
44712         * lib/save-cwd.c (save_cwd): Likewise.
44713         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
44714         well, for minor improvements on hosts that lack O_DIRECTORY.
44715         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
44716         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
44717         Fall back on chown if open failed with EACCES.
44718
44719         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
44720         Report an error at compile-time if only a 1-second nominal clock
44721         resolution is found.
44722
44723         * lib/lchmod.h: New file.
44724         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
44725         (make_dir_parents): Use lchown rather than chown, and
44726         lchmod rather than chmod.
44727
44728         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
44729         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
44730         "proc" reported by n0dalus.
44731
44732         * lib/mountlist.c: Include <limits.h>.
44733         (dev_from_mount_options)
44734         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
44735         New function.  It no longer assumes "dev=" has the System V meaning
44736         on Linux (since it doesn't).  It also parses "dev=" more carefully.
44737         (read_file_system_list)
44738         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
44739         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
44740         dev= in that case.
44741
44742         * lib/posixtm.h (PDS_PRE_2000): New macro.
44743         * lib/posixtm.c (year): Arg is now syntax_bits rather than
44744         allow_century.  All usages changed.  Reject dates outside the range
44745         1969-1999 if PDS_PRE_2000 is used.
44746
44747 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
44748
44749         Sync from coreutils.
44750         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
44751         (Time of day items): Mention the possibility of leap seconds.
44752         Problem reported by Dr. David Alan Gilbert.
44753
44754 2006-01-09  Jim Meyering  <jim@meyering.net>
44755
44756         Sync from coreutils.
44757
44758         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
44759
44760         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
44761
44762         * lib/modechange.c (mode_compile): Reject an invalid mode string
44763         that starts with an octal digit.  From Andreas Gruenbacher.
44764
44765         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
44766         and dup to open_safer and dup_safer, respectively.
44767         (openat_permissive): Fix typo in comment.
44768
44769         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
44770         "gettext.h"; either no longer needed or are guaranteed by openat.h.
44771         (_): Remove; no longer needed.
44772         (openat): Renamed from rpl_openat; no need for rpl_openat
44773         since openat.h renames openat for us.
44774         Replace most of the body with a call to openat_permissive,
44775         to avoid duplicate code.
44776         Port to (probably hypothetical) environments were mode_t is
44777         wider than int.
44778         (openat_permissive): Require mode arg, so that we can check
44779         types better.  Put it just after flags.  Change cwd failure
44780         indicator from pointer-to-bool to pointer-to-errno-value.
44781         All callers changed.
44782         Invoke openat_save_fail and/or openat_restore_fail if
44783         cwd_errno is null, so that openat can call us.
44784         (openat_permissive, fdopendir, fstatat, unlinkat):
44785         Simplify errno handling to avoid some duplicate code,
44786         as it's OK to set errno on success.
44787         * lib/openat.h: Revamp code so that function macros depend on
44788         __OPENAT_PREFIX only, not also on AT_FDCWD.
44789         (openat_ro): Remove.  Caller changed to use openat_permissive.
44790         (openat_permissive): Now a macro, if not a function.
44791         (openat_restore_fail, openat_save_fail): Now always functions,
44792         since mkdirat needs them even if __OPENAT_PREFIX is defined.
44793
44794         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
44795         and openat.c.
44796         * lib/mkdirat.c: Include openat-priv.h.
44797         Remove definitions of macros defined therein.
44798         * lib/openat.c: Likewise.
44799
44800         * lib/mkdirat.c (mkdirat): New file and function.
44801         * lib/openat.h (mkdirat): Declare.
44802
44803         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
44804
44805         * lib/openat.h (openat_permissive): Declare.
44806         (openat_ro): Define.
44807
44808         * lib/openat.c (EXPECTED_ERRNO): New macro.
44809         (openat_permissive): New function -- used in remove.c rewrite.
44810         (all functions): Set errno just before returning, only if there
44811         was an actual failure.
44812         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
44813
44814         Emulate openat-family functions using Linux's procfs, if possible.
44815         Idea and some code based on Ulrich Drepper's glibc changes.
44816
44817         * lib/openat.c: (BUILD_PROC_NAME): New macro.
44818         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
44819         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
44820         before falling back on save_cwd and restore_cwd.
44821         (fdopendir, fstatat, unlinkat): Likewise.
44822
44823         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
44824         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
44825
44826         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
44827         as second argument to va_arg.  Otherwise, some versions of gcc
44828         warn that `if this code is reached, the program will abort'.
44829
44830 2006-01-09  Jim Meyering  <jim@meyering.net>
44831
44832         Sync from coreutils.
44833         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
44834         Require openat-priv.h.
44835
44836 2006-01-09  Bruno Haible  <bruno@clisp.org>
44837
44838         * modules/strnlen (Include): Use strnlen.h.
44839
44840 2006-01-09  Bruno Haible  <bruno@clisp.org>
44841
44842         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
44843
44844 2006-01-09  Bruno Haible  <bruno@clisp.org>
44845
44846         * lib/sysexit_.h (EX_OK): New macro.
44847         Suggested by Martin Lambers <marlam@marlam.de>.
44848
44849 2006-01-09  Bruno Haible  <bruno@clisp.org>
44850
44851         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
44852         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
44853
44854 2006-01-09  Bruno Haible  <bruno@clisp.org>
44855
44856         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
44857         numbers.
44858
44859 2006-01-09  Bruno Haible  <bruno@clisp.org>
44860
44861         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
44862         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
44863         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
44864         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
44865
44866 2006-01-09  Bruno Haible  <bruno@clisp.org>
44867
44868         * build-aux/javacomp.sh.in: New file, moved from lib/.
44869         * modules/javacomp-script (Files): Update.
44870         (configure.ac): Add AC_CONFIG_FILES invocation.
44871         (EXTRA_DIST): Remove variable.
44872
44873         * build-aux/javaexec.sh.in: New file, moved from lib/.
44874         * modules/javaexec (Files): Update.
44875         (configure.ac): Add AC_CONFIG_FILES invocation.
44876         (EXTRA_DIST): Remove javaexec.sh.in.
44877
44878         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
44879         * modules/csharpcomp-script (Files): Update.
44880         (configure.ac): Add AC_CONFIG_FILES invocation.
44881         (EXTRA_DIST): Remove variable.
44882
44883         * build-aux/csharpexec.sh.in: New file, moved from lib/.
44884         * modules/csharpexec (Files): Update.
44885         (configure.ac): Add AC_CONFIG_FILES invocation.
44886         (EXTRA_DIST): Remove csharpexec.sh.in.
44887
44888 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
44889
44890         Sync from coreutils.
44891
44892         Add POSIX ACL support
44893         * lib/acl.h (copy_acl, set_acl): Add declarations.
44894         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
44895         systems other than Linux.
44896         (chmod_or_fchmod): New function: use fchmod when possible,
44897         and chmod otherwise.
44898         (file_has_acl): Add a POSIX ACL implementation, with a
44899         Linux-specific subcase.
44900         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
44901         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
44902         acls are unsupported.
44903         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
44904         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
44905         are unsupported.
44906
44907 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
44908
44909         Sync from coreutils.
44910         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
44911
44912 2006-01-07  Bruno Haible  <bruno@clisp.org>
44913
44914         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
44915         gl_EARLY.
44916
44917 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
44918
44919         * lib/strftime.c (tzname): Don't declare if it is already #defined.
44920         Problem reported for Mingw by Mark Junker.
44921
44922 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
44923
44924         * README: Gnulib normally doesn't generate a tarball.
44925
44926 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
44927
44928         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
44929         long int, not int, for nanosecond counts, so that people who are
44930         used to POSIX struct timespec won't be surprised.  Reported by Jim
44931         Meyering.
44932
44933 2005-12-28  Bruno Haible  <bruno@clisp.org>
44934
44935         * build-aux/config.rpath: Update from GNU gettext.
44936
44937 2005-12-16  Jim Meyering  <jim@meyering.net>
44938
44939         * modules/fprintftime: New module.
44940         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
44941
44942 2005-12-16  Jim Meyering  <jim@meyering.net>
44943
44944         * m4/fprintftime.m4: New file.
44945
44946 2005-12-16  Jim Meyering  <jim@meyering.net>
44947
44948         * lib/fprintftime.c, lib/fprintftime.h: New files.
44949
44950 2005-12-15  Simon Josefsson  <jas@extundo.com>
44951
44952         * modules/socklen (configure.ac): Fix M4 macro name, to align with
44953         new m4/socklen.m4.
44954
44955 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
44956
44957         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
44958         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
44959
44960 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
44961
44962         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
44963         * lib/argp-help.c (fill_in_uparams): Check if the constructed
44964         struct uparams is valid. Fall back to the default values if it is
44965         not.
44966
44967 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
44968
44969         * modules/argp (Files): Add argp-pin.c
44970         (Depends-on): dirname
44971         (lib_SOURCES): Add argp-pin.c
44972
44973 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
44974
44975         * m4/argp.m4:  Check if program_invocation_name and
44976         program_invocation_short_name are declared and define appropriate
44977         macros if they are not.
44978
44979 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
44980
44981         * lib/argp-help.c (__argp_base_name): New function
44982         (__argp_short_program_name): Rewrite using __argp_base_name
44983         * lib/argp-namefrob.h: Define program_invocation_name and
44984         program_invocation_short_name if requested
44985         (__argp_base_name): Add prototype
44986         * lib/argp-parse.c (argp_def): Use gettext wrappers
44987         (argp_default_parser): Use __argp_base_name
44988         * lib/argp-pin.c: New file. Defines program_invocation_name and
44989         program_invocation_short_name on systems that lack them.
44990
44991 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
44992
44993         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
44994         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
44995         porting problem reported by Georg Schwarz in
44996         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
44997
44998 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
44999
45000         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
45001         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
45002         porting problem reported by Georg Schwarz in
45003         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
45004
45005 2005-12-05  Bruno Haible  <bruno@clisp.org>
45006
45007         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
45008         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
45009         Reported by Mark Junker <mjscod@gmx.de>.
45010
45011 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
45012
45013         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
45014         Use implementation from Albert Chin, with some
45015         comments/corrections by Stepan Kasal and myself.
45016
45017 2005-12-02  Bruno Haible  <bruno@clisp.org>
45018
45019         * gnulib-tool (func_import): Accept GPLed build tool modules when
45020         --lgpl is given.
45021         * modules/csharpcomp-script: New file.
45022         * modules/csharpcomp: Depend on it.
45023         * modules/javacomp-script: New file.
45024         * modules/javacomp: Depend on it.
45025         Suggested by Simon Josefsson.
45026
45027 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
45028
45029         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
45030         statement, to work around an HP-UX 10.20 compiler bug reported by
45031         Peter O'Gorman.
45032
45033 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
45034
45035         * modules/savedir (Depends-on): Add openat.
45036
45037 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
45038
45039         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
45040         (uintmax_t) [defined uintmax_t]: Do not declare.
45041         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
45042         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
45043         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
45044         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
45045         sake of portability to weird hosts that C allows (though we don't
45046         know of any practical examples).
45047
45048         * lib/savedir.h (fdsavedir): New decl.
45049         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
45050         contains most of the former guts of savedir.
45051         (savedir): Use savedirstream.
45052         Include "openat.h".
45053
45054 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
45055
45056         * modules/obstack (Files): Add m4/ulonglong.m4.
45057         Problem reported by Davide Angelocola.
45058
45059 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
45060
45061         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
45062         coreutils no longer futzes with rounding modes.
45063
45064 2005-11-14  Jim Meyering  <jim@meyering.net>
45065
45066         * lib/mkstemp-safer.c: Include <config.h>, required for possible
45067         replacement of mkstemp.
45068
45069 2005-11-10  Simon Josefsson  <jas@extundo.com>
45070
45071         * lib/readline.c: Remove EOL.
45072
45073 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
45074
45075         * modules/gethrxtime (Depends-on): Add gettime.
45076
45077 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
45078
45079         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
45080         or gettimeofday; no longer needed.
45081
45082 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
45083
45084         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
45085         time business.
45086         (gethrxtime) [! (HAVE_NANOUPTIME
45087         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
45088         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
45089         our own approximation.
45090
45091 2005-11-08  Eric Blake  <ebb9@byu.net>
45092
45093         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
45094
45095 2005-11-08  Eric Blake  <ebb9@byu.net>
45096
45097         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
45098
45099 2005-11-04  Bruno Haible  <bruno@clisp.org>
45100
45101         * gnulib-tool: Implement --update mode.
45102
45103 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
45104
45105         Fix porting problem reported by Theodoros V. Kalamatianos.
45106         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
45107         Don't assume that futimes failing means we must fail.
45108
45109 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
45110
45111         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
45112         variables to suggest the intended function of the PATH_MAX check.
45113
45114 2005-10-30  Kean Johnston  <jkj@sco.com>
45115
45116         Trivial changes to support SCO systems.
45117         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
45118         as PATH_MAX.
45119         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
45120         where __ptr is null when no I/O is pending.
45121
45122 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
45123
45124         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
45125         leave errno alone.  Problem reported by Dmitry V. Levin.
45126
45127 2005-10-28  Simon Josefsson  <jas@extundo.com>
45128
45129         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
45130         Test more.
45131
45132         * tests/test-gc-md2.c, tests/test-md2.c: New files.
45133
45134         * modules/md2, modules/md2-tests: New files.
45135
45136 2005-10-28  Simon Josefsson  <jas@extundo.com>
45137
45138         * m4/inet_ntop.m4: More tests.
45139
45140         * m4/gc-md2.m4, md2.m4: New file.
45141
45142 2005-10-28  Simon Josefsson  <jas@extundo.com>
45143
45144         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
45145         "restrict" keywords, as per POSIX.  Protect the function
45146         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
45147         Don't use K&R prototypes.  Check the sprintf return values.
45148         Re-define EAFNOSUPPORT if not present.  Indent.
45149
45150         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
45151         suggested by Bruno Haible <bruno@clisp.org>.
45152
45153         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
45154
45155         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
45156
45157         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
45158         libgcrypt).
45159
45160         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
45161
45162         * lib/md2.h, lib/md2.c: New files.
45163
45164 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
45165
45166         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
45167         errno alone.  Problem reported by Frederic Jolliton.
45168
45169 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
45170
45171         * modules/verify (License): Change from GPL to LGPL.  This is a
45172         tiny module and there are apparently near-equivalents that are
45173         under the BSD license.
45174
45175 2005-10-24  Simon Josefsson  <jas@extundo.com>
45176
45177         * modules/sha1: Relicense to LGPL.
45178
45179 2005-10-24  Simon Josefsson  <jas@extundo.com>
45180
45181         * lib/md4.h: Shrink buffer size, now that we changed the type.
45182
45183 2005-10-23  Simon Josefsson  <jas@extundo.com>
45184
45185         * gnulib-tool (func_import): Fix --tests-base.
45186
45187 2005-10-22  Simon Josefsson  <jas@extundo.com>
45188
45189         * modules/arcfour (Depends-on): Need stdint.
45190
45191 2005-10-22  Simon Josefsson  <jas@extundo.com>
45192
45193         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
45194         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
45195
45196 2005-10-22  Simon Josefsson  <jas@extundo.com>
45197
45198         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
45199         suggested by Bruno Haible <bruno@clisp.org>.
45200
45201 2005-10-22  Simon Josefsson  <jas@extundo.com>
45202
45203         * lib/crc.h: Include stddef.h, for size_t.
45204
45205 2005-10-22  Simon Josefsson  <jas@extundo.com>
45206
45207         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
45208         arcfour_context struct (simplify test vector testing in GNU
45209         Shishi).
45210
45211 2005-10-21  Simon Josefsson  <jas@extundo.com>
45212
45213         * modules/des, modules/des-tests: New files.
45214
45215         * modules/gc-des, modules/gc-des-tests: New files.
45216
45217         * tests/test-des.c, tests/test-gc-des.c: New file.
45218
45219 2005-10-21  Simon Josefsson  <jas@extundo.com>
45220
45221         * modules/arctwo, modules/arctwo-tests: New files.
45222
45223         * tests/test-arctwo.c: New file.
45224
45225         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
45226
45227         * tests/test-gc-arctwo.c: New file.
45228
45229 2005-10-21  Simon Josefsson  <jas@extundo.com>
45230
45231         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
45232         Bruno Haible <bruno@clisp.org>.
45233
45234         * m4/gc-des.m4: New file.
45235
45236 2005-10-21  Simon Josefsson  <jas@extundo.com>
45237
45238         * m4/arctwo.m4: New file.
45239
45240         * m4/gc-arctwo.m4: New file.
45241
45242 2005-10-21  Simon Josefsson  <jas@extundo.com>
45243
45244         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
45245         block.
45246
45247 2005-10-21  Simon Josefsson  <jas@extundo.com>
45248
45249         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
45250         <bruno@clisp.org>.
45251
45252         * lib/hmac-sha1.c (hmac_sha1): Likewise.
45253
45254         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
45255         Bruno Haible <bruno@clisp.org>.
45256
45257         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
45258         <bruno@clisp.org>.
45259
45260 2005-10-21  Simon Josefsson  <jas@extundo.com>
45261
45262         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
45263
45264 2005-10-21  Simon Josefsson  <jas@extundo.com>
45265
45266         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
45267
45268 2005-10-21  Simon Josefsson  <jas@extundo.com>
45269
45270         * lib/des.h, lib/des.c: New files.
45271
45272         * lib/gc-gnulib.c: Support DES.c
45273
45274 2005-10-21  Simon Josefsson  <jas@extundo.com>
45275
45276         * lib/arctwo.h, lib/arctwo.c: New files.
45277
45278         * lib/gc-gnulib.c: Support ARCTWO.
45279
45280 2005-10-21  Simon Josefsson  <jas@extundo.com>
45281
45282         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
45283         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45284
45285 2005-10-21  Simon Josefsson  <jas@extundo.com>
45286
45287         * gnulib-tool (func_import, func_create_testdir): Define automake
45288         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
45289         Makefile.am snippet),
45290         suggested by Bruno Haible <bruno@clisp.org>.
45291
45292         * modules/gc (Makefile.am): Use it.
45293
45294 2005-10-21  Bruno Haible  <bruno@clisp.org>
45295
45296         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
45297         patch.
45298
45299 2005-10-19  Simon Josefsson  <jas@extundo.com>
45300
45301         * tests/test-gc-rijndael.c: New file.
45302
45303         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
45304
45305 2005-10-19  Simon Josefsson  <jas@extundo.com>
45306
45307         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
45308         interface too.
45309
45310 2005-10-19  Simon Josefsson  <jas@extundo.com>
45311
45312         * tests/test-gc-arcfour.c: New file.
45313
45314         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
45315
45316 2005-10-19  Simon Josefsson  <jas@extundo.com>
45317
45318         * modules/gc-md4, modules/gc-md4-tests: New file.
45319
45320         * tests/test-gc-md4.c: New file.
45321
45322 2005-10-19  Simon Josefsson  <jas@extundo.com>
45323
45324         * m4/gc-md4.m4: New file.
45325
45326 2005-10-19  Simon Josefsson  <jas@extundo.com>
45327
45328         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
45329         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
45330         <kasal@ucw.cz>.
45331
45332 2005-10-19  Simon Josefsson  <jas@extundo.com>
45333
45334         * m4/gc-arcfour.m4: New file.
45335
45336         * m4/gc-rijndael.m4: New file.
45337
45338 2005-10-19  Simon Josefsson  <jas@extundo.com>
45339
45340         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
45341
45342 2005-10-19  Simon Josefsson  <jas@extundo.com>
45343
45344         * lib/gc-gnulib.c: Support ARCFOUR.
45345
45346 2005-10-19  Simon Josefsson  <jas@extundo.com>
45347
45348         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
45349         support.
45350
45351         * lib/gc.h: Add ECB enum type.
45352
45353         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
45354
45355 2005-10-18  Simon Josefsson  <jas@extundo.com>
45356
45357         * tests/test-md5.c: New file.
45358
45359         * modules/md5-tests: New file.
45360
45361 2005-10-18  Simon Josefsson  <jas@extundo.com>
45362
45363         * tests/test-md4.c: New file.
45364
45365         * modules/md4, modules/md4-tests: New files.
45366
45367 2005-10-18  Simon Josefsson  <jas@extundo.com>
45368
45369         * m4/md4.m4: New file.
45370
45371 2005-10-18  Simon Josefsson  <jas@extundo.com>
45372
45373         * lib/md4.h, lib/md4.c: New files, based on md5.?.
45374
45375 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
45376
45377         * gnulib-tool (func_create_testdir): Omit the second check whether
45378         BUILT_SOURCES in nonempty.
45379
45380 2005-10-17  Simon Josefsson  <jas@extundo.com>
45381
45382         * tests/test-rijndael.c: New file.
45383
45384 2005-10-17  Simon Josefsson  <jas@extundo.com>
45385
45386         * modules/sha1: Depend on stdint instead of md5.
45387
45388         * modules/md5: Depend on stdint, remove uint32_t.
45389
45390 2005-10-17  Simon Josefsson  <jas@extundo.com>
45391
45392         * modules/gc-sha1-tests: New file.
45393
45394         * tests/test-gc-sha1.c: New file.
45395
45396 2005-10-17  Simon Josefsson  <jas@extundo.com>
45397
45398         * m4/md5.m4: Remove call to uint32_t.m4.
45399
45400 2005-10-17  Simon Josefsson  <jas@extundo.com>
45401
45402         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
45403
45404         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
45405         md5.h.
45406
45407         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
45408
45409         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
45410
45411 2005-10-17  Simon Josefsson  <jas@extundo.com>
45412
45413         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
45414
45415 2005-10-17  Simon Josefsson  <jas@extundo.com>
45416
45417         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
45418
45419 2005-10-17  Simon Josefsson  <jas@extundo.com>
45420
45421         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
45422
45423         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
45424
45425 2005-10-17  Bruno Haible  <bruno@clisp.org>
45426
45427         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
45428         that it can also be used in a test.
45429
45430 2005-10-16  Bruno Haible  <bruno@clisp.org>
45431
45432         * gnulib-tool (func_emit_tests_Makefile_am): Also define
45433         TESTS_ENVIRONMENT, so that individual tests can augment it.
45434
45435         * gnulib-tool (func_create_testdir): Use an intermediate target for
45436         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
45437         macros, like $(ALLOCA_H), which cannot be passed through the command
45438         line.
45439
45440 2005-10-15  Simon Josefsson  <jas@extundo.com>
45441
45442         * modules/rijndael-tests: New file.
45443
45444         * modules/rijndael: New file.
45445
45446 2005-10-15  Simon Josefsson  <jas@extundo.com>
45447
45448         * m4/rijndael.m4: New file.
45449
45450 2005-10-15  Simon Josefsson  <jas@extundo.com>
45451
45452         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
45453
45454         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
45455
45456 2005-10-14  Simon Josefsson  <jas@extundo.com>
45457
45458         * tests/test-arcfour.c: New file.
45459
45460         * modules/arcfour, modules/arcfour-tests: New files.
45461
45462 2005-10-14  Simon Josefsson  <jas@extundo.com>
45463
45464         * m4/arcfour.m4: New file.
45465
45466 2005-10-14  Simon Josefsson  <jas@extundo.com>
45467
45468         * lib/arcfour.h, lib/arcfour.c: New files.
45469
45470 2005-10-14  Roland McGrath  <roland@redhat.com>
45471
45472         Import from libc.  [BZ #1331]
45473         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
45474         macro argument.
45475         Reported by Matej Vela <vela@debian.org>.
45476
45477 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
45478
45479         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
45480         include <wchar.h>; no longer needed.
45481
45482 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
45483
45484         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
45485
45486 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
45487         and  Ulrich Drepper  <drepper@redhat.com>
45488
45489         Import from libc.
45490         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
45491         instead of inline stream orientation test and two separate
45492         function calls.  Pay no attention to USE_IN_LIBIO.
45493
45494 2005-10-13  Simon Josefsson  <jas@extundo.com>
45495
45496         * modules/gc-hmac-md5-tests: New file.
45497
45498         * tests/test-gc-hmac-sha1.c: New file.
45499
45500         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
45501
45502         * modules/gc-hmac-md5-tests: New file.
45503
45504         * tests/test-gc-md5.c: New file.
45505
45506         * modules/gc-md5-tests: New file.
45507
45508 2005-10-13  Simon Josefsson  <jas@extundo.com>
45509
45510         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
45511         Move memory allocation outside of loop.
45512
45513 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
45514
45515         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
45516         intermediate directory is in a read-only file system.  Problem
45517         reported by Eric Blake.
45518
45519 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
45520
45521         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
45522
45523 2005-10-12  Simon Josefsson  <jas@extundo.com>
45524
45525         * tests/test-hmac-sha1.c: New file.
45526
45527         * modules/hmac-sha1-tests: New file.
45528
45529         * modules/hmac-sha1: New file.
45530
45531 2005-10-12  Simon Josefsson  <jas@extundo.com>
45532
45533         * modules/gc-sha1: New file.
45534
45535 2005-10-12  Simon Josefsson  <jas@extundo.com>
45536
45537         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
45538
45539         * tests/test-gc-pbkdf2-sha1.c: New file.
45540
45541 2005-10-12  Simon Josefsson  <jas@extundo.com>
45542
45543         * modules/gc-md5, modules/gc-hmac-md5: New files.
45544
45545         * modules/gc (Files): Remove md5, memxor and hmac files.
45546
45547 2005-10-12  Simon Josefsson  <jas@extundo.com>
45548
45549         * m4/gc-pbkdf2-sha1.m4: New file.
45550
45551         * m4/gc-hmac-sha1.m4: New file.
45552
45553         * m4/gc-sha1: New file.
45554
45555         * m4/hmac-sha1.m4: New file.
45556
45557 2005-10-12  Simon Josefsson  <jas@extundo.com>
45558
45559         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
45560
45561         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
45562
45563 2005-10-12  Simon Josefsson  <jas@extundo.com>
45564
45565         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
45566         suggested by Bruno Haible <bruno@clisp.org>.
45567
45568 2005-10-12  Simon Josefsson  <jas@extundo.com>
45569
45570         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
45571
45572 2005-10-12  Simon Josefsson  <jas@extundo.com>
45573
45574         * lib/gc-pbkdf2-sha1.c: New file.
45575
45576         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
45577
45578 2005-10-12  Simon Josefsson  <jas@extundo.com>
45579
45580         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
45581
45582         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
45583
45584 2005-10-12  Simon Josefsson  <jas@extundo.com>
45585
45586         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
45587         GC_USE_HMAC_MD5, respectively.
45588
45589         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
45590         (gc_md5): Fix typo.
45591
45592         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
45593
45594         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
45595
45596         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
45597
45598 2005-10-12  Bruno Haible  <bruno@clisp.org>
45599
45600         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
45601         Reported by Stepan Kasal <kasal@ucw.cz>.
45602
45603 2005-10-11  Simon Josefsson  <jas@extundo.com>
45604
45605         * tests/test-crc.c: New file.
45606
45607         * modules/crc, modules/crc-tests: New files.
45608
45609 2005-10-11  Simon Josefsson  <jas@extundo.com>
45610
45611         * m4/crc.m4: New file.
45612
45613 2005-10-11  Simon Josefsson  <jas@extundo.com>
45614
45615         * lib/gc.h: Add gc_hash and gc_hash_buffer.
45616
45617         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
45618
45619         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
45620
45621 2005-10-11  Simon Josefsson  <jas@extundo.com>
45622
45623         * lib/crc.h, lib/crc.c: New files.
45624
45625         * lib/gc.h (gc_hash_buffer): Add doc.
45626
45627 2005-10-11  Bruno Haible  <bruno@clisp.org>
45628
45629         * modules/c-strcasestr: New file.
45630         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
45631
45632 2005-10-11  Bruno Haible  <bruno@clisp.org>
45633
45634         * modules/c-strcase: New file.
45635         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
45636
45637 2005-10-11  Bruno Haible  <bruno@clisp.org>
45638
45639         * lib/strcasecmp.c: Include limits.h.
45640         (strcasecmp): Avoid integer overflow on exotic platforms.
45641         * lib/strncasecmp.c: Include limits.h.
45642         (strncasecmp): Avoid integer overflow on exotic platforms.
45643         Reported by Paul Eggert.
45644
45645 2005-10-11  Bruno Haible  <bruno@clisp.org>
45646
45647         * lib/c-strcasestr.h: New file, from GNU gettext.
45648         * lib/c-strcasestr.c: New file, from GNU gettext.
45649
45650 2005-10-11  Bruno Haible  <bruno@clisp.org>
45651
45652         * lib/c-strcase.h: New file, from GNU gettext.
45653         * lib/c-strcasecmp.c: New file, from GNU gettext.
45654         * lib/c-strncasecmp.c: New file, from GNU gettext.
45655
45656 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
45657
45658         * modules/mempcpy (License): GPL -> LGPL.
45659         * modules/strchrnul (License): Likewise.
45660         * modules/sysexits (License): Likewise.
45661
45662 2005-10-08  Simon Josefsson  <jas@extundo.com>
45663
45664         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
45665
45666 2005-10-07  Simon Josefsson  <jas@extundo.com>
45667
45668         * m4/memxor.m4: Remove gl_C_RESTRICT call.
45669
45670 2005-10-06  Simon Josefsson  <jas@extundo.com>
45671
45672         * tests/test-hmac-md5.c: New file.
45673
45674         * modules/hmac-md5-tests: New file.
45675
45676         * modules/hmac-md5: New file.
45677
45678 2005-10-06  Simon Josefsson  <jas@extundo.com>
45679
45680         * m4/hmac-md5.m4: New file.
45681
45682         * m4/memxor.m4: Require gl_C_RESTRICT.
45683
45684 2005-10-06  Simon Josefsson  <jas@extundo.com>
45685
45686         * lib/memxor.c (memxor): Avoid casts and warnings.
45687
45688 2005-10-06  Simon Josefsson  <jas@extundo.com>
45689
45690         * lib/hmac-md5.c: New file.
45691
45692         * lib/hmac.h: New file.
45693
45694 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
45695
45696         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
45697         promotes to int, not unsigned int, to catch the AIX 5.3
45698         compiler bug.
45699
45700 2005-10-05  Simon Josefsson  <jas@extundo.com>
45701
45702         * modules/memxor: New file.
45703
45704         * modules/iconv (Files): Move config.rpath to havelib, it is used
45705         there.
45706
45707         * modules/havelib (Files): Add config.rpath.
45708
45709 2005-10-05  Simon Josefsson  <jas@extundo.com>
45710
45711         * m4/memxor.m4: New file.
45712
45713 2005-10-05  Simon Josefsson  <jas@extundo.com>
45714
45715         * lib/memxor.c (memxor): Fix compiler error.
45716
45717         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
45718         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
45719
45720         * lib/memxor.h, lib/memxor.c: New files.
45721
45722         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
45723         we assume all systems have it, suggested by Jim Meyering
45724         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
45725         any systems lack sys/socket.h; mingw32 is known to lack it, but we
45726         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
45727         same reasons.
45728
45729 2005-10-05  Simon Josefsson  <jas@extundo.com>
45730
45731         * config/srclist.txt: Add glibc bug 1423 for md5.h.
45732
45733 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
45734
45735         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
45736         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
45737         needed, since the source code now assumes these .h files.
45738
45739 2005-10-05  Derek Price  <derek@ximbiot.com>
45740
45741         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
45742
45743 2005-10-05  Bruno Haible  <bruno@clisp.org>
45744
45745         * modules/stdint (License): Change to LGPL.
45746
45747 2005-10-04  Simon Josefsson  <jas@extundo.com>
45748
45749         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
45750         D. Baushke" <mdb@gnu.org>.
45751
45752 2005-10-04  Bruno Haible  <bruno@clisp.org>
45753
45754         * lib/verify.h (verify_true): Provide alternative definition for C++.
45755
45756 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
45757
45758         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
45759         (SSIZE_MAX): New macro, if not already defined.
45760         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
45761         than 2 GiB.
45762
45763 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
45764
45765         Sync from coreutils.
45766         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
45767         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
45768         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
45769         ULLONG_MAX doesn't work with 2.7.2.1.
45770
45771 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
45772
45773         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
45774         From Ben Pfaff.
45775
45776         * modules/exclude (Depends-on): Depend on verify.
45777         * modules/strtoimax (Depends-on): Likewise.
45778         * modules/utimecmp (Depends-on): Likewise.
45779
45780 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
45781
45782         * lib/exclude.c: Include verify.h.
45783         (verify): Remove.  All callers changed to use verify.h's version.
45784         * lib/strtoimax.c: Likewise.
45785         * lib/utimecmp.c: Likewis.e
45786
45787         Sync from coreutils.
45788         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
45789         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
45790         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
45791         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
45792         bother returning ENOSYS if settimeofday or stime fails; just let
45793         them return whatever errno they want to return.
45794         * lib/utimens.c: Include unistd.h, for dup2.
45795         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
45796         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
45797
45798 2005-10-02  Jim Meyering  <jim@meyering.net>
45799
45800         Sync from coreutils.
45801         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
45802         from glibc-2.2.5 that fails for read-only files.
45803
45804 2005-10-02  Jim Meyering  <jim@meyering.net>
45805
45806         Sync from coreutils.
45807         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
45808         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
45809         `#if HAVE_CONFIG_H'.
45810         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
45811         Remove AT_FDCWD test.
45812         Do not consume the fd unless successful.
45813         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
45814         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
45815         block, so that we don't even try to compile it if settimeofday is
45816         available.  This works around a compilation failure on OSF1 V5.1,
45817         due to stime requiring a `long int*' while tv_sec is `int'.
45818
45819 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
45820
45821         Sync from coreutils.
45822         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
45823         against `yes', rather than just testing for nonempty.
45824
45825 2005-10-01  Simon Josefsson  <jas@extundo.com>
45826
45827         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
45828         and Darwin.
45829
45830         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
45831         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
45832         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
45833         freeaddrinfo and gai_strerror are declared by the POSIX headers.
45834         Check if struct addrinfo is declared.
45835
45836 2005-10-01  Simon Josefsson  <jas@extundo.com>
45837
45838         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
45839         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
45840         AI_* and EAI_* definitions.  Protect function declarations.
45841
45842 2005-10-01  Jim Meyering  <jim@meyering.net>
45843
45844         Sync from coreutils.
45845
45846         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
45847         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
45848         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
45849         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
45850         in the inet and nsl libraries.  Required on Solaris 5.7.
45851
45852 2005-10-01  Jim Meyering  <jim@meyering.net>
45853
45854         Sync from coreutils.
45855         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
45856         in the inet and nsl libraries.  Required on Solaris 5.7.
45857
45858 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
45859
45860         * lib/getdelim.c (getdelim): Remove unused variables.
45861
45862 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
45863
45864         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
45865         so that the code works even with ancient cpp.  Portability problem
45866         with GCC 2.7.2.1 reported by Thomas M.Ott.
45867
45868 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
45869
45870         * modules/regex (Depends-on): Add strcase.
45871
45872         * modules/gethostname (Licence): Change from GPL to LGPL, since
45873         gethostname.c is a trivial implementation of a standard library
45874         function.
45875         * modules/poll (License): Change from GPL to LGPL, since it's
45876         derived from LGPL code.
45877
45878 2005-09-27  Jim Meyering  <jim@meyering.net>
45879
45880         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
45881         HAVE_CONFIG_H.
45882
45883         * lib/intprops.h (signed_type_or_expr__): Define.
45884         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
45885         for unsigned types.
45886
45887 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
45888
45889         * lib/verify.h (verify_expr): Remove, replacing with:
45890         (verify_true): New macro that returns true instead of void.
45891         (verify_type__): Remove.
45892         (verify): Use verify_true rather than verify_type__.
45893
45894 2005-09-26  Bruno Haible  <bruno@clisp.org>
45895
45896         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
45897         is necessary.
45898         (lib_SOURCES): Remove mbchar.c.
45899         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
45900         (Files): Add m4/mbrtowc.m4.
45901         * modules/mbiter: Likewise.
45902         * modules/mbuiter: Likewise.
45903
45904 2005-09-26  Bruno Haible  <bruno@clisp.org>
45905
45906         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
45907         compile mbchar.c if they are not both present.
45908         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
45909         * m4/mbiter.m4 (gl_MBITER): Likewise.
45910         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
45911         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
45912         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
45913
45914 2005-09-25  Jim Meyering  <jim@meyering.net>
45915
45916         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
45917         also uses socklen_t.
45918
45919 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
45920
45921         * lib/utimens.c (ENOSYS): Define if not already defined.
45922         (futimens): Support having a null PATH if the file descriptor
45923         is nonnegative.
45924
45925         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
45926         Remove.
45927         (__attribute): Define to empty unless GCC 3.1 or later.
45928         This works around a core dump on OpenBSD 3.4, which has GCC
45929         2.95.3, which dumps core when given __attribute__(()).  It also
45930         simplifies other tests, since we really don't want to bother with
45931         worrying about which ancient version of GCC supported what.
45932         Original problem reported by Yoann Vandoorselaere, with part of
45933         the fix suggested by Derek Price.
45934
45935 2005-09-24  Jim Meyering  <jim@meyering.net>
45936
45937         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
45938         so we can once again use a positive bitfield width of 1 -- now we
45939         don't have to explain why we were using a bitfield width of 2.
45940
45941 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
45942
45943         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
45944         and similarly for the other external symbols.  Problem reported
45945         by James Gallager.
45946
45947         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
45948         bug reported by Jim Meyering.
45949
45950         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
45951         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
45952         not needed, since socklen is a prerequisite module.
45953
45954 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
45955
45956         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
45957         Problem reported by Eric Blake.
45958         (getaddrinfo): Initialize se so that it's not garbage.
45959         Redo internal storage allocation so that it doesn't make unportable
45960         assumptions about alignment.
45961         Fix a memory leak.
45962
45963         * lib/utimens.c (futimens): Use futimesat if available.
45964         Prefer it to futimes since it doesn't have the futimes bug.
45965
45966         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
45967         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
45968         Instead, declare a function that returns a pointer to an array,
45969         and use verify_type__ to declare the size of the array.
45970         Problem and germ of a solution reported by Bruno Haible.
45971         (verify_type__): Use 2, not 1, for bitfield size, to avoid
45972         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
45973
45974 2005-09-23  Jim Meyering  <jim@meyering.net>
45975
45976         Sync from coreutils.
45977         Correct build failure (socklen_t not defined) on at least
45978         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
45979         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
45980
45981 2005-09-23  Jim Meyering  <jim@meyering.net>
45982
45983         * modules/getaddrinfo (Depends-on): Add socklen.
45984
45985 2005-09-23  Bruno Haible  <bruno@clisp.org>
45986
45987         * tests/test-verify.c: New file.
45988
45989 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
45990
45991         Sync from coreutils.
45992
45993         * modules/argmatch (Depends-on): Add verify.
45994         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
45995         unistd-safer.
45996         * modules/save-cwd (Depends-on): Likewise.
45997
45998         * modules/openat (Files): Add lib/openat-die.c.
45999         (Depends-on): Remove error, exitfail.
46000         Add dirname.
46001
46002         * modules/verify: New file.
46003         * MODULES.html.sh (Diagnostics <assert.h>): New section,
46004         with "verify" module.
46005
46006 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
46007
46008         Sync from coreutils.
46009
46010         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
46011         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
46012         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
46013         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
46014         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
46015         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
46016         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
46017         Don't bother checking for string.h, stdlib.h, unistd.h.
46018         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
46019         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
46020         module's job.
46021         * m4/jm-macros.m4 (gl_MACROS): Likewise.
46022         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
46023
46024         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
46025         (gl_GETDATE): Use it.
46026
46027         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
46028
46029 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
46030
46031         Sync from coreutils.
46032
46033         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
46034         stat-time.h.
46035         * lib/argmatch.h: Include verify.h
46036         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
46037         (ARGMATCH_ASSERT): Remove; unused.
46038         * lib/canonicalize.c: Assume STDC_HEADERS.
46039         * lib/exclude.c: Include "strcase.h".
46040         * lib/regex_internal.h [!defined _LIBC]: Likewise.
46041         * lib/getusershell.c: Include stdio--.h rather than stdio.h
46042         and stdio-safer.h.
46043         (getusershell): Call fopen, not fopen_safer.
46044         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
46045         Do not include unistd-safer.h.
46046         (save_cwd): Don't call fd_safer; no longer needed
46047         now that we include fcntl--.h.
46048
46049         * lib/getdate.y (relative_time): New type.
46050         (RELATIVE_TIME_0): New constant.
46051         (parser_control): Use relative_time instead of doing it ourselves.
46052         (%union): Add new relative_time rel member.
46053         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
46054         Now typeless.
46055         (relunit, relunit_snumber): Now of type rel.
46056         (zone, rel, relunit, get_date): Adjust to above changes.
46057
46058         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
46059         Do not include unistd-safer.h.
46060         (getloadavg): Don't call fd_safer; no longer needed
46061         now that we include fcntl--.h.
46062
46063         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
46064         (make_dir_parents): Treat ENOSYS like EEXIST.
46065
46066         Improve quality of diagnostics on restore_cwd failure.
46067         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
46068         (make_dir_parents): Last arg is now int * (for errno), not bool *.
46069         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
46070         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
46071         each time through the loop.  Do not diagnose restore_cwd failure;
46072         that is the caller's job (and perhaps the caller does not care).
46073
46074         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
46075         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
46076         If the file already exists but is not a directory, don't bother
46077         to try to make its parents.
46078         Close potential file descriptor leak if we can't chdir("/") (!).
46079         Don't always return true if chdir($PWD) fails; return true only
46080         if the requested action was done successfully (except for the
46081         chdir($PWD)).
46082         Don't log final directory unless we actually made it.
46083         Refactor to avoid duplicate code to fix up permissions.
46084         Don't attempt to fix up parent permissions if chdir($PWD) fails.
46085
46086         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
46087         to make it a bit faster and (I hope) clearer.
46088         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
46089         Fix bug in formats like %2N.
46090
46091         * lib/verify.h: New file.
46092
46093 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
46094
46095         Sync from coreutils.
46096         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
46097
46098 2005-09-22  Jim Meyering  <jim@meyering.net>
46099
46100         Sync from coreutils.
46101
46102         * m4/lstat.m4 (gl_FUNC_LSTAT):
46103         Use AC_LIBSOURCES to require lstat.c and lstat.h.
46104         Remove obsolete comment.
46105         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
46106         * m4/xstrtod.m4: Likewise.
46107
46108         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
46109
46110 2005-09-22  Jim Meyering  <jim@meyering.net>
46111
46112         Sync from coreutils.
46113
46114         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
46115
46116         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
46117         the .tm_year member, since otherwise gcc-4.0 would now warn about
46118         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
46119
46120         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
46121         order to avoid an unsuppressible warning from gcc on 64-bit systems.
46122
46123         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
46124         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
46125         when run in a time zone for which daylight savings time is in effect
46126         for the starting date.
46127
46128         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
46129         stop us from restricting permissions of just-created absolute-named
46130         directories.
46131         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
46132         to restore initial working directory.
46133         * lib/mkdir-p.c (make_dir_parents): New parameter:
46134         different_working_dir, to tell caller if/when we change the working
46135         directory and are unable to return to the initial one.
46136         * lib/mkdir-p.h (make_dir_parents): Update prototype.
46137         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
46138         `return false'.  This fixes a bug introduced on 2004-07-30.
46139
46140         * lib/openat.c (fdopendir): Be sure to close the supplied
46141         file descriptor before returning.  This makes our replacement
46142         implementation a little closer to Solaris's, where fdopendir
46143         ties the file descriptor to the returned DIR* pointer.
46144         * lib/openat.c (unlinkat): New function.
46145         * lib/openat.h (unlinkat): Add prototype.
46146         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
46147         (openat_restore_fail): Rename from openat_restore_die.
46148         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
46149
46150         Provide an alternative to exiting immediately upon save_cwd or
46151         restore_cwd failure.  Now, an application can arrange e.g.,
46152         to perform a longjump in that case.
46153         * lib/openat.c: Include dirname.h.
46154         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
46155         (rpl_openat, fdopendir, fstatat): Call openat_save_die
46156         and openat_restore_die rather than calling error directly.
46157         Don't include "error.h" or "exitfail.h"; they're no longer needed.
46158
46159         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
46160         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
46161         define.
46162
46163         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
46164         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
46165                             int utc, int nanoseconds);
46166         Background:
46167         date should not have to allocate a megabyte of virtual memory to
46168         handle a format argument like +%1048575T.  When implemented with
46169         strftime, it must allocate such a buffer, use strftime to fill it
46170         in, print it, then free it.
46171         With fprintftime, it simply prints everything and exits.
46172         With no need for memory allocation, that's one fewer way to fail.
46173         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
46174         optional field width, not before, so we accept %9:z, not %:9z.
46175         (my_strftime): Be sure to use L_('x') for literals.
46176
46177         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
46178         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
46179         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
46180         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
46181         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
46182         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
46183         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
46184         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
46185         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
46186         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
46187         * lib/xgethostname.c, lib/xreadlink.c:
46188         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
46189
46190         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
46191         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
46192         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
46193         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
46194         and don't include <sys/file.h>).
46195
46196 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
46197
46198         Sync from coreutils.
46199
46200         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
46201         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
46202         [!LDAV_DONE]: Avoid unused variable warning.
46203
46204 2005-09-21  Bruno Haible  <bruno@clisp.org>
46205
46206         * lib/unicodeio.h (unicode_to_mb): New declaration.
46207
46208 2005-09-20  Derek Price  <derek@ximbiot.com>
46209
46210         * lib/getaddrinfo.c: Don't include <netdb.h> included from
46211         getaddrinfo.h.
46212
46213 2005-09-20  Bruno Haible  <bruno@clisp.org>
46214
46215         * gnulib-tool: Remove trailing slashes from the values specified for
46216         --source-base, --m4-base, --tests-base, --aux-dir.
46217         Suggested by Simon Josefsson <jas@extundo.com>.
46218
46219 2005-09-20  Bruno Haible  <bruno@clisp.org>
46220
46221         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
46222         func_modules_to_filelist, func_import, func_create_testdir): Make all
46223         sorting results locale-independent, so that gnulib-cache.m4 doesn't
46224         change when gnulib-tool is invoked in a different locale.
46225
46226 2005-09-19  Simon Josefsson  <jas@extundo.com>
46227
46228         * m4/socklen.m4: Fix typo.
46229
46230 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46231
46232         Use a consistent style for including <config.h>.
46233         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
46234         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
46235         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
46236         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
46237         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
46238         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
46239         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
46240         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
46241         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
46242         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
46243         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
46244         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
46245         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
46246         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
46247         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
46248         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
46249         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
46250         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
46251         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
46252         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
46253         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
46254         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
46255         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
46256         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
46257         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
46258         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
46259         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
46260         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
46261         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
46262         lib/xstrtoumax.c, lib/yesno.c:
46263         Standardize inclusion of config.h.
46264         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
46265         lib/inttostr.h:  Removed inclusion of config.h from header files.
46266         * lib/inttostr.c:  Adjusted in-tree users.
46267         * lib/timespec.h: Remove superfluous warning to include config.h.
46268         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
46269         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
46270         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
46271         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
46272         config.h with HAVE_CONFIG_H.
46273
46274 2005-09-19  Jim Meyering  <jim@meyering.net>
46275
46276         * modules/pathmax (License): Change to LGPL.
46277
46278 2005-09-19  Derek Price  <derek@ximbiot.com>
46279
46280         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
46281
46282 2005-09-19  Bruno Haible  <bruno@clisp.org>
46283
46284         * gnulib-tool (import): Provide default for --tests-base.
46285
46286 2005-09-19  Bruno Haible  <bruno@clisp.org>
46287
46288         * doc/quote.texi: New file, extracted from gnulib.texi.
46289         * doc/ctime.texi: New file, extracted from gnulib.texi.
46290         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
46291         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
46292         * doc/gnulib.texi: Include them.
46293
46294 2005-09-18  Bruno Haible  <bruno@clisp.org>
46295
46296         Portability fix.
46297         * gnulib-tool (func_readlink): New function.
46298         (func_ln_if_changed): Use it.
46299
46300 2005-09-18  Bruno Haible  <bruno@clisp.org>
46301
46302         * gnulib-tool: Support --with-tests also with --import.
46303         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
46304         (func_import): Use variables $testsbase and $inctests. Emit a
46305         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
46306         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
46307         SUBDIRS += $testsdir.
46308         (func_create_testdir): Update.
46309
46310 2005-09-18  Bruno Haible  <bruno@clisp.org>
46311
46312         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
46313         instead of $dry_run.
46314         (func_cp_if_changed, func_mv_if_changed): Remove functions.
46315         (func_ln_if_changed): Don't handle dry-run here.
46316         (func_import): In dry-run mode, detect more precisely which actions
46317         would be performed, and don't use "...ing" verbs.
46318
46319 2005-09-18  Bruno Haible  <bruno@clisp.org>
46320
46321         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
46322         (func_import): Use join on two temporary files instead of three nested
46323         loops, in order to determine which files are new or old.
46324
46325 2005-09-18  Bruno Haible  <bruno@clisp.org>
46326
46327         * gnulib-tool (func_import): Comment out code that spits out the
46328         new files with --dry-run.
46329
46330 2005-09-18  Bruno Haible  <bruno@clisp.org>
46331
46332         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
46333
46334 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
46335
46336         * lib/stat-time.h: New file.
46337         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
46338         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
46339         in a different way.
46340         (timespec_cmp): New function.
46341         * lib/utimecmp.c: Include stat-time.h.
46342         (SYSCALL_RESOLUTION): Depend on whether various struct stat
46343         members exist, not on the obsolescent ST_MTIM_NSEC.
46344         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
46345
46346 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
46347
46348         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
46349
46350 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
46351
46352         * MODULES.html.sh (File system functions): Add stat-time.
46353         * modules/stat-time: New file.
46354         * modules/timespec (Files): Remove m4/st_mtim.m4; this
46355         is now done in a different way, by the stat-time module.
46356         * modules/utimecmp (Depends-on): Add stat-time.
46357
46358 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
46359
46360         * m4/st_mtim.m4: Remove.  Superseded by...
46361         * m4/stat-time.m4: New file.
46362         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
46363         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
46364
46365 2005-09-15  Derek Price  <derek@ximbiot.com>
46366
46367         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
46368
46369 2005-09-15  Derek Price  <derek@ximbiot.com>
46370
46371         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
46372         * lib/regex_internal.c: Ditto, using this...
46373         (__GNUC_PREREQ): ...new macro.
46374         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
46375         using...
46376         (__GNUC_PREREQ): ...this new macro.
46377
46378         * lib/strstr.h: Include string.h. Define strstr as a macro here.
46379
46380 2005-09-15  Derek Price  <derek@ximbiot.com>
46381             Paul Eggert  <eggert@cs.ucla.edu>
46382
46383         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
46384         changes, consolidating in...
46385         * lib/regex_internal.h: ...this file.
46386
46387 2005-09-13  Jim Meyering  <jim@meyering.net>
46388
46389         * lib/canon-host.c: Filter through gnu indent and reword comments
46390         slightly.
46391         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
46392
46393 2005-09-13  Derek Price  <derek@ximbiot.com>
46394
46395         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
46396         failure.
46397         Reported by Jim Meyering  <jim@meyering.net>.
46398
46399 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
46400
46401         * lib/base64.c: Typo.
46402         (base64_encode): Put b64str in initialized data section.
46403
46404 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
46405
46406         Merge glibc and coreutils changes into gnulib, plus a few
46407         extra fixes.
46408         * lib/md5.c: Use #error rather than a string.
46409         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
46410         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
46411         (__attribute__): Define to empty for non recent-GCC.
46412         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
46413         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
46414         Renamed from their non-__ counterparts, with new macros replacing
46415         them if not _LIBC.  Add __THROW attribute.
46416         (rol): Remove.
46417         (struct md5_ctx): Align buffer if using GCC.
46418         * lib/sha1.h (struct sha1_ctx): Likewise.
46419         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
46420         The old name was backwards.
46421         (NOTSWAP): Remove; not used.
46422         (rol): New macro, moved here from md5.h.
46423         (sha1_process_block): Remove a FIXME that doesn't make sense.
46424
46425 2005-09-12  Derek Price  <derek@ximbiot.com>
46426
46427         Return usable errors from canon-host.
46428         * lib/canon-host.h: New file.
46429         * lib/canon-host.c (canon_host): Wrap...
46430         (canon_host_r): ...this new function, which now relies exclusively on
46431         getaddrinfo.
46432         (ch_strerror): New function.
46433         (last_cherror): New global.
46434         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
46435         interface.
46436         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
46437         void *.
46438         (freeaddrinfo): Free ai->ai_canonname when set.
46439
46440 2005-09-12  Derek Price  <derek@ximbiot.com>
46441
46442         Make canon-host require getaddrinfo.
46443         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
46444         AC_LIBSOURCE canon-host.h.  Call...
46445         (gl_PREREQ_CANON_HOST): ...this new function, which requires
46446         gl_GETADDRINFO.
46447         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
46448
46449 2005-09-12  Derek Price  <derek@ximbiot.com>
46450
46451         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
46452         LGPL.
46453         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
46454
46455 2005-09-12  Derek Price  <derek@ximbiot.com>
46456
46457         * lib/gai_strerror.c: Include config.h when available.  Include
46458         getaddrinfo.h before other headers to test interface.
46459         Reported by Larry Jones <lawrence.jones@ugs.com>.
46460
46461 2005-09-12  Derek Price  <derek@ximbiot.com>
46462             Paul Eggert  <eggert@cs.ucla.edu>
46463
46464         * modules/glob (Files): Add glob-libc.h.
46465
46466 2005-09-12  Derek Price  <derek@ximbiot.com>
46467             Paul Eggert  <eggert@cs.ucla.edu>
46468
46469         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
46470         glob_.h, glob-libc.h.
46471         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
46472
46473 2005-09-12  Derek Price  <derek@ximbiot.com>
46474             Paul Eggert  <eggert@cs.ucla.edu>
46475
46476         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
46477         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
46478         protecting things that should be done only in gnulib contexts.
46479         * lib/glob_.h: New file, containing only the glob things needed for
46480         gnulib.
46481         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
46482         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
46483         (glob, globfree, glob_pattern_p): Now defined simply in terms of
46484         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
46485         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
46486         and to respect the namespace rules better.
46487
46488 2005-09-08  Simon Josefsson  <jas@extundo.com>
46489
46490         * modules/socklen: New file.
46491
46492 2005-09-08  Simon Josefsson  <jas@extundo.com>
46493
46494         * m4/socklen.m4: New file.
46495
46496 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
46497
46498         * modules/utimens (Files): Add m4/utimbuf.m4, since
46499         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
46500         Reported by Sergey Poznyakoff.
46501
46502 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
46503
46504         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
46505         definitions, since that's the preferred style in glibc.
46506         Fix a minor spacing issue, and update copyright notice to match
46507         glibc's.
46508
46509 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
46510
46511         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
46512
46513 2005-09-06  Simon Josefsson  <jas@extundo.com>
46514
46515         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
46516         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
46517
46518 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
46519
46520         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
46521         warning.
46522
46523 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
46524
46525         * config/srclist.txt: Add glibc bug 1302.
46526
46527 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
46528
46529         Change bitset word type from unsigned int to unsigned long int,
46530         as this has better performance on typical 64-bit hosts.
46531         Port bitset code to hosts with unusual word sizes.
46532         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
46533         (build_collating_symbol):
46534         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
46535         argument is a bitset.  This is merely a style issue, but it makes
46536         it clearer that an entire array is expected.
46537         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
46538         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
46539         Port to the case where bitset_word is not the same as unsigned int.
46540         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
46541         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
46542         Likewise.
46543         * lib/regexec.c (check_dst_limits_calc_pos_1,
46544         check_subexp_matching_top):
46545         (build_trtable, group_nodes_into_DFAstates):
46546         Likewise.
46547         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
46548         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
46549         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
46550         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
46551         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
46552         * lib/regcomp.c (optimize_subexps, lower_subexp):
46553         Work even if bitset_word has holes in its bitwise representation.
46554         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
46555         * lib/regexec.c (check_dst_limits_calc_pos_1,
46556         check_subexp_matching_top):
46557         Likewise.
46558         * lib/regex_internal.c (re_string_reconstruct):
46559         Don't assume UCHAR_MAX == 255.
46560         * lib/regex_internal.h (bitset_set_all): Likewise.
46561         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
46562         All uses changed.
46563         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
46564         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
46565         All uses changed.
46566         (BITSET_WORD_MAX): New macro.
46567         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
46568         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
46569         (bitset_empty, bitset_copy):
46570         Prefer sizeof (bitset) to multiplying it out ourselves.
46571         (bitset_not_merge): Remove; unused.
46572         (bitset_contain): Return bool, not unsigned int with one bit on.
46573         All callers changed.
46574         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
46575         alignment than re_node_set; do this by defining a new internal
46576         type struct dests_alloc and using it to allocate memory.
46577
46578 2005-09-05  Bruno Haible  <bruno@clisp.org>
46579
46580         * gnulib-tool (func_import): Fix comparison in handling of symbolic
46581         links.
46582
46583 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
46584
46585         * modules/size_max (Makefile.am): Add size_max.h
46586
46587 2005-09-04  Derek Price  <derek@ximbiot.com>
46588
46589         * gnulib-tool (func_import): Fix reversed $symbolic logic.
46590
46591 2005-09-03  Simon Josefsson  <jas@extundo.com>
46592
46593         * gnulib-tool: Fix typo.
46594
46595 2005-09-03  Simon Josefsson  <jas@extundo.com>
46596
46597         * config/srclist.txt: Add glibc bug 1293.
46598
46599 2005-09-03  Derek Price  <derek@ximbiot.com>
46600
46601         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
46602         From Larry Jones <lawrence.jones@ugs.com>.
46603
46604 2005-09-02  Simon Josefsson  <jas@extundo.com>
46605
46606         * modules/socklen: New file.
46607
46608 2005-09-02  Simon Josefsson  <jas@extundo.com>
46609
46610         * modules/havelib: New module.
46611
46612         * modules/gettext, modules/iconv, modules/lock, modules/readline:
46613         Use havelib.
46614
46615 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
46616
46617         Check for arithmetic overflow when calculating sizes, to prevent
46618         some buffer-overflow issues.  These patches are conservative, in the
46619         sense that when I couldn't determine whether an overflow was possible,
46620         I inserted a run-time check.
46621         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
46622         macros.
46623         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
46624         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
46625         (re_xnrealloc, re_x2nrealloc): New inline functions.
46626         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
46627         parse_bracket_exp):
46628         (build_equiv_class, build_charclass): Check for arithmetic overflow
46629         in size expression calculations.
46630         * lib/regex_internal.c (re_string_realloc_buffers):
46631         (build_wcs_upper_buffer, re_node_set_add_intersect):
46632         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
46633         (re_dfa_add_node, register_state): Likewise.
46634         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
46635         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
46636         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
46637         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
46638
46639 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
46640
46641         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
46642         m4/ulonglong.m4.  Problem reported by Martin Lambers.
46643
46644 2005-09-02  Bruno Haible  <bruno@clisp.org>
46645
46646         Support for lib vs. lib64 distinction on biarch platforms.
46647         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
46648         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
46649         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
46650
46651 2005-09-02  Bruno Haible  <bruno@clisp.org>
46652
46653         * gnulib-tool (import): In the other first-use case, provide defaults
46654         as well.
46655
46656 2005-09-02  Bruno Haible  <bruno@clisp.org>
46657
46658         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
46659         patches not yet found in the latest gettext release.
46660
46661 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
46662
46663         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
46664         to avoid a collision with bits/local_lim.h in glibc.
46665         All uses changed.  Problem reported by Dmitry V. Levin in
46666         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
46667
46668         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
46669         bugs in int versus size_t comparisons.
46670         (re_string_context_at): Fix bug where the code assumed that
46671         Idx is signed.
46672
46673         Use bool where appropriate.
46674         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
46675         All callers changed.
46676         (calc_eclosure_iter): Likewise, for ROOT arg.
46677         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
46678         (build_charclass_op): Likewise, for NON_MATCH arg.
46679         * lib/regex_internal.c (re_string_allocate, re_string_construct):
46680         (re_string_construct_common): Likewise, for ICASE arg.
46681         * lib/regexec.c (re_search_2_stub, re_search_stub):
46682         Likewise, for RET_LEN arg.
46683         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
46684         (set_regs): Likewise, for FL_BACKTRACK arg.
46685         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
46686         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
46687         (calc_eclosure_iter, parse_bracket_exp):
46688         Use bool for internal variables that are booleans.
46689         * lib/regexec.c (re_search_internal, check_matching,
46690         proceed_next_node):
46691         (set_regs, build_sifted_states, sift_states_bkref):
46692         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
46693         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
46694         (find_collation_sequence_value):
46695         Likewise.
46696         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
46697         (re_node_set_compare):
46698         Return bool, not int. All callers changed.
46699         * lib/regexec.c (check_halt_node_context, check_dst_limits):
46700         (build_trtable, check_node_accept): Likewise.
46701         * lib/regex_internal.h: Include stdbool.h.
46702
46703         Fix bugs uncovered when converting to bool.
46704         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
46705         failure instead of charging ahead blindly.
46706         * lib/regex_internal.c (register_state): Likewise.
46707         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
46708         for freeing internal storage.
46709         (group_nodes_into_DFA_states): Use unsigned int, not int, for
46710         bitset pieces used as boolean, to avoid undefined behavior
46711         on hosts that do int overflow checking.
46712
46713 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
46714
46715         * config/srclist.txt: Add glibc bugs 1285-1287.
46716
46717 2005-09-01  Jim Meyering  <jim@meyering.net>
46718
46719         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
46720         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
46721         Require gl_STAT_MACROS, too.
46722
46723 2005-09-01  Bruno Haible  <bruno@clisp.org>
46724
46725         * gnulib-tool (import): In the first-use case, provide defaults.
46726
46727 2005-09-01  Bruno Haible  <bruno@clisp.org>
46728
46729         * gnulib-tool (func_import): Remove the .tmp files.
46730
46731 2005-09-01  Bruno Haible  <bruno@clisp.org>
46732
46733         * gnulib-tool (func_import): Fix handling of symbolic links.
46734
46735 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
46736
46737         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
46738         old glibc regex code mishandles strings longer than 2**31 bytes.
46739         This patch fixes this when the regex code is used in gnulib
46740         (i.e., outside glibc).
46741
46742         This patch should not affect the use of the regex code inside
46743         glibc.  No doubt this problem also needs to be handled for glibc
46744         as well, but the result will be an incompatible change to the
46745         glibc ABI, and the old ABI will have to be supported too.  That
46746         can be the the subject for another patch.
46747
46748         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
46749         governing whether the rest of this patch is active.  By default,
46750         the macro is disabled and the patch has no effect.
46751         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
46752         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
46753         (struct re_pattern_buffer, re_search, re_search_2, re_match):
46754         (re_match_2, re_set_registers): Use the new types.
46755         * lib/regex_internal.h (Idx, re_hashval_t): New types.
46756         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
46757         New macros.
46758         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
46759         (re_string_context_at, bin_tree_t, re_dfastate_t):
46760         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
46761         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
46762         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
46763         (re_string_char_size_at, re_string_wchar_at):
46764         (re_string_elem_size_at):
46765         Use the new types and macros to port to 64-bit hosts.
46766         Use unsigned types for internal values, so that the code
46767         mostly works even for arrays larger than SSIZE_MAX.
46768         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
46769         (search_duplicated_node, calc_eclosure_iter, fetch_number):
46770         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
46771         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
46772         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
46773         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
46774         (calc_inveclosure, parse_dup_op, build_range_exp):
46775         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
46776         (fetch_number, create_token_tree, mark_opt_subexp):
46777         Likewise.
46778         * lib/regex_internal.c (re_string_construct_common,
46779         create_ci_newstate):
46780         (create_cd_newstate, re_string_allocate, re_string_construct):
46781         (re_string_realloc_buffers, build_wcs_upper_buffer):
46782         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
46783         (re_string_reconstruct, re_string_peek_byte_case):
46784         (re_string_fetch_byte_case, re_string_context_at):
46785         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
46786         (re_node_set_init_copy, re_node_set_add_intersect):
46787         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
46788         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
46789         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
46790         (re_acquire_state, re_acquire_state_context, register_state):
46791         Likewise.
46792         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
46793         search_cur_bkref_entry):
46794         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
46795         (re_search_internal, re_search_2_stub, re_search_stub)
46796         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
46797         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
46798         (update_cur_sifted_state, check_dst_limits):
46799         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
46800         (check_subexp_limits, sift_states_bkref, merge_state_array):
46801         (check_subexp_matching_top, get_subexp, get_subexp_sub):
46802         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
46803         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
46804         (expand_bkref_cache, check_node_accept_bytes):
46805         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
46806         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
46807         (acquire_init_state_context, check_halt_node_context):
46808         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
46809         (sift_states_backward, clean_state_log_if_needed):
46810         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
46811         (find_recover_state, transit_state_sb, transit_state_mb):
46812         (transit_state_bkref, build_trtable, match_ctx_clean):
46813         Likewise.
46814         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
46815         to work around an assumption that REG_MISSING is negative.
46816
46817         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
46818         (seek_collating_symbol_entry) [defined _LIBC]:
46819         (lookup_collation_sequence_value) [defined _LIBC]:
46820         (build_range_exp, build_collating_symbol) [defined _LIBC]:
46821         Use prototypes rather than old-style function definitions.
46822         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
46823         (transit_state_sb) [0]:
46824         (find_collation_sequence_value) [defined _LIBC]: Likewise.
46825
46826         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
46827         rm_eo.
46828
46829         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
46830         (optimize_subexps, lower_subexp):
46831         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
46832         since the signed shift might overflow.  Use 1u<<31 instead.
46833         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
46834         Likewise.
46835         * lib/regexec.c (check_dst_limits_calc_pos_1,
46836         check_subexp_matching_top): Likewise.
46837
46838         * lib/regcomp.c (optimize_subexps, lower_subexp):
46839         Use CHAR_BIT rather than 8, for clarity.
46840         * lib/regexec.c (check_dst_limits_calc_pos_1):
46841         (check_subexp_matching_top): Likewise.
46842         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
46843         have to worry about portability issues when shifting it left.
46844         Remove no-longer-needed test for table_size > 0.
46845         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
46846         in a word, as the resulting behavior is undefined.
46847         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
46848         in one case, a <= should have been an <, and in another case the
46849         whole test was missing.
46850         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
46851         the standard name CHAR_BIT.
46852         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
46853         this is not true on one's complement and signed-magnitude hosts.
46854
46855         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
46856         next_last_offset.
46857         (struct re_dfa_t): Remove unused member states_alloc.
46858         * lib/regcomp.c (init_dfa): Don't initialize unused members.
46859
46860 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
46861
46862         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
46863         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
46864         and large-file glibc and in 32-bit large-file Solaris.
46865
46866 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
46867
46868         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
46869         lengths fit in regoff_t; this isn't true if regoff_t is the same
46870         width as size_t.
46871         * lib/regex.c (re_search_internal): 5th arg is LAST_START
46872         (= START + RANGE) instead of RANGE.  This avoids overflow
46873         problems when regoff_t is the same width as size_t.
46874         All callers changed.
46875         (re_search_2_stub): Check for overflow when adding the
46876         sizes of the two strings.
46877         (re_search_stub): Check for overflow when adding START
46878         to RANGE; if it occurs, substitute the extreme value.
46879
46880 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
46881
46882         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
46883
46884 2005-08-31  Jim Meyering  <jim@meyering.net>
46885
46886         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
46887         a pointer-to-const.
46888         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
46889         (register_state): Likewise.
46890         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
46891         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
46892         (group_nodes_into_DFAstates): Likewise.
46893
46894 2005-08-31  Jim Meyering  <jim@meyering.net>
46895
46896         * check-module: Add a FIXME comment.
46897
46898 2005-08-31  Eric Blake  <ebb9@byu.net>
46899
46900         * modules/unistd-safer (Files): Add unistd--.h.
46901         * modules/stdio-safer (Files): Add stdio--.h.
46902
46903 2005-08-31  Derek Price  <derek@ximbiot.com>
46904
46905         * lib/getdelim.c (getdelim): Return EOF on EOF.
46906         Reported by Larry Jones <lawrence.jones@ugs.com>.
46907
46908 2005-08-31  Bruno Haible  <bruno@clisp.org>
46909
46910         Avoid unnecessary diffs in the generated lib/Makefile.am.
46911         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
46912         the generated files.
46913         (func_import): Don't set cmd.
46914
46915 2005-08-31  Bruno Haible  <bruno@clisp.org>
46916
46917         * lib/strstr.c: Include <stddef.h>, for NULL.
46918         * lib/strcasestr.c: Likewise.
46919         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
46920
46921 2005-08-31  Bruno Haible  <bruno@clisp.org>
46922
46923         * gnulib-tool: New option --macro-prefix.
46924         (func_import): Use macro_prefix.
46925         (import): Handle option --macro-prefix.
46926
46927 2005-08-31  Bruno Haible  <bruno@clisp.org>
46928
46929         * gnulib-tool (import): Rename most ac_* variables to cached_*.
46930         Also use new variables cached_lgpl, cached_libtool.
46931
46932 2005-08-31  Bruno Haible  <bruno@clisp.org>
46933
46934         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
46935         always instantiating them.
46936
46937 2005-08-31  Bruno Haible  <bruno@clisp.org>
46938
46939         * gnulib-tool (func_import): Read the previous cached settings
46940         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
46941         earlier added by gnulib but are now dropped. Warn when a gnulib file
46942         overwrites a non-gnulib file.
46943
46944 2005-08-31  Bruno Haible  <bruno@clisp.org>
46945
46946         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
46947         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
46948         projects that don't keep autogenerated files in CVS. Put into
46949         actioncmd only the specified modules, not the transitive closure.
46950
46951 2005-08-31  Bruno Haible  <bruno@clisp.org>
46952
46953         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
46954         Create directories that shall be filled.
46955         (import): Don't look for gl_* macros in configure.ac. Recurse across
46956         all directories containing a gnulib-cache.m4 files, if meaningful.
46957
46958 2005-08-31  Bruno Haible  <bruno@clisp.org>
46959
46960         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
46961         (import): Set seen_libtool when we see gl_LIBTOOL.
46962
46963 2005-08-31  Bruno Haible  <bruno@clisp.org>
46964
46965         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
46966         declaration macro definitions from generated gnulib.m4.
46967
46968 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
46969
46970         * lib/iconvme.h: Add prototype for iconv_alloc.
46971
46972 2005-08-29  Simon Josefsson  <jas@extundo.com>
46973
46974         * lib/iconvme.c: Fix errno.
46975
46976 2005-08-29  Bruno Haible  <bruno@clisp.org>
46977
46978         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
46979         that it works when the directory contains spaces.
46980
46981 2005-08-29  Bruno Haible  <bruno@clisp.org>
46982
46983         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
46984
46985 2005-08-29  Bruno Haible  <bruno@clisp.org>
46986
46987         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
46988         Emit more advice.
46989
46990 2005-08-29  Bruno Haible  <bruno@clisp.org>
46991         and Stepan Kasal  <kasal@ucw.cz>
46992
46993         * check-module: If more parameters are given, check each of them
46994         separately; add more exceptions, as noted by Jim Meyering.
46995         (check_module): New procedure.
46996         (%exempt_header): Now contains all exceptions.
46997
46998 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
46999
47000         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
47001
47002 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
47003
47004         * lib/iconvme.c: Split iconv_string into iconv_alloc.
47005
47006 2005-08-28  Bruno Haible  <bruno@clisp.org>
47007
47008         * m4/gnulib-tool.m4: New file.
47009
47010 2005-08-27  Jim Meyering  <jim@meyering.net>
47011
47012         * modules/unistd-safer (Files): Add pipe-safer.c.
47013         * modules/fcntl-safer (Files): Add creat-safer.c.
47014
47015 2005-08-27  Jim Meyering  <jim@meyering.net>
47016
47017         * m4/stdlib-safer.m4: New file.  From coreutils.
47018         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
47019         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
47020         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
47021         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
47022         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
47023
47024 2005-08-27  Jim Meyering  <jim@meyering.net>
47025
47026         * lib/fopen-safer.c: Merge minor changes from coreutils.
47027         * lib/dup-safer.c: Likewise.
47028         * lib/fd-safer.c: Likewise.
47029
47030         Merge from coreutils.
47031         * lib/stdio--.h: New file.
47032         * lib/stdlib--.h: New file.
47033         * lib/mkstemp-safer.c: New file.
47034
47035         GNU tar needs these.
47036         * lib/pipe-safer.c: New file.
47037         * lib/creat-safer.c: New file.
47038         * lib/fcntl--.h (creat): Define to creat_safer.
47039         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
47040         * lib/unistd--.h (pipe): Define to pipe_safer.
47041         * lib/unistd-safer.h: Declare pipe_safer.
47042
47043 2005-08-26  Simon Josefsson  <jas@extundo.com>
47044
47045         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
47046         Haible <bruno@clisp.org>.
47047
47048 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
47049
47050         * lib/regex_internal.h: Remove all references to
47051         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
47052         or better.
47053         (bitset_not, bitset_merge, bitset_not_merge):
47054         (bitset_mask, re_string_allocate, re_string_construct):
47055         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
47056         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
47057         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
47058         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
47059         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
47060         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
47061         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
47062         (re_acquire_state_context):
47063         Remove unnecessary forward decls.
47064         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
47065         Put __attribute at function definition,
47066         now that the function decl has been removed.
47067         * lib/regex_internal.c (re_string_peek_byte_case):
47068         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
47069         Likewise.
47070
47071 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
47072
47073         * m4/regex.m4: Add AC_PREREQ(2.50).
47074         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
47075
47076 2005-08-25  Simon Josefsson  <jas@extundo.com>
47077
47078         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
47079         __fsetlocking.
47080
47081 2005-08-25  Simon Josefsson  <jas@extundo.com>
47082
47083         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
47084         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
47085         GLIBC specific code.
47086
47087 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
47088
47089         Make regex safe for g++.  This fixes one real bug (an "err"
47090         that should have been "*err").  g++ problem reported by
47091         Sam Steingold.
47092         * lib/regex_internal.h (re_calloc): New macro, consistent with
47093         re_malloc etc.  All callers of calloc changed to use re_calloc.
47094         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
47095         not int.  All callers changed.
47096         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
47097         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
47098         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
47099         (find_recover_state): Change "err" to "*err"; this fixes what
47100         appears to be a real bug.
47101         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
47102         versus int.
47103
47104 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
47105
47106         * modules/regex (Depends-on): Add malloc, since the code
47107         assumes that !malloc(0) means failure.
47108
47109 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
47110
47111         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
47112
47113         alloca modernization/simplification for regex.
47114         * lib/regex.c: Remove portability cruft for alloca.  This no longer
47115         needs to be at the start of the file, and can be moved into
47116         regex_internal.h and simplified.
47117         * lib/regex_internal.h: Include <alloca.h>.
47118         (__libc_use_alloca) [!defined _LIBC]: New macro.
47119         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
47120         now works outside glibc.
47121
47122 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
47123
47124         * config/srclist.txt: Add glibc bugs 1241, 1245.
47125
47126 2005-08-25  Jim Meyering  <jim@meyering.net>
47127
47128         * lib/open-safer.c: Include <config.h>.
47129         Otherwise, we'd lose LARGEFILE support in any file using
47130         e.g. "fcntl--.h"
47131
47132 2005-08-25  Bruno Haible  <bruno@clisp.org>
47133
47134         * m4/minmax.m4: Require autoconf 2.52.
47135         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
47136         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
47137         alternatives of translit over the alphabet.
47138         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
47139
47140 2005-08-24  Simon Josefsson  <jas@extundo.com>
47141
47142         * tests/test-getpass.c: New file.
47143
47144 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
47145
47146         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
47147         for GNU regex features.
47148
47149 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
47150
47151         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
47152         * lib/regex.h (regerror): Likewise.
47153
47154         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
47155         requires this.  (The code never needed it.)
47156
47157         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
47158         All uses of recently-renamed identifiers changed to use the new,
47159         POSIX-compliant names.  The code will build and run just fine
47160         without these changes, but it's better to eat our own dog food
47161         and use the standard-conforming names.
47162
47163         * lib/regex.h: Fix a multitude of POSIX name space violations.
47164         These changes have an effect only for programs that define
47165         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
47166         do not change anything for programs compiled in the normal way.
47167         Also, there is no effect on the ABI.
47168
47169         (_REGEX_SOURCE): New macro.
47170         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
47171         defined and _GNU_SOURCE is not; this fixes a name space violation.
47172
47173         Rename the following macros to obey POSIX requirements.
47174         The old names are still visible as macros if _REGEX_SOURCE is defined.
47175         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
47176         RE_BACKSLASH_ESCAPE_IN_LISTS.
47177         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
47178         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
47179         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
47180         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
47181         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
47182         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
47183         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
47184         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
47185         (REG_INTERVALS): renamed from RE_INTERVALS.
47186         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
47187         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
47188         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
47189         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
47190         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
47191         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
47192         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
47193         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
47194         RE_UNMATCHED_RIGHT_PAREN_ORD.
47195         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
47196         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
47197         (REG_DEBUG): renamed from RE_DEBUG.
47198         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
47199         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
47200         unusual, since we can't clash with the POSIX REG_ICASE.
47201         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
47202         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
47203         (REG_NO_SUB): renamed from RE_NO_SUB.
47204         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
47205         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
47206         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
47207         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
47208         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
47209         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
47210         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
47211         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
47212         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
47213         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
47214         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
47215         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
47216         RE_SYNTAX_POSIX_MINIMAL_BASIC.
47217         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
47218         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
47219         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
47220         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
47221         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
47222         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
47223         (REG_FIXED): Renamed from REGS_FIXED.
47224         (REG_NREGS): Renamed from RE_NREGS.
47225
47226         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
47227         of other REG_* macros, since POSIX says the user is allowed to
47228         #undef these macros selectively.
47229
47230         (reg_errcode_t): Update comment stating what other tables need
47231         to be consistent.
47232
47233         Rename the following enum values to obey POSIX requirements.
47234         The old names are still visible as macros.
47235         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
47236         is not defined, since GNU is supposed to be a superset of POSIX as
47237         much as possible, and since we want reg_errcode_t to be a signed
47238         type for implementation consistency.
47239         (_REG_NOERROR): Renamed from REG_NOERROR.
47240         (_REG_NOMATCH): Renamed from REG_NOMATCH.
47241         (_REG_BADPAT): Renamed from REG_BADPAT.
47242         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
47243         (_REG_ECTYPE): Renamed from REG_ECTYPE.
47244         (_REG_EESCAPE): Renamed from REG_EESCAPE.
47245         (_REG_ESUBREG): Renamed from REG_ESUBREG.
47246         (_REG_EBRACK): Renamed from REG_EBRACK.
47247         (_REG_EPAREN): Renamed from REG_EPAREN.
47248         (_REG_EBRACE): Renamed from REG_EBRACE.
47249         (_REG_BADBR): Renamed from REG_BADBR.
47250         (_REG_ERANGE): Renamed from REG_ERANGE.
47251         (_REG_ESPACE): Renamed from REG_ESPACE.
47252         (_REG_BADRPT): Renamed from REG_BADRPT.
47253         (_REG_EEND): Renamed from REG_EEND.
47254         (_REG_ESIZE): Renamed from REG_ESIZE.
47255         (_REG_ERPAREN): Renamed from REG_ERPAREN.
47256         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
47257         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
47258         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
47259         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
47260
47261         (_REG_RE_NAME, _REG_RM_NAME): New macros.
47262         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
47263         changed.  But support the old name if the new one is not defined
47264         and if _REGEX_SOURCE.
47265
47266         Change the following member names in struct re_pattern_buffer.
47267         The old names are still supported if !_REGEX_SOURCE.
47268         The new names are always supported, regardless of _REGEX_SOURCE.
47269         (re_buffer): Renamed from buffer.
47270         (re_allocated): Renamed from allocated.
47271         (re_used): Renamed from used.
47272         (re_syntax): Renamed from syntax.
47273         (re_fastmap): Renamed from fastmap.
47274         (re_translate): Renamed from translate.
47275         (re_can_be_null): Renamed from can_be_null.
47276         (re_regs_allocated): Renamed from regs_allocated.
47277         (re_fastmap_accurate): Renamed from fastmap_accurate.
47278         (re_no_sub): Renamed from no_sub.
47279         (re_not_bol): Renamed from not_bol.
47280         (re_not_eol): Renamed from not_eol.
47281         (re_newline_anchor): Renamed from newline_anchor.
47282
47283         Change the following member names in struct re_registers.
47284         The old names are still supported if !_REGEX_SOURCE.
47285         The new names are always supported, regardless of _REGEX_SOURCE.
47286         (rm_num_regs): Renamed from num_regs.
47287         (rm_start): Renamed from start.
47288         (rm_end): Renamed from end.
47289
47290         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
47291         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
47292         Prepend __ to parameter names.
47293
47294         Undo yesterday's changes.
47295
47296 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
47297
47298         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
47299         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
47300         lib/regex.c.
47301
47302 2005-08-24  Jim Meyering  <jim@meyering.net>
47303
47304         Sync from coreutils.
47305         * m4/fcntl-safer.m4: New file.
47306
47307         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
47308         and object files for this module.
47309
47310 2005-08-24  Jim Meyering  <jim@meyering.net>
47311
47312         Sync from coreutils.
47313         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
47314
47315 2005-08-24  Jim Meyering  <jim@meyering.net>
47316
47317         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
47318         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
47319
47320 2005-08-24  Jim Meyering  <jim@meyering.net>
47321
47322         * modules/fcntl-safer: New module.
47323         * modules/fts (Depends-on): Add fcntl-safer.
47324         * MODULES.html.sh (File descriptor based Input/Output):
47325         Add fcntl-safer.
47326
47327 2005-08-24  Bruno Haible  <bruno@clisp.org>
47328
47329         Support for unit test modules.
47330         * modules/README: Mention tests modules.
47331         * modules/TEMPLATE-TESTS: New file.
47332         * gnulib-tool: New options --extract-tests-module, --with-tests and
47333         --tests-base (unused for the moment).
47334         (testsbase, inctests): New variables.
47335         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
47336         (func_verify_module): Exclude TEMPLATE-TESTS.
47337         (func_verify_nontests_module, func_verify_tests_module): New functions.
47338         (func_get_dependencies): Add implicit dependency for tests modules.
47339         (func_get_tests_module): New function.
47340         (func_modules_transitive_closure): When --with-tests was specified,
47341         include the unit tests as well, unless explicitly avoided.
47342         (func_emit_lib_Makefile_am): Ignore the tests modules here.
47343         (func_emit_tests_Makefile_am): New function.
47344         (func_create_testdir): When --with-tests was specified, emit a
47345         tests/ directory.
47346         * MODULES.html.sh (Future developments): Update.
47347
47348 2005-08-24  Bruno Haible  <bruno@clisp.org>
47349
47350         * modules/tls-tests: New file.
47351         * tests/test-tls.c: New file, from GNU gettext.
47352
47353 2005-08-24  Bruno Haible  <bruno@clisp.org>
47354
47355         * modules/lock-tests: New file.
47356         * tests/test-lock.c: New file, from GNU gettext.
47357
47358 2005-08-24  Bruno Haible  <bruno@clisp.org>
47359
47360         * lib/lock.h: Add multiple inclusion guard.
47361         * lib/tls.h: Add multiple inclusion guard.
47362
47363 2005-08-24  Bruno Haible  <bruno@clisp.org>
47364
47365         * gnulib-tool: Add support for the --aux-dir option to
47366         --create-testdir, --create-megatestdir, --test, --megatest.
47367         (func_create_testdir, func_create_megatestdir): Optionally emit a
47368         AC_CONFIG_AUX_DIR directive.
47369         (create-testdir, create-megatestdir, test, megatest): Provide a
47370         default value for $auxdir.
47371
47372 2005-08-24  Bruno Haible  <bruno@clisp.org>
47373
47374         * gnulib-tool (import): Use compound statement instead of subshell
47375         where possible.
47376
47377 2005-08-24  Bruno Haible  <bruno@clisp.org>
47378
47379         * gnulib-tool (import): Change --aux-dir default to "build-aux".
47380
47381 2005-08-24  Bruno Haible  <bruno@clisp.org>
47382
47383         * gnulib-tool (func_version): Update.
47384
47385 2005-08-24  Bruno Haible  <bruno@clisp.org>
47386
47387         * gnulib-tool (func_import, func_create_testdir,
47388         func_create_megatestdir): Quote all autoconf macro arguments.
47389
47390 2005-08-24  Bruno Haible  <bruno@clisp.org>
47391
47392         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
47393         option --force, because --force causes the aclocal.m4 of each
47394         subdirectory to be newer than the corresponding config.h.in.
47395
47396 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
47397
47398         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
47399         All contents moved to gl_REGEX.
47400         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
47401         assume that it does.
47402
47403 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
47404
47405         * lib/regex.h (REG_NOSYS)
47406         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
47407         Define, since POSIX requires it as of 2001.
47408         (_REG_ENOSYS)
47409         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
47410         New private symbol, used to keep the enum signed in all cases.
47411         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
47412         Youngman in
47413         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
47414
47415         * lib/regex_internal.c (re_string_skip_chars, register_state):
47416         (calc_state_hash):
47417         Remove forward decls; no longer needed now that we use prototypes.
47418         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
47419         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
47420         (clean_state_log_if_needed): Likewise.
47421
47422 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
47423
47424         * config/srclist.txt: Add glibc bugs 1231-1233.
47425
47426 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
47427
47428         Fix problems reported by Sam Steingold in
47429         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
47430         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
47431         assumed that reg_errcode_t is a signed type, which is not
47432         necessarily true if _XOPEN_SOURCE is not defined.
47433         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
47434         since some compilers warn about it otherwise.
47435
47436 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
47437
47438         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
47439         (init_word_char, create_initial_state, duplicate_node_closure):
47440         (fetch_token, peek_token_bracket, build_range_exp):
47441         (build_collating_symbol): Remove forward decls; no longer needed
47442         now that we use prototypes.
47443
47444         * lib/regcomp.c:
47445         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
47446         (re_compile_fastmap_iter, regcomp, regerror, regfree):
47447         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
47448         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
47449         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
47450         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
47451         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
47452         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
47453         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
47454         (build_range_exp, build_collating_symbol, parse_bracket_exp):
47455         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
47456         (build_charclass, build_charclass_op, fetch_number, create_tree):
47457         (create_token_tree, mark_opt_subexp, duplicate_tree):
47458         Use prototypes rather than old-style definitions.
47459
47460         * lib/regex_internal.c:
47461         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
47462         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
47463         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
47464         (re_string_reconstruct, re_string_peek_byte_case):
47465         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
47466         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
47467         (re_node_set_init_copy, re_node_set_add_intersect):
47468         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
47469         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
47470         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
47471         (re_acquire_state, re_acquire_state_context, register_state):
47472         (create_ci_newstate, create_cd_newstate, free_state):
47473         Likewise.
47474         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
47475         re_search_2):
47476         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
47477         (re_search_internal, prune_impossible_nodes):
47478         (acquire_init_state_context, check_matching, static):
47479         (check_halt_node_context, check_halt_state_context, proceed_next_node):
47480         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
47481         (update_regs, sift_states_backward, build_sifted_states):
47482         (clean_state_log_if_needed, merge_state_array):
47483         (update_cur_sifted_state, add_epsilon_src_nodes):
47484         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
47485         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
47486         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
47487         (find_recover_state, check_subexp_matching_top, transit_state_mb):
47488         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
47489         (check_arrival, check_arrival_add_next_nodes):
47490         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
47491         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
47492         (check_node_accept_bytes, check_node_accept, extend_buffers):
47493         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
47494         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
47495         (sift_ctx_init):
47496         Likewise.
47497
47498         * lib/regex_internal.h:
47499         (re_string_allocate, re_string_construct, re_string_reconstruct):
47500         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
47501         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
47502         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
47503         (re_string_context_at, re_string_peek_byte_case):
47504         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
47505         is defined, since we now use prototypes always.
47506
47507         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
47508         C89 or better.  All uses removed.
47509
47510 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
47511
47512         * config/srclist.txt: Add glibc bugs 1220-1227.
47513
47514 2005-08-20  Jim Meyering  <jim@meyering.net>
47515
47516         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
47517         of unused local, dfa.
47518
47519 2005-08-20  Bruno Haible  <bruno@clisp.org>
47520
47521         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
47522
47523 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
47524
47525         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
47526         (re_node_set_insert_last, re_dfa_add_node):
47527         Rename local variables to avoid GCC shadowing warnings.
47528
47529 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
47530
47531         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
47532         [defined lint]: Suppress bogus uninitialized-variable warnings.
47533
47534         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
47535         and let the caller return REG_ESPACE if out of space.  This
47536         removes an uninitialied-variable warning with GCC 4.0.1, and also
47537         avoids taking the address of a local variable.  All callers
47538         changed.
47539
47540 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
47541
47542         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
47543         $LIBCSRC/posix/regexec.c.
47544         Add glibc bug 1217 for regcomp.c.
47545
47546 2005-08-19  Jim Meyering  <jim@meyering.net>
47547
47548         * lib/regexec.c (proceed_next_node): Redo local variables to
47549         avoid GCC shadowing warnings.
47550
47551 2005-08-18  Bruno Haible  <bruno@clisp.org>
47552
47553         * lib/strstr.c (strstr): Fix return value in multibyte case.
47554         * lib/strcasestr.c (strcasestr): Likewise.
47555
47556 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
47557
47558         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
47559
47560 2005-08-17  Jim Meyering  <jim@meyering.net>
47561
47562         Make the %s format (seconds since the epoch) work for a negative
47563         number and when used with a zero-padded field width, e.g. %015s.
47564
47565         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
47566         label so that it precedes the code to set `digits'.  Otherwise,
47567         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
47568         print `00-22'.  Now, it prints `-0022', as it should.
47569
47570 2005-08-17  Bruno Haible  <bruno@clisp.org>
47571
47572         * modules/strstr (Files): Add m4/mbrtowc.m4.
47573         (Depends-on): Add mbuiter.
47574
47575 2005-08-17  Bruno Haible  <bruno@clisp.org>
47576
47577         * modules/strcasestr: New file.
47578         * MODULES.html.sh (String handling, based on ANSI C 89): Add
47579         strcasestr.
47580
47581 2005-08-17  Bruno Haible  <bruno@clisp.org>
47582
47583         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
47584
47585 2005-08-17  Bruno Haible  <bruno@clisp.org>
47586
47587         * modules/mbuiter: New file.
47588         * MODULES.html.sh (Extended multibyte and wide character utilities):
47589         Add mbuiter.
47590
47591 2005-08-17  Bruno Haible  <bruno@clisp.org>
47592
47593         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
47594         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
47595
47596 2005-08-17  Bruno Haible  <bruno@clisp.org>
47597
47598         * m4/strcasestr.m4: New file.
47599
47600 2005-08-17  Bruno Haible  <bruno@clisp.org>
47601
47602         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
47603         * lib/strstr.c: Completely rewritten, with multibyte locale support.
47604
47605 2005-08-17  Bruno Haible  <bruno@clisp.org>
47606
47607         * lib/strcasestr.h: New file.
47608         * lib/strcasestr.c: New file.
47609
47610 2005-08-17  Bruno Haible  <bruno@clisp.org>
47611
47612         * lib/strcasecmp.c: Use mbuiter.h.
47613
47614 2005-08-17  Bruno Haible  <bruno@clisp.org>
47615
47616         * lib/mbuiter.h: New file.
47617
47618 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
47619
47620         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
47621         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
47622         and gl_GETOPT are both invoked via different paths (as happens
47623         with GNU tar CVS because it uses both argp and getopt), the former
47624         wins.
47625
47626 2005-08-16  Bruno Haible  <bruno@clisp.org>
47627
47628         * modules/tls: New file.
47629         * MODULES.html.sh (Multithreading): Add tls.
47630
47631 2005-08-16  Bruno Haible  <bruno@clisp.org>
47632
47633         * modules/strnlen1: New file.
47634         * MODULES.html.sh (String handling): Add strnlen1.
47635
47636 2005-08-16  Bruno Haible  <bruno@clisp.org>
47637
47638         * modules/strcase (Files): Add m4/mbrtowc.m4.
47639         (Depends-on): Add strnlen1, mbchar.
47640
47641 2005-08-16  Bruno Haible  <bruno@clisp.org>
47642
47643         * modules/mbiter: New file.
47644         * MODULES.html.sh (Extended multibyte and wide character utilities):
47645         Add mbiter.
47646
47647 2005-08-16  Bruno Haible  <bruno@clisp.org>
47648
47649         * modules/mbfile: New file.
47650         * MODULES.html.sh (Extended multibyte and wide character utilities):
47651         Add mbfile.
47652
47653 2005-08-16  Bruno Haible  <bruno@clisp.org>
47654
47655         * modules/mbchar: New file.
47656         * MODULES.html.sh (Extended multibyte and wide character utilities):
47657         New section.
47658
47659 2005-08-16  Bruno Haible  <bruno@clisp.org>
47660
47661         * m4/tls.m4: New file, from GNU gettext.
47662
47663 2005-08-16  Bruno Haible  <bruno@clisp.org>
47664
47665         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
47666         always.
47667         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
47668
47669 2005-08-16  Bruno Haible  <bruno@clisp.org>
47670
47671         * m4/mbiter.m4: New file.
47672
47673 2005-08-16  Bruno Haible  <bruno@clisp.org>
47674
47675         * m4/mbfile.m4: New file.
47676
47677 2005-08-16  Bruno Haible  <bruno@clisp.org>
47678
47679         * m4/mbchar.m4: New file.
47680
47681 2005-08-16  Bruno Haible  <bruno@clisp.org>
47682
47683         * lib/tls.h: New file, from GNU gettext.
47684         * lib/tls.c: New file, from GNU gettext.
47685
47686 2005-08-16  Bruno Haible  <bruno@clisp.org>
47687
47688         * lib/strnlen1.h: New file.
47689         * lib/strnlen1.c: New file.
47690
47691 2005-08-16  Bruno Haible  <bruno@clisp.org>
47692
47693         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
47694         (mbi_init): Update.
47695         (mbi_avail, mbi_advance): Let the iteration end before the terminating
47696         NUL byte, not after it.
47697
47698 2005-08-16  Bruno Haible  <bruno@clisp.org>
47699
47700         * lib/strcase.h (strcasecmp): Add note in comments.
47701         * lib/strncasecmp.c: Use code from strcasecmp.c.
47702         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
47703         (strcasecmp): Work correctly in multibyte locales.
47704
47705 2005-08-16  Bruno Haible  <bruno@clisp.org>
47706
47707         * lib/mbiter.h: New file.
47708
47709 2005-08-16  Bruno Haible  <bruno@clisp.org>
47710
47711         * lib/mbfile.h: New file.
47712
47713 2005-08-16  Bruno Haible  <bruno@clisp.org>
47714
47715         * lib/mbchar.h: New file.
47716         * lib/mbchar.c: New file.
47717
47718 2005-08-16  Bruno Haible  <bruno@clisp.org>
47719
47720         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
47721         the valid ones. Makes the comparison operations transitive:
47722         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
47723         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
47724
47725 2005-08-15  Simon Josefsson  <jas@extundo.com>
47726
47727         * modules/ssize_t (License): Change to 'unlimited'.
47728
47729         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
47730
47731 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
47732
47733         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
47734         Add comments for each pending glibc patch.
47735
47736 2005-08-15  Bruno Haible  <bruno@clisp.org>
47737
47738         * lib/regex.h (__restrict_arr): Don't define to __restrict if
47739         __cplusplus is defined.
47740
47741 2005-08-14  Jim Meyering  <jim@meyering.net>
47742
47743         Sync from coreutils.
47744
47745         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
47746         Use the hash-table-based cycle-detection code not just when
47747         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
47748         Reported by James Youngman in
47749         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
47750         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
47751         FTS_TIGHT_CYCLE_CHECK.
47752         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
47753         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
47754         once again.
47755         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
47756         * lib/fts.c (fd_safer): Remove decl.
47757         Include fcntl--.h rather than unistd-safer.h
47758         (fts_safe_changedir): Don't call fd_safer; no longer needed
47759         now that we include fcntl--.h.
47760
47761 2005-08-12  Simon Josefsson  <jas@extundo.com>
47762
47763         * modules/getndelim2: Use ssize_t module.
47764         * modules/getnline: Likewise.
47765         * modules/safe-read: Likewise.
47766         * modules/xreadlink: Likewise.
47767
47768         * modules/ssize_t: New file.
47769
47770 2005-08-12  Simon Josefsson  <jas@extundo.com>
47771
47772         * m4/readline.m4: Look for termcap, curses or ncurses if required.
47773
47774 2005-08-12  Simon Josefsson  <jas@extundo.com>
47775
47776         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
47777         ssize_t.
47778
47779 2005-08-12  Simon Josefsson  <jas@extundo.com>
47780
47781         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
47782         readline, getdelim and check_version.
47783         (Support for systems lacking ISO C 99: Sizes of integer types):
47784         Add size_max.
47785
47786 2005-08-12  Bruno Haible  <bruno@clisp.org>
47787
47788         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
47789
47790 2005-08-11  Simon Josefsson  <jas@extundo.com>
47791
47792         * modules/readline: New file.
47793
47794         * modules/strnlen (Files): Add strnlen.h.
47795
47796 2005-08-11  Simon Josefsson  <jas@extundo.com>
47797
47798         * m4/readline.m4: New file.
47799
47800 2005-08-11  Simon Josefsson  <jas@extundo.com>
47801
47802         * lib/readline.h, readline.c: New file.
47803
47804 2005-08-11  Simon Josefsson  <jas@extundo.com>
47805
47806         * doc/gnulib.texi (Initial import, Finishing touches): Mention
47807         gl_AVOID.
47808
47809 2005-08-11  Bruno Haible  <bruno@clisp.org>
47810
47811         * lib/strnlen.h (strnlen): Change parameter name to match comment.
47812
47813 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
47814
47815         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
47816
47817 2005-08-10  Simon Josefsson  <jas@extundo.com>
47818
47819         * tests/test-iconvme.c: New file.
47820
47821 2005-08-10  Simon Josefsson  <jas@extundo.com>
47822
47823         * m4/strnlen.m4: New file.
47824
47825         * m4/strndup.m4: Don't check for strnlen declaration, done in
47826         strnlen.m4.
47827
47828 2005-08-10  Simon Josefsson  <jas@extundo.com>
47829
47830         * lib/strndup.c: Use strnlen.h.
47831
47832         * lib/strnlen.h: New file.
47833
47834 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
47835
47836         * README: Typos.
47837
47838 2005-08-02  Simon Josefsson  <jas@extundo.com>
47839
47840         * modules/readline: New file.
47841
47842 2005-08-02  Simon Josefsson  <jas@extundo.com>
47843
47844         * modules/getdelim: New file.
47845
47846         * modules/getline: Rewrite, don't use getndelim2.
47847
47848 2005-08-02  Simon Josefsson  <jas@extundo.com>
47849
47850         * m4/getline.m4: Separate out getdelim stuff into separate module.
47851
47852         * m4/getdelim.m4: New file.
47853
47854 2005-08-02  Simon Josefsson  <jas@extundo.com>
47855
47856         * lib/getline.h, getline.c: Rewrite.
47857
47858         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
47859
47860 2005-07-31  Bruno Haible  <bruno@clisp.org>
47861
47862         * lib/lock.h (gl_lock_initializer): New macro.
47863         (gl_lock_define_initialized): Use it.
47864         (gl_rwlock_initializer): New macro.
47865         (gl_rwlock_define_initialized): Use it.
47866         (gl_recursive_lock_initializer): New macro.
47867         (gl_recursive_lock_define_initialized): Use it.
47868
47869 2005-07-30  Karl Berry  <karl@gnu.org>
47870
47871         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
47872         Report from Ben Pfaff, regarding getopt.
47873
47874 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
47875
47876         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
47877         normal way.
47878         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
47879         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
47880         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
47881         (gl_GETOPT): Use the new macros.  Most of the implementation
47882         is moved to the new macros.  This is for programs like Emacs
47883         that don't want all the functionality of gl_GETOPT.
47884
47885 2005-07-26  Bruno Haible  <bruno@clisp.org>
47886
47887         * m4/lock.m4: Update from GNU gettext.
47888
47889 2005-07-26  Bruno Haible  <bruno@clisp.org>
47890
47891         * lib/lock.h: Update from GNU gettext.
47892         * lib/lock.c: Update from GNU gettext.
47893
47894 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
47895
47896         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
47897         obsolescent AC_TRY_RUN.  Include the default includes files, for
47898         'exit'.
47899
47900 2005-07-24  Bruno Haible  <bruno@clisp.org>
47901
47902         * modules/visibility: New file.
47903         * MODULES.html.sh (Misc): Add visibility.
47904
47905 2005-07-24  Bruno Haible  <bruno@clisp.org>
47906
47907         * m4/visibility.m4: New file.
47908
47909 2005-07-24  Bruno Haible  <bruno@clisp.org>
47910
47911         * doc/visibility.texi: New file.
47912
47913 2005-07-22  Bruno Haible  <bruno@clisp.org>
47914
47915         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
47916         $(ALLOCA_H), redundant through BUILT_SOURCES.
47917         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
47918         redundant through BUILT_SOURCES.
47919         * modules/byteswap (Makefile.am): Remove explicit dependency on
47920         $(BYTESWAP_H), redundant through BUILT_SOURCES.
47921         * modules/fnmatch (Makefile.am): Remove explicit dependency on
47922         $(FNMATCH_H), redundant through BUILT_SOURCES.
47923         * modules/getopt (Makefile.am): Remove explicit dependency on
47924         $(GETOPT_H), redundant through BUILT_SOURCES.
47925         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
47926         redundant through BUILT_SOURCES.
47927         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
47928         redundant through BUILT_SOURCES.
47929         * modules/stdbool (Makefile.am): Remove explicit dependency on
47930         $(STDBOOL_H), redundant through BUILT_SOURCES.
47931         * modules/stdint (Makefile.am): Remove explicit dependency on
47932         $(STDINT_H), redundant through BUILT_SOURCES.
47933         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
47934         Remove explicit dependency on $(SYSEXITS_H).
47935         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
47936
47937 2005-07-18  Simon Josefsson  <jas@extundo.com>
47938
47939         * lib/check-version.c (check_version): Accept identical versions too.
47940
47941 2005-07-18  Bruno Haible  <bruno@clisp.org>
47942
47943         * modules/lock: New file.
47944         * MODULES.html.sh (Multithreading): New section.
47945
47946 2005-07-18  Bruno Haible  <bruno@clisp.org>
47947
47948         * m4/lock.m4: New file, from GNU gettext.
47949
47950 2005-07-18  Bruno Haible  <bruno@clisp.org>
47951
47952         * lib/lock.h: New file, from GNU gettext.
47953         * lib/lock.c: New file, from GNU gettext.
47954
47955 2005-07-18  Bruno Haible  <bruno@clisp.org>
47956
47957         * lib/lock.h (gl_once_t): New type.
47958         (gl_once_define, gl_once): New macros.
47959         * lib/lock.c (fresh_once): New variable.
47960         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
47961         functions.
47962
47963 2005-07-16  Simon Josefsson  <jas@extundo.com>
47964
47965         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
47966         workaround, suggested by Bruno.
47967
47968 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
47969
47970         * modules/xalloc (Depends-on): Add xalloc-die.
47971         * modules/xvasprintf (Depends-on): Add xalloc-die.
47972
47973 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
47974
47975         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
47976         with a minor change.
47977
47978 2005-07-15  Bruno Haible  <bruno@clisp.org>
47979
47980         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
47981         When using lib/poll.c, define poll as rpl_poll.
47982
47983 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
47984
47985         * modules/argp (Depends-on): Remove unlocked-io.
47986
47987 2005-07-14  Derek Price  <derek@ximbiot.com>
47988
47989         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
47990         for glob symlink bug.
47991
47992 2005-07-14  Bruno Haible  <bruno@clisp.org>
47993
47994         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
47995         Instead, test for *_unlocked function declarations directly.
47996
47997 2005-07-11  Simon Josefsson  <jas@extundo.com>
47998
47999         * modules/size_max: New file.
48000
48001         * modules/xsize: Depend on size_max module for size_max.m4.
48002
48003 2005-07-11  Simon Josefsson  <jas@extundo.com>
48004
48005         * lib/size_max.h: New file.
48006
48007 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
48008
48009         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
48010         copyright symbol and the year.
48011         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
48012         (version_etc_va): Use parameterized copyright notice.
48013         Reword to conform to the current GNU coding standards.
48014
48015 2005-07-11  Karl Berry  <karl@gnu.org>
48016
48017         * doc/gnulib.texi (Quoting): new node.
48018         (Initial import): more info, from Patrice.
48019
48020 2005-07-11  Bruno Haible  <bruno@clisp.org>
48021
48022         * gnulib-tool (func_usage): Document option --avoid.
48023         (Command line options): Handle --avoid.
48024         (func_acceptable): New function.
48025         (func_modules_transitive_closure): Use it.
48026
48027 2005-07-11  Bruno Haible  <bruno@clisp.org>
48028
48029         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
48030         Reported by Jim Meyering.
48031
48032 2005-07-10  Bruno Haible  <bruno@clisp.org>
48033
48034         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
48035         Needed when size_t is smaller than 'unsigned int'.
48036         Reported by Paul Eggert.
48037
48038 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
48039
48040         * modules/argp (Depends-on): Add unlocked-io
48041
48042 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
48043
48044         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
48045         block of defines.
48046
48047 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
48048
48049         * config/srclist.txt: Comment out regcomp.c, since we have a porting
48050         fix now.
48051
48052 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
48053         and Paul Eggert  <eggert@cs.ucla.edu>
48054
48055         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
48056         in wint_t, not wchar_t.  Remove now-unnecessary cast.
48057
48058 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
48059
48060         * modules/regex (Files): Add lib/regex_internal.c,
48061         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
48062         (Depends-on): Add extensions.
48063         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
48064
48065 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
48066
48067         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
48068         pathconf.
48069         * m4/same.m4 (gl_SAME): Likewise.
48070         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
48071
48072         * m4/regex.m4: Adjust to new libc regex implementation.
48073         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
48074         all the .c and .h parts of (the new) regex.
48075         Quote the m4 stuff better.
48076         Check for RE_ICASE bug of old gnulib.
48077         Check for REG_STARTEND of recent libc.
48078         Rename local variables from jm_* to gl_*.
48079         Quote operand of "test -f".
48080         Say "recent enough" version of libc, not "version 2".
48081         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
48082         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
48083         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
48084         Remove check for btowc, isascii.
48085         Require AM_LANGINFO_CODESET.
48086
48087 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
48088
48089         * lib/regex.c, regex.h: Sync from libc.
48090         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
48091         * lib/regexec.c:
48092         New files, synced from libc, except that regex_internal.h
48093         currently has a small porting fix.
48094
48095 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
48096
48097         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
48098         regex_internal.c, regexec.c.
48099         Add regex_internal.h too, but as a comment, since the libc version
48100         is currently broken in gnulib mode.
48101
48102 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
48103
48104         Support programs like Emacs that use gnulib but not gettext.
48105         * MODULES.html.sh (Internationalization functions): Add gettext-h.
48106         * modules/gettext-h: New file.
48107         * modules/gettext (Files): Remove lib/gettext.h.
48108         (Depends-on): Add gettext-h.
48109         (Makefile.am): Remove lib_SOURCES.
48110         * modules/argmatch, modules/c-stack, modules/closeout:
48111         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
48112         * modules/execute, modules/file-type, modules/getaddrinfo:
48113         * modules/getopt, modules/human, modules/javacomp:
48114         * modules/javaexec, modules/mkdir-p, modules/obstack:
48115         * modules/openat, modules/pagealign_alloc, modules/pipe:
48116         * modules/quotearg, modules/regex, modules/rpmatch:
48117         * modules/unicodeio, modules/userspec, modules/version-etc:
48118         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
48119         * modules/xsetenv:
48120         Depend on gettext-h, not gettext.
48121
48122 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
48123
48124         * gnulib-tool (func_import): Add support for 'public domain' license.
48125         * modules/alloca, modules/atexit, modules/memmove:
48126         Now public domain, not GPL.
48127         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
48128         * modules/realloc, modules/strerror, modules/strtod:
48129         Now LGPL, not GPL.
48130
48131 2005-07-05  Bruno Haible  <bruno@clisp.org>
48132
48133         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
48134         autoconf CVS. Needed for mingw.
48135
48136 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
48137
48138         Remove the dependency of the strftime module on the tzset module.
48139         * modules/strftime (Depends-on): Remove dependency on tzset.
48140
48141 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
48142
48143         Remove the dependency of the strftime module on the tzset module.
48144         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
48145         gl_FUNC_TZSET_CLOBBER.
48146
48147 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
48148
48149         Remove the dependency of the strftime module on the tzset module.
48150         * lib/strftime.c (my_strftime)
48151         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
48152         Copy the input structure, to work around some of the bug with
48153         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
48154         Solaris releases, you should also use the tzset module, but we won't
48155         require it as a dependency any more since we don't want LGPLed code
48156         to depend on GPLed code.
48157
48158 2005-07-02  Jim Meyering  <jim@meyering.net>
48159
48160         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
48161         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
48162         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
48163         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
48164
48165 2005-07-02  Jim Meyering  <jim@meyering.net>
48166
48167         * lib/backupfile.c (backup_args): Change a `0' to NULL.
48168
48169 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
48170
48171         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
48172         declares only 'struct timespec;' (!).
48173
48174 2005-07-01  Jim Meyering  <jim@meyering.net>
48175
48176         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
48177         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
48178         * lib/save-cwd.c, tempname.c:
48179         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
48180         and don't include <sys/file.h>).
48181
48182 2005-06-29  Jim Meyering  <jim@meyering.net>
48183
48184         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
48185         type name.  Use the variable name instead.
48186         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
48187         Likewise.
48188
48189 2005-06-28  Simon Josefsson  <jas@extundo.com>
48190
48191         * modules/check-version (Files): Add check-version.m4.
48192
48193 2005-06-28  Simon Josefsson  <jas@extundo.com>
48194
48195         * m4/check-version.m4: New file, suggested by Jim Meyering
48196         <jim@meyering.net>.
48197
48198 2005-06-28  Simon Josefsson  <jas@extundo.com>
48199
48200         * lib/check-version.h, lib/check-version.c: New files.
48201
48202 2005-06-28  Simon Josefsson  <jas@extundo.com>
48203
48204         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
48205         collision with global variable.  Better indentation.  Don't
48206         increment buffer pointer beyond buffer end.  Based on comments
48207         from Paul Eggert <eggert@cs.ucla.edu>.
48208
48209         * lib/base64.h: Indent.
48210
48211 2005-06-28  Simon Josefsson  <jas@extundo.com>
48212
48213         * doc/gnulib.texi (Library version handling): New section.
48214
48215 2005-06-28  Jim Meyering  <jim@meyering.net>
48216
48217         * check-module (find_included_lib_files): Hard-code another
48218         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
48219         but modules/fts-lgpl (correctly) does not list those files.
48220
48221         * modules/canonicalize (Files): Add lib/pathmax.h.
48222
48223 2005-06-25  Simon Josefsson  <jas@extundo.com>
48224
48225         * modules/check-version: New file.
48226
48227 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
48228
48229         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
48230         initializer of struct addrinfo, as an indication that we don't
48231         care how many members the structure has.
48232
48233 2005-06-24  Derek Price  <derek@ximbiot.com>
48234         and Bruno Haible  <bruno@clisp.org>
48235
48236         Remove stat module & update lstat.
48237         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
48238         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
48239         * m4/stat.m4: Remove this file.
48240
48241 2005-06-24  Derek Price  <derek@ximbiot.com>
48242         and Bruno Haible  <bruno@clisp.org>
48243
48244         Remove stat module & update lstat.
48245         * lib/stat.c: Remove this file...
48246         (slash_aware_lstat): ...moving this content and its support...
48247         * lib/lstat.c (rpl_lstat): ...into here.
48248         * lib/lstat.h: New file.
48249
48250 2005-06-24  Derek Price  <derek@ximbiot.com>
48251         and Bruno Haible  <bruno@clisp.org>
48252
48253         Remove stat module & update lstat.
48254         * config/srclist.txt (libc sources): Remove stat.
48255
48256 2005-06-24  Derek Price  <derek@ximbiot.com>
48257         and Bruno Haible  <bruno@clisp.org>
48258
48259         Remove stat module & update lstat.
48260         * MODULES.html.sh (stat): Remove.
48261         * MODULES.html: Regenerated.
48262         * modules/lstat (Description): Correct function name.
48263         (Files): Add "lstat.h".
48264         (Depends-on): Remove stat, add xalloc, stat-macros.
48265         * modules/stat: Remove this file.
48266         (Include): Add "lstat.h", remove <sys/stat.h>.
48267
48268 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
48269
48270         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
48271         (ranged_convert): Don't save conversion in a temporary struct.
48272         This causes a warning with GCC 4.0.0, and anyway in the typical
48273         case it's not worth the extra 100 bytes or so of code.
48274         (ranged_convert, __mktime_internal): When calling a function via a
48275         pointer P, use P () rather than (*P) (), as we now assume C89 or
48276         better.
48277
48278 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
48279
48280         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
48281         "who -r" failed to give output.  Problem reported by Tim Waugh.
48282
48283         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
48284         (xcalloc): Use it to avoid needless tests.
48285         Problem reported by Jim Meyering.
48286
48287 2005-06-20  Derek Price  <derek@ximbiot.com>
48288
48289         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
48290         unnecessary for Autoconfs > 2.59c.
48291
48292 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
48293
48294         * lib/argp.h (__option_is_short): Check upper limit of
48295         __key. Isprint() requires its argument to have the value
48296         of an unsigned char or EOF.
48297
48298 2005-06-16  Jim Meyering  <jim@meyering.net>
48299
48300         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
48301         when either N or S is zero.
48302
48303 2005-06-16  Derek Price  <derek@ximbiot.com>
48304
48305         * m4/bison.m4: Declare YACC & YFLAGS precious.
48306
48307 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
48308
48309         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
48310         multibyte string or pattern, fall back on unibyte matching.
48311         Problem reported by James Youngman.
48312
48313 2005-06-08  Bruno Haible  <bruno@clisp.org>
48314
48315         * modules/csharpcomp: New file.
48316         * MODULES.html.sh (C#): Add csharpcomp.
48317
48318 2005-06-08  Bruno Haible  <bruno@clisp.org>
48319
48320         * m4/csharpcomp.m4: New file, from GNU gettext.
48321
48322 2005-06-08  Bruno Haible  <bruno@clisp.org>
48323
48324         * lib/csharpcomp.h: New file, from GNU gettext.
48325         * lib/csharpcomp.c: New file, from GNU gettext.
48326         * lib/csharpcomp.sh.in: New file, from GNU gettext.
48327
48328 2005-06-08  Bruno Haible  <bruno@clisp.org>
48329
48330         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
48331         warning on mingw.
48332
48333 2005-06-07  Derek Price  <derek@ximbiot.com>
48334
48335         Sync from CVS.
48336         * lib/glob_.h: Indent nested #ifdef.
48337
48338 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
48339
48340         Sync from coreutils.
48341         Use "file name" when talking about file names, instead of "filename"
48342         or "path", as per the GNU coding standards.
48343         * lib/mkdir-p.c: Renamed from makepath.c.
48344         (make_dir_parents): Renamed from make_path.  All callers changed.
48345         * lib/mkdir-p.h: Likewise.  All includers changed.
48346         * lib/filenamecat.c: Renamed from path-concat.c.
48347         (file_name_concat): Renamed from path_concat.  All callers changed.
48348         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
48349         * lib/filenamecat.h: Likewise.  All includers changed.
48350         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
48351         in comments or local variable names.
48352         * lib/basename.c: Likewise.
48353         * lib/canonicalize.c, canonicalize.h: Likewise.
48354         * lib/dirname.c, dirname.h: Likewise.
48355         * lib/euidaccess.c: Likewise.
48356         * lib/exclude.c: Likewise
48357         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
48358         * lib/fsusage.c, fsuage.h: Likewise.
48359         * lib/fts.c, fts_.h: Likewise.
48360         * lib/getcwd.c: Likewise.
48361         * lib/getloadavg.c: Likewise.
48362         * lib/mkstemp.c: Likewise.
48363         * lib/mountlist.c, mountlist.h: Likewise.
48364         * lib/openat.c, openat.h: Likewise.
48365         * lib/readlink-stub.c: Likewise.
48366         * lib/readutmp.c, readutmp.h: Likewise.
48367         * lib/rename.c: Likewise.
48368         * lib/rmdir.c: Likewise.
48369         * lib/same.c: Likewise.
48370         * lib/savedir.c: Likewise.
48371         * lib/stripslash.c: Likewise.
48372         * lib/tempname.c: Likewise.
48373         * lib/xreadlink.c: Likewise.
48374         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
48375         All uses changed.
48376         * lib/exclude.h: Likewise.
48377
48378         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
48379         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
48380         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
48381         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
48382         * lib/pathmax.h: Include <limits.h> unconditionally, since other
48383         files have been getting away with it for years (MORE/BSD 4.3
48384         is extinct now).
48385         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
48386         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
48387
48388         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
48389         Define to 256, not 255, as per modern POSIX.
48390
48391 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
48392
48393         Sync from coreutils.
48394         Use "file name" when talking about file names, instead of "filename"
48395         or "path", as per the GNU coding standards.
48396         * MODULES.html.sh: mkdir-p renamed from makepath.
48397         filenamecat renamed from path-concat.
48398         * modules/filenamecat: Renamed from modules/path-concat.
48399         (Files): filenamecat.h and filenamecat.c renamed from
48400         path-concat.h and path-concat.c.
48401         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
48402         (Include): filenamecat.h, not path-concat.h.
48403         * modules/mkdir-p: Renamed from modules/makepath.
48404         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
48405         makepath.c.
48406         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
48407         (Include): mkdir-p.h, not makepath.h.
48408
48409 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
48410
48411         Sync from coreutils.
48412         * m4/mkdir-p.m4: Renamed from makepath.m4.
48413         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
48414         Rename files from makepath.c to mkdir-p.c, and from
48415         makepath.h to mkdir-p.h.
48416         * m4/filenamecat.m4: Renamed from path-concat.m4.
48417         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
48418         Rename files from path-concat.c to filenamecat.c,
48419         and from path-concat.h to filenamecat.h.
48420         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
48421         "file name" in local variables or comments.
48422         * m4/rename.m4: Likewise.
48423
48424 2005-06-01  Bruno Haible  <bruno@clisp.org>
48425
48426         * modules/csharpexec: New file.
48427         * MODULES.html.sh (C#): New section.
48428
48429 2005-06-01  Bruno Haible  <bruno@clisp.org>
48430
48431         * m4/csharp.m4: New file, from GNU gettext.
48432         * m4/csharpexec.m4: New file, from GNU gettext.
48433
48434 2005-06-01  Bruno Haible  <bruno@clisp.org>
48435
48436         * lib/csharpexec.h: New file, from GNU gettext.
48437         * lib/csharpexec.c: New file, from GNU gettext.
48438         * lib/csharpexec.sh.in: New file, from GNU gettext.
48439
48440 2005-05-31  Derek Price  <derek@ximbiot.com>
48441             Paul Eggert  <eggert@cs.ucla.edu>
48442
48443         Sync from cvs.
48444         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
48445
48446 2005-05-31  Derek Price  <derek@ximbiot.com>
48447             Paul Eggert  <eggert@cs.ucla.edu>
48448
48449         Sync from cvs.
48450         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
48451
48452 2005-05-29  Derek Price  <derek@ximbiot.com>
48453
48454         * config/srclist.txt (glob_.h, glob.c): Add these files.
48455
48456 2005-05-29  Derek Price  <derek@ximbiot.com>
48457
48458         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
48459         * modules/glob: New file.
48460         * modules/getlogin_r: Add link to POSIX spec in description.
48461
48462 2005-05-29  Derek Price  <derek@ximbiot.com>
48463             Paul Eggert  <eggert@cs.ucla.edu>
48464
48465         * m4/glob.m4: New file.
48466
48467 2005-05-29  Derek Price  <derek@ximbiot.com>
48468             Paul Eggert  <eggert@cs.ucla.edu>
48469
48470         * lib/glob_.h, lib/glob.c: New files.
48471
48472 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
48473
48474         * modules/fts (Files): Remove m4/inttypes-pri.m4.
48475         * modules/fts-lgpl (Depends-on): Remove gettext.
48476
48477 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
48478
48479         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
48480         and don't require gt_INTTYPES_PRI.
48481
48482 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
48483
48484         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
48485
48486         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
48487         the configuration hassle isn't worth it.
48488         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
48489         (LONGEST_MODIFIER, PRIuMAX): Remove.
48490
48491 2005-05-27  Bruno Haible  <bruno@clisp.org>
48492
48493         * lib/getlogin_r.h: Remove second include of <stddef.h>.
48494
48495 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
48496
48497         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
48498         _POSIX_PTHREAD_SEMANTICS for Solaris.
48499
48500 2005-05-25  Derek Price  <derek@ximbiot.com>
48501
48502         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
48503
48504 2005-05-25  Derek Price  <derek@ximbiot.com>
48505             Paul Eggert  <eggert@cs.ucla.edu>
48506
48507         * modules/getlogin_r, m4/getlogin_r.m4: New files.
48508         * lib/getlogin_r.c, getlogin_r.h: New files.
48509
48510 2005-05-25  Bruno Haible  <bruno@clisp.org>
48511             Derek Price  <derek@ximbiot.com>
48512
48513         * lib/getlogin_r.h: Simplify API documentation.
48514
48515 2005-05-23  Derek Price  <derek@ximbiot.com>
48516
48517         * modules/minmax (Files): Add m4/minmax.m4.
48518         (configure.ac): Add gl_MINMAX.
48519
48520 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
48521
48522         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
48523         so that unistd-safer.h (GPL'ed code) need not be included.
48524
48525 2005-05-22  Bruno Haible  <bruno@clisp.org>
48526
48527         * m4/minmax.m4: New file.
48528         Based on a patch by Derek Price <derek@ximbiot.com>.
48529
48530 2005-05-22  Bruno Haible  <bruno@clisp.org>
48531
48532         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
48533         (INT64_MIN): Fix definition.
48534         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
48535
48536         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
48537         NEED_SIGNED_INT_TYPES.
48538
48539         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
48540         HAVE_SYSTEM_INTTYPES.
48541
48542 2005-05-22  Bruno Haible  <bruno@clisp.org>
48543
48544         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
48545         Also include <sys/param.h> if it defines MIN, MAX.
48546         Based on a patch by Derek Price <derek@ximbiot.com>.
48547
48548 2005-05-21  Jim Meyering  <jim@meyering.net>
48549
48550         * modules/fts (Files): Add m4/inttypes-pri.m4.
48551         (Depends-on): Add lstat and remove gettext.  Alphabetize.
48552
48553 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
48554
48555         New fts module.
48556         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
48557         (setup_dir, free_dir): New functions.
48558         (enter_dir, leave_dir): Define trivial
48559         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
48560         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
48561         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
48562         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
48563         Move to fts-cycle.c.
48564         (fts_open): Use setup_dir.
48565         (fts_close): Use free_dir.
48566         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
48567         This adds a label and some gotos, but the alternatives were messier.
48568         Check for memory allocation failure when entering a dir.
48569         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
48570         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
48571         (FTS): New member fts_cycle, that is a union that contains the
48572         old active_dir_ht and cycle_state.  All uses changed to mention
48573         fts_cycle.ht and fts_cycle.state.
48574         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
48575         fts.c, with the following changes:
48576         (setup_dir, free_dir): New functions.
48577         (enter_dir): Now returns bool.  Return true if successful, false
48578         if memory exhausted.  All callers changed.
48579         Do not bother partly cleaning up on
48580         memory allocation failure; that is free_dir's job.
48581         However, free ad if hash_insert fails, to avoid memory leak.
48582         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
48583         fts->fts_options to see which union member to use.
48584
48585 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
48586
48587         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
48588         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
48589
48590 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
48591
48592         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
48593
48594 2005-05-20  Jim Meyering  <jim@meyering.net>
48595
48596         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
48597         Now a macro, to pacify GCC.
48598
48599 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
48600
48601         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
48602         of -1.
48603
48604 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
48605
48606         * lib/chown.c (rpl_chown): Return -1 on failure.
48607
48608 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
48609
48610         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
48611         Don't check for stddef.h.
48612         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
48613         don't use its results.
48614         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
48615         since we include them unconditionally.  Don't require
48616         AM_STDBOOL_H, since stdbool is a prerequisite.
48617         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
48618         since we assume C89 or better.
48619         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
48620         as we don't use their results.
48621         Don't check for fchdir, memmove, memset, strrchr, as we use
48622         them unconditionally.
48623         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
48624         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
48625
48626 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
48627
48628         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
48629         Include <stddef.h> unconditionally, since we assume C89 now.
48630         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
48631         * lib/fts.c: Include fts_.h first, to check interface.
48632         Do not include intprops.h; no longer needed.
48633         Include cycle-check.h and hash.h, since fts_.h no longer does.
48634         Remove unnecessary casts of closedir to void.
48635         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
48636         decide whether to decrement nlinks.
48637         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
48638         (FTS): Use struct hash_table * instead of Hash_table, so that
48639         we no longer need to include hash.h here.
48640
48641 2005-05-18  Jim Meyering  <jim@meyering.net>
48642
48643         * modules/dirfd (License): Change to LGPL.  Most of the code
48644         is already in the public domain.
48645
48646 2005-05-18  Jim Meyering  <jim@meyering.net>
48647
48648         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
48649         Reported by Yoann Vandoorselaere.
48650
48651 2005-05-17  Jim Meyering  <jim@meyering.net>
48652
48653         * m4/fts.m4: New file, from coreutils.
48654
48655 2005-05-17  Jim Meyering  <jim@meyering.net>
48656
48657         * lib/fts.c, lib/fts_.h: New files, from coreutils.
48658
48659 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
48660
48661         Sync from coreutils.
48662         * m4/unlinkdir.m4: New file.
48663
48664 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
48665
48666         Sync from coreutils.
48667         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
48668         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
48669         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
48670         White space changes only.
48671         * lib/makepath.c (make_path): Port to hosts where leading "//" is
48672         special.
48673         * lib/yesno.c: Include getline.h, not ctype.h.
48674         (yesno): Don't remove leading white space; POSIX doesn't allow it.
48675         Use getline to remove arbitrary restriction on response length.
48676
48677 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
48678
48679         * config/srclist-update: Spell out "Street" in FSF postal
48680         mail address; this is the style the FSF seems to prefer.
48681
48682         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
48683         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
48684         this updates FSF postal mail address.
48685
48686         Sync from coreutils.
48687         * modules/unlinkdir: New file.
48688         * modules/yesno (Depends-on): Add getline.
48689         * MODULES.html.sh (File system functions): Add unlinkdir.
48690
48691 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
48692
48693         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
48694         lib/strsep.h:
48695         Change the initial comment to refer to GPL, not LGPL.
48696         gnulib-tool will change it to LGPL as needed.
48697
48698         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
48699         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
48700         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
48701         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
48702         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
48703         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
48704         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
48705         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
48706         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
48707         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
48708         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
48709         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
48710         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
48711         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
48712         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
48713         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
48714         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
48715         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
48716         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
48717         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
48718         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
48719         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
48720         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
48721         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
48722         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
48723         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
48724         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
48725         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
48726         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
48727         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
48728         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
48729         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
48730         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
48731         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
48732         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
48733         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
48734         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
48735         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
48736         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
48737         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
48738         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
48739         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
48740         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
48741         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
48742         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
48743         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
48744         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
48745         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
48746         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
48747         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
48748         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
48749         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
48750         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
48751         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
48752         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
48753         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
48754         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
48755         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
48756         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
48757         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
48758         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
48759         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
48760         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
48761         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
48762         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
48763         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
48764         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
48765         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
48766         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
48767         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
48768         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
48769         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
48770         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
48771         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
48772         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
48773         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
48774         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
48775         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
48776         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
48777         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
48778         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
48779         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
48780         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
48781         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
48782         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
48783         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
48784         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
48785         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
48786         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
48787         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
48788         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
48789         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
48790         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
48791         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
48792         lib/yesno.c, lib/yesno.h:
48793         Update FSF postal mail address.
48794
48795 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
48796
48797         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
48798         tests/test-memmem.c, tests/test-stpncpy.c:
48799         Update FSF postal mail address.
48800
48801 2005-05-13  Bruno Haible  <bruno@clisp.org>
48802
48803         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
48804         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
48805         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
48806         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
48807         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
48808         Add support for 64-bit integers in the MSVC compiler.
48809
48810 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
48811
48812         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
48813
48814 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
48815
48816         * gnulib-tool (func_import): Sort and uniquify recommended includes.
48817
48818 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
48819
48820         * doc/getdate.texi (General date syntax): Don't say that date
48821         date --iso-8601=ns generates acceptable dates; it doesn't yet.
48822         Problem reported by Nic Ferrier.
48823
48824 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48825
48826         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
48827         specified in ai_socktype. Fix invalid ai_protocol
48828         check. ai_protocol is usually set to 0 or depending on
48829         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
48830         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
48831         ai_socktype / ai_protocol in the returned addrinfo structure.
48832
48833 2005-05-10  Simon Josefsson  <jas@extundo.com>
48834
48835         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
48836         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
48837
48838 2005-05-10  Karl Berry  <karl@gnu.org>
48839
48840         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
48841         (from http://www.gnu.org/licenses).
48842         * doc/COPYING.LIB: also rename to COPYING.LESSER.
48843         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
48844         fdl.texi suffices.
48845
48846 2005-05-10  Karl Berry  <karl@gnu.org>
48847
48848         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
48849         (COPYING.DOC): remove.
48850
48851         * config/srclist-update: new FSF address.
48852
48853 2005-05-10  Derek Price  <derek@ximbiot.com>
48854
48855         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
48856         possible.
48857
48858 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48859             Bruno Haible  <bruno@clisp.org>
48860
48861         * modules/inet_ntop: New file.
48862         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
48863         inet_ntop.
48864
48865 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48866             Bruno Haible  <bruno@clisp.org>
48867
48868         * m4/inet_ntop.m4: New file.
48869
48870 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48871             Bruno Haible  <bruno@clisp.org>
48872
48873         * lib/inet_ntop.h: New file.
48874         * lib/inet_ntop.c: New file, from glibc with modifications.
48875
48876 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
48877
48878         * modules/time_r (License): Change to LGPL.
48879         * modules/extensions (License): Change to LGPL.  Actually,
48880         the license is more permissive than that, but currently gnulib-tool
48881         doesn't know how to handle more-permissive licenses.
48882
48883         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
48884         Problem reported by Dave Love.
48885
48886 2005-05-08  Jim Meyering  <jim@meyering.net>
48887
48888         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
48889         blank.
48890
48891 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
48892
48893         * modules/argmatch (Depends-on): Add stdbool.
48894         * modules/backupfile (Depends-on): Likewise.
48895         * modules/chdir-long (Depends-on): Likewise.
48896         * modules/closeout (Depends-on): Likewise.
48897         * modules/cycle-check (Depends-on): Likewise.
48898         * modules/dirname (Depends-on): Likewise.
48899         * modules/fnmatch (Depends-on): Likewise.
48900         * modules/fsusage (Depends-on): Likewise.
48901         * modules/fwriteerror (Depends-on): Likewise.
48902         * modules/getcwd (Depends-on): Likewise.
48903         * modules/getloadavg (Depends-on): Likewise.
48904         * modules/hard-locale (Depends-on): Likewise.
48905         * modules/makepath (Depends-on): Likewise.
48906         * modules/mountlist (Depends-on): Likewise.
48907         * modules/nanosleep (Depends-on): Likewise.
48908         * modules/posixtm (Depends-on): Likewise.
48909         * modules/quotearg (Depends-on): Likewise.
48910         * modules/readtokens (Depends-on): Likewise.
48911         * modules/readtokens0 (Depends-on): Likewise.
48912         * modules/readutmp (Depends-on): Likewise.
48913         * modules/save-cwd (Depends-on): Likewise.
48914         * modules/strftime (Depends-on): Likewise.
48915         * modules/userspec (Depends-on): Likewise.
48916         * modules/utimecmp (Depends-on): Likewise.
48917         * modules/xgetcwd (Depends-on): Likewise.
48918         * modules/xnanosleep (Depends-on): Likewise.
48919         * modules/xstrtod (Depends-on): Likewise.
48920         * modules/yesno (Depends-on): Likewise.
48921
48922 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
48923
48924         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
48925         needless checks.
48926
48927 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
48928
48929         Merge from coreutils.  Among other things,
48930         add bulletproofing for cases where stdin, stdout, or stderr are closed.
48931         * lib/fd-safer.c: New file.
48932         * lib/fcntl-safer.h, open-safer.c: Remove.
48933         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
48934         * lib/dup-safer.c: Include unistd-safer.h first.
48935         Don't include errno.h.
48936         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
48937         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
48938         * lib/file-type.c: Rely on file-type.h change.
48939         * lib/getloadavg.c: Include unistd-safer.h.
48940         (getloadavg): Use safer open.
48941         * lib/getusershell.c: Include "stdio-safer.h".
48942         (getusershell): Use safer fopen.
48943         * lib/long-options.c (long_options): Use NULL rather than 0.
48944         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
48945         'free'.
48946         * lib/modechange.c: Likewise.
48947         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
48948         (MODE_DONE): New constant.
48949         (struct mode_change): Remove 'next' member.
48950         (make_node_op_equals): New function; like the old one of the
48951         same name, except it allocates an array.
48952         (mode_compile, mode_create_from_ref): Use it.
48953         (mode_compile): Allocate result as an array, not a linked list.
48954         Parse octal string ourself, so that we catch mistakes like "+0".
48955         (mode_adjust): Arg is an array, not a linked list.
48956         * lib/modechange.c: Include stat-macros.h, xalloc.h.
48957         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
48958         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
48959         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
48960         Remove.  This is now stat-macros.h's job.
48961         (talloc): Remove.  All callers replaced by xalloc, so that
48962         our invokers don't have to worry about reporting memory failures.
48963         (make_node_op_equals): Remove.
48964         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
48965         New constants.
48966         (struct mode_change): Moved here from modechange.h.
48967         (mode_append_entry): Remove.
48968         (mode_compile): Remove MASKED_OPS arg, since it encouraged
48969         apps to have incorrect behavior.  Use simpler algorithm for head
48970         and tail.  Don't futz with umask; that's now the job of mode_adjust.
48971         Detect more invalid usages rather than having somewhat-random behavior.
48972         Don't insert an "a=" action, as that leads to incorrect behavior.
48973         (mode_compile, mode_create_from_ref): Return NULL on error instead
48974         of an enum, since now there's only one way to have an error.  All
48975         callers changed.
48976         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
48977         at the correct time.  Simplify calculation of "+u" and its ilk.
48978         Don't mishandle "+X".
48979         (mode_free): Remove "register" and localize decls.
48980         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
48981         (struct mode_change): Move to modechange.c; callers don't
48982         need to see this stuff.
48983         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
48984         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
48985         (mode_change, mode_adjust): Reflect the new signatures noted above.
48986         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
48987         that might redefine system include files.
48988         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
48989         (my_usleep): Use NULL rather than (void *) 0.
48990         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
48991         Use siginterrupt to specify that system calls should be interrupted.
48992         (rpl_nanosleep): Move initialization of suspended closer to call of
48993         my_usleep.
48994         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
48995         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
48996         (desirable_utmp_entry): New function.
48997         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
48998         using x2nrealloc, to simplify logic.
48999         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
49000         size calculation.  Do not assume utmp file is a regular file.
49001         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
49002         (READ_UTMP_CHECK_PIDS): New constant.
49003         * lib/save-cwd.c: Include unistd-safer.h.
49004         (save_cwd): Use fd_safer.
49005         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
49006         [!_LIBC] Include "stat-macros.h" instead.
49007         * lib/unistd-safer.h (fd_safer): New decl.
49008
49009 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
49010
49011         * modules/getloadavg (Depends-on): Add unistd-safer.
49012         * modules/getusershell (Depends-on): Add stdio-safer.
49013         * modules/lstat (Depends-on): Remove xalloc.
49014         * modules/mkstemp (Depends-on): Add stat-macros.
49015         * modules/modechange (Depends-on): Remove xstrtol.
49016         Add stat-macros, xalloc.
49017         * modules/save-cwd (Depends-on): Add unistd-safer.
49018         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
49019         * modules/unistd-safer (Files): Add lib/fd-safer.c
49020         (Makefile.am): Remove lib_SOURCES.
49021
49022         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
49023         Remove fcntl-safer; unistd-safer supersedes it.
49024
49025 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
49026
49027         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
49028         AC_HEADER_STAT.
49029         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
49030         (gl_PREREQ_CHOWN): Remove.
49031         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
49032         it.  Don't require AC_HEADER_STAT.
49033         (gl_PREREQ_LSTAT): Remove.
49034         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
49035         Don't require AC_HEADER_STAT.
49036         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
49037         (gl_PREREQ_RMDIR): Remove.
49038         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
49039         mention stat-macros.h or AC_HEADER_STAT, since we'll make
49040         the stat-macros module a prerequisite.
49041         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
49042         * m4/filemode.m4 (gl_FILEMODE): Likewise.
49043         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
49044         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
49045         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
49046         variable names.
49047         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
49048         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
49049         variable prefixes.
49050         * m4/fcntl-safer.m4: Remove.
49051         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
49052         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
49053         Invoke gl_PREREQ_FD_SAFER.
49054         (gl_PREREQ_FD_SAFER): New macro.
49055         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
49056         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
49057         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
49058         Remove duplicate call to AC_LIBOBJ(readutmp).
49059         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
49060
49061         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
49062         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
49063
49064 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
49065
49066         * MODULES.html.sh (Misc): Add byteswap.
49067
49068 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
49069
49070         * modules/getcwd (Depends-on): Add extensions.
49071         * modules/openat (Depends-on): Likewise.
49072
49073 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
49074
49075         * modules/byteswap: New file.
49076
49077 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
49078
49079         * m4/byteswap.m4: New file.
49080
49081 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
49082
49083         * lib/byteswap_.h: New file.
49084
49085 2005-04-25  Karl Berry  <karl@gnu.org>
49086
49087         * m4/gettext.m4: Update from GNU gettext 0.14.4.
49088
49089 2005-04-25  Albert Chin  <china@thewrittenword.com>
49090
49091         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
49092         Toolkit C bug.
49093
49094 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
49095
49096         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
49097         (func_ln_if_changed) Remove forcibly for no error message
49098         in case file does not exist.
49099
49100 2005-04-19  Simon Josefsson  <jas@extundo.com>
49101
49102         * gnulib-tool (Options): Make --symlink mean --symbolic.
49103
49104 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
49105
49106         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
49107
49108 2005-04-16  Simon Josefsson  <jas@extundo.com>
49109
49110         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
49111
49112 2005-04-15  Simon Josefsson  <jas@extundo.com>
49113
49114         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
49115
49116 2005-04-15  Simon Josefsson  <jas@extundo.com>
49117
49118         * gnulib-tool: Rename --symlink to --symbolic.
49119
49120 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
49121
49122         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
49123         symbolic links to files instead of copying/moving.  Add --aux-dir,
49124         specifying directory relative --dir where auxiliary build tools
49125         are placed.
49126
49127 2005-04-14  Bruno Haible  <bruno@clisp.org>
49128
49129         * modules/allocsa (License): Change to LGPL.
49130         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
49131
49132 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
49133
49134         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
49135         that "UTC +1 second" continues to work.  Problem reported
49136         by Dmitry V. Levin.
49137         (relunit_snumber): New rule.
49138         (relunit): Use it.
49139
49140 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
49141
49142         * lib/getdate.y (universal_time_zone_table): New constant.
49143         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
49144         universal_time_zone_table.
49145         (lookup_zone): Prefer universal_time_zone_table to
49146         local_time_zone_table, so that "GMT" time stamps are allowed in
49147         London during the summer.  Problem reported by Ian Abbott.
49148
49149 2005-04-12  Jim Meyering  <jim@meyering.net>
49150
49151         * lib/human.c (humblock): Set *options even when returning due to
49152         xstrtoumax conversion failure.  Thanks to a used-uninitialized
49153         warning from gcc-4.
49154
49155 2005-04-09  Jim Meyering  <jim@meyering.net>
49156
49157         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
49158         -Wuninitialized: initialize tm0.tm_year.
49159
49160 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
49161
49162         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
49163         count, since there's no maximum.  All uses changed.
49164         Add member dsts_seen.
49165         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
49166         not being INT_MAX.
49167         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
49168         Use pc_rels_seen to decide whther a date is absolute.
49169
49170         * lib/getdate.y (number): Don't overwrite year.
49171         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
49172         check.
49173
49174 2005-04-02  Simon Josefsson  <jas@extundo.com>
49175
49176         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
49177         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
49178
49179 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
49180
49181         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
49182         where no absolute path name can be longer than PATH_MAX.
49183
49184 2005-03-27  Jim Meyering  <jim@meyering.net>
49185
49186         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
49187
49188 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
49189
49190         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
49191         "one's complement" -> "ones' complement" in comment, as per Knuth.
49192         "value of type" -> "type or expression" in comment.
49193         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
49194
49195 2005-03-26  Jim Meyering  <jim@meyering.net>
49196
49197         Comment nits.
49198         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
49199         Correct typos: s/or/of/.
49200
49201 2005-03-26  Jim Meyering  <jim@meyering.net>
49202
49203         * modules/check-include-files: Move to ../ and rename to...
49204         * check-module: ...this.
49205
49206 2005-03-25  Jim Meyering  <jim@meyering.net>
49207
49208         * modules/xvasprintf (Files): Add xalloc.h.
49209
49210 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
49211
49212         * modules/gettext (Files): config/config.rpath ->
49213         build-aux/config.rpath
49214         * modules/iconv (Files): Likewise.
49215         Problem reported by Oskar Liljeblad.
49216
49217 2005-03-23  Jim Meyering  <jim@meyering.net>
49218
49219         * modules/check-include-files: New script to check for
49220         missing dependencies, multiple includes, etc.
49221
49222         * modules/c-strtold (Depends-on): Add xalloc.
49223         * modules/c-strtod (Depends-on): Add xalloc.
49224         * modules/hash (Depends-on): Add xalloc.
49225         (Files): Remove lib/xalloc.h.
49226
49227         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
49228         * modules/userspec (Files): Add lib/inttostr.h.
49229
49230 2005-03-23  Jim Meyering  <jim@meyering.net>
49231
49232         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
49233
49234 2005-03-22  Jim Meyering  <jim@meyering.net>
49235
49236         * modules/stat-macros: New module.
49237         * modules/canonicalize, modules/euidaccess, modules/file-type,
49238         * modules/filemode, modules/lchown, modules/makepath,
49239         * modules/rmdir, modules/stat: Depend on new stat-macros module
49240         rather than listing lib/stat-macros.h manually.
49241         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
49242
49243 2005-03-22  Jim Meyering  <jim@meyering.net>
49244
49245         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
49246
49247 2005-03-22  Bruno Haible  <bruno@clisp.org>
49248
49249         * config/srclist.txt: Replace target directory 'config' with
49250         'build-aux'.
49251         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
49252         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
49253         ../build-aux/.
49254
49255 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
49256
49257         * modules/chdir-long (Depends-on): Add mempcpy.
49258
49259         * modules/acl, modules/backupfile, modules/c-strtod,
49260         modules/c-strtold, modules/canon-host, modules/canonicalize,
49261         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
49262         modules/exclude, modules/exitfail, modules/file-type,
49263         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
49264         modules/getdate, modules/getline, modules/getpagesize,
49265         modules/getpass, modules/getugroups, modules/group-member,
49266         modules/hard-locale, modules/hash, modules/human, modules/idcache,
49267         modules/inttostr, modules/long-options, modules/makepath,
49268         modules/md5, modules/memcasecmp, modules/memcoll,
49269         modules/modechange, modules/mountlist, modules/path-concat,
49270         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
49271         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
49272         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
49273         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
49274         modules/strftime, modules/strndup, modules/strverscmp,
49275         modules/timespec, modules/unlocked-io, modules/userspec,
49276         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
49277         modules/yesno:
49278         Remove lib_SOURCES line from Makefile.am section, as this is now
49279         done automatically by the corresponding Autoconf macro.
49280
49281 2005-03-21  Jim Meyering  <jim@meyering.net>
49282
49283         Changes imported from coreutils.
49284
49285         * lib/cycle-check.c: Don't include xalloc.h.
49286
49287         * lib/path-concat.c: Don't include assert.h.
49288         (path_concat): Remove assertion that would have triggered
49289         for ABASE starting with more than one slash.
49290         Reported by Andreas Schwab.
49291
49292         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
49293         properly when ABASE is an absolute file name.
49294         Correct the description of this function.
49295         Include <assert.h>.
49296         Add an assertion and a test driver.
49297         This fixes a bug introduced on 2004-07-02.
49298         Andreas Schwab reported the resulting failure of cp --parents:
49299         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
49300
49301 2005-03-21  Jim Meyering  <jim@meyering.net>
49302
49303         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
49304         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
49305
49306 2005-03-21  Jim Meyering  <jim@meyering.net>
49307         and  Paul Eggert  <eggert@cs.ucla.edu>
49308
49309         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
49310         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
49311         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
49312         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
49313         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
49314         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
49315         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
49316         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
49317         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
49318         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
49319         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
49320         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
49321         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
49322         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
49323         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
49324         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
49325         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
49326         for these modules.
49327
49328 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
49329
49330         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
49331         (which shouldn't happen), generate nothing instead of returning 0
49332         immediately, so that nstrftime (NULL, ...) doesn't return 0.
49333
49334 2005-03-16  Bruno Haible  <bruno@clisp.org>
49335
49336         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
49337         HAVE_LONGLONG_64BIT.
49338
49339 2005-03-16  Bruno Haible  <bruno@clisp.org>
49340
49341         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
49342         HAVE_LONGLONG_64BIT.
49343
49344 2005-03-16  Bruno Haible  <bruno@clisp.org>
49345
49346         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
49347         HAVE_LONGLONG_64BIT.
49348
49349 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
49350
49351         * lib/strftime.c (my_strftime): Prepend space to format so that we can
49352         reliably distinguish strftime failure from empty output on POSIX
49353         hosts.
49354
49355 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
49356
49357         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
49358         (iconv_string): Don't guess a size-zero buffer, as that might cause
49359         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
49360         result would be 'too large', where 'too large' is (heuristically)
49361         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
49362         overflow concerns.  This will prevent some unwanted malloc failures
49363         when the inputs are very large.
49364
49365 2005-03-15  Karl Berry  <karl@gnu.org>
49366
49367         * config/srclist.txt (config.rpath): from gettext.
49368         * config/config.rpath: update.
49369
49370 2005-03-15  Bruno Haible  <bruno@clisp.org>
49371
49372         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
49373         to 'negate'.
49374
49375         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
49376         variable.
49377
49378         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
49379         results.
49380
49381 2005-03-14  Simon Josefsson  <jas@extundo.com>
49382
49383         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
49384         <fx@gnu.org>.
49385
49386 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
49387
49388         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
49389         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
49390         intprops.h.
49391         * lib/strtol.c: Likewise.
49392
49393 2005-03-14  Jim Meyering  <jim@meyering.net>
49394
49395         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
49396         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
49397         to be nonzero so that we (and caller) can detect the difference
49398         between a valid zero-length expansion and an error return, even
49399         when the underlying strftime fails before writing anything into
49400         that location.
49401
49402 2005-03-14  Bruno Haible  <bruno@clisp.org>
49403
49404         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
49405         Update from GNU gettext 0.14.3.
49406
49407 2005-03-10  Jim Meyering  <jim@meyering.net>
49408
49409         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
49410
49411 2005-03-10  Jim Meyering  <jim@meyering.net>
49412
49413         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
49414         so that this module works on systems without fchdir.
49415
49416 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
49417
49418         Factor int-properties macros into a single file, except for
49419         glibc-related files.
49420         * lib/intprops.h: New file.
49421         * lib/getloadavg.c: Include it instead of limits.h.
49422         (INT_STRLEN_BOUND): Remove.
49423         * lib/human.c: Include intprops.h.
49424         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
49425         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
49426         302/1000.
49427         * lib/inttostr.h: Include intprops.h instead of limits.h.
49428         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
49429         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
49430         for consistency with intprops.h.
49431         (time_t_is_integer, twos_complement_arithmetic): Use them.
49432         * lib/sig2str.h: Include <signal.h>, intprops.h.
49433         (INT_STRLEN_BOUND): Remove.
49434         * lib/strftime.c (TYPE_SIGNED): Remove.
49435         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
49436         * lib/strtol.c: Adjust comments to match intprops.h.
49437         * lib/userspec.c: Include intprops.h.
49438         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
49439         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
49440         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
49441         instead of rolling our own expressions.
49442         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
49443
49444         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
49445         instead of int.
49446         (my_strftime): Do not mishandle years close to INT_MAX, by doing
49447         the right thing even if adding 1900 would overflow.  Similarly
49448         for tm_mon + 1 and tm_yday + 1.
49449         Make %Y always equivalent to %C%y, and similarly for %G and %g.
49450         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
49451         (DO_SIGNED_NUMBER): New macro.
49452         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
49453
49454 2005-03-07  Bruno Haible  <bruno@clisp.org>
49455
49456         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
49457
49458 2005-03-07  Bruno Haible  <bruno@clisp.org>
49459
49460         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
49461
49462 2005-03-04  Derek R. Price  <derek@ximbiot.com>
49463
49464         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
49465         (func_import): Only replace files via --import when they have actually
49466         changed.
49467
49468 2005-03-03  Derek R. Price  <derek@ximbiot.com>
49469
49470         * m4/mmap-anon.m4: New file.
49471         * m4/pagealign_alloc.m4: New file.
49472
49473 2005-03-03  Derek R. Price  <derek@ximbiot.com>
49474             Bruno Haible  <bruno@clisp.org>
49475
49476         * modules/pagealign_alloc: New file.
49477         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
49478
49479 2005-03-03  Derek R. Price  <derek@ximbiot.com>
49480             Bruno Haible  <bruno@clisp.org>
49481
49482         * lib/pagealign_alloc.h: New file.
49483         * lib/pagealign_alloc.c: New file.
49484
49485 2005-03-03  Bruno Haible  <bruno@clisp.org>
49486
49487         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
49488         Use an all-permissive copyright notice, recommended by RMS.
49489
49490 2005-03-02  Bruno Haible  <bruno@clisp.org>
49491
49492         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
49493         of AIX, the replacement has to be done only after <string.h> is
49494         included, therefore not in config.h. stpncpy.h does the replacement,
49495         and stpncpy.c uses it.
49496
49497 2005-03-02  Bruno Haible  <bruno@clisp.org>
49498
49499         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
49500         stpncpy.c uses it.
49501
49502 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
49503
49504         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
49505         The workaround isn't strictly needed for POSIX conformance, and
49506         it's too much of a pain to configure and maintain.  We'll ask
49507         people to fix their kernels instead.
49508         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
49509         (NANOSLEEP_BUG_WORKAROUND): Remove.
49510         (xnanosleep): Remove the workaround.
49511
49512 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
49513
49514         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
49515         Reported by Derek Price.
49516         (Include): Add "timespec.h".
49517
49518         * modules/xnanosleep (Depends-on): Remove gethrxtime.
49519
49520 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
49521
49522         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
49523         to detect nanosleep bug.
49524
49525 2005-03-01  Bruno Haible  <bruno@clisp.org>
49526
49527         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
49528
49529 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
49530
49531         * modules/gethrxtime: New file.
49532         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
49533         (Depends-on): Add gethrxtime.
49534         (configure.ac): Add gl_XNANOSLEEP.
49535         (Makefile.am): Remove lib_SOURCES line.
49536
49537 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
49538
49539         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
49540         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
49541
49542 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
49543
49544         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
49545         * lib/timespec.h (gettime): Return void, since it always
49546         succeeds now.  All uses changed.
49547         * lib/gettime.c (gettime) Likewise.
49548         [HAVE_NANOTIME]: Prefer nanotime.
49549         Assume gettimeofday succeeds, as POSIX requires.
49550         Assime time () succeeds, since other code already does.
49551         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
49552         (timespec_subtract): Remove.
49553         (NANOSLEEP_BUG_WORKAROUND): New constant.
49554         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
49555         things considerably.  Use it only on GNU/Linux hosts, since the
49556         workaround shouldn't be needed elsewhere.
49557
49558 2005-02-24  Bruno Haible  <bruno@clisp.org>
49559
49560         * modules/gettext (Files): Add m4/glibc2.m4.
49561
49562 2005-02-24  Bruno Haible  <bruno@clisp.org>
49563
49564         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
49565         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
49566         * m4/progtest.m4:
49567         Update from GNU gettext 0.14.2.
49568         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
49569
49570 2005-02-24  Bruno Haible  <bruno@clisp.org>
49571
49572         * lib/localcharset.c: Update from GNU gettext 0.14.2.
49573         * lib/config.charset: Update from GNU gettext 0.14.2.
49574
49575 2005-02-24  Bruno Haible  <bruno@clisp.org>
49576
49577         * lib/gettext.h: Update from GNU gettext 0.14.2.
49578
49579 2005-02-23  Simon Josefsson  <jas@extundo.com>
49580
49581         * m4/iconvme.m4: New file.
49582
49583 2005-02-23  Jim Meyering  <jim@meyering.net>
49584
49585         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
49586         change.
49587         Thanks to Bruno Haible for catching it.
49588
49589 2005-02-22  Simon Josefsson  <jas@extundo.com>
49590
49591         * modules/iconvme: New file.
49592
49593         * MODULES.html.sh: Add iconvme.
49594
49595 2005-02-22  Simon Josefsson  <jas@extundo.com>
49596
49597         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
49598
49599 2005-02-22  Simon Josefsson  <jas@extundo.com>
49600
49601         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
49602
49603 2005-02-22  Jim Meyering  <jim@meyering.net>
49604
49605         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
49606         s/ifndef/ifdef/.
49607
49608 2005-02-20  Neil Conway  <neilc@samurai.com>
49609
49610         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
49611         returned by OSX/Darwin if the specified buffer is not large
49612         enough for the hostname.
49613
49614 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
49615
49616         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
49617         pass it to _help, otherwise the latter coredumps trying to
49618         dereference state.root_argp.
49619
49620 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
49621
49622         * modules/chdir-long (Depends-on): Add memrchr.
49623         * modules/memrchr (Files): Add lib/memrchr.h.
49624         (Include): "memrchr.h".
49625
49626 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
49627
49628         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
49629
49630 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
49631
49632         * lib/memrchr.h: New file.
49633         * lib/chdir-long.c: Include it.
49634         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
49635         Don't bother including stddef.h.
49636
49637 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
49638
49639         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
49640         inclusion.
49641         Include <sys/types.h>, for dev_t.
49642         (ME_DUMMY, ME_REMOTE): Move from here....
49643         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
49644         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
49645         Dmitry V. Levin.
49646         Include mountlist.h first, to test the interface.
49647
49648 2005-01-29  Bruno Haible  <bruno@clisp.org>
49649
49650         * lib/progname.c (program_name): Initialize.
49651         Needed when linking statically on MacOS X.
49652
49653 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
49654
49655         Sync from coreutils.
49656         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
49657         (Depends-on): Add c-strtod.
49658         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
49659
49660 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
49661
49662         Sync from coreutils.
49663         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
49664
49665         Remove files that are specific to coreutils.
49666         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
49667
49668 2005-01-28  Bruno Haible  <bruno@clisp.org>
49669
49670         * modules/javacomp: New file.
49671         * MODULES.html.sh (Java): Add javacomp.
49672
49673 2005-01-28  Bruno Haible  <bruno@clisp.org>
49674
49675         * m4/javacomp.m4: New file, from GNU gettext.
49676
49677 2005-01-28  Bruno Haible  <bruno@clisp.org>
49678
49679         * lib/javacomp.sh.in: New file, from GNU gettext.
49680         * lib/javacomp.h: New file, from GNU gettext.
49681         * lib/javacomp.c: New file, from GNU gettext.
49682
49683 2005-01-26  Simon Josefsson  <jas@extundo.com>
49684
49685         * lib/gai_strerror.c: Use GPL in header.
49686
49687 2005-01-26  Bruno Haible  <bruno@clisp.org>
49688
49689         * modules/javaexec: New file.
49690         * MODULES.html.sh (Java): Add javaexec.
49691
49692 2005-01-26  Bruno Haible  <bruno@clisp.org>
49693
49694         * m4/javaexec.m4: New file, from GNU gettext.
49695
49696 2005-01-26  Bruno Haible  <bruno@clisp.org>
49697
49698         * lib/javaexec.sh.in: New file, from GNU gettext.
49699         * lib/javaexec.h: New file, from GNU gettext.
49700         * lib/javaexec.c: New file, from GNU gettext.
49701
49702 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
49703
49704         * modules/lchown (Depends-on): Remove lchown.h
49705
49706 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
49707
49708         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
49709         must be defined if the header file was not found, in order
49710         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
49711
49712 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
49713
49714         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
49715         initializers for struct pentry_state.
49716         (__argp_error): Check return value of __asprintf
49717         (__argp_failure): Translate error message
49718
49719         * lib/argp-parse.c: Removed braces around the expansion of N_()
49720
49721 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
49722
49723         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
49724         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
49725         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
49726         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
49727         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
49728         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
49729         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
49730         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
49731         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
49732         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
49733         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
49734         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
49735         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
49736         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
49737         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
49738         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
49739         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
49740         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
49741         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
49742         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
49743         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
49744         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
49745         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
49746         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
49747         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
49748         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
49749         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
49750         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
49751         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
49752         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
49753         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
49754         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
49755         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
49756         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
49757         xstrtol.m4, xstrtoumax.m4, yesno.m4:
49758         Use an all-permissive copyright notice, recommended by RMS.
49759
49760 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
49761
49762         * modules/chdir-long (Depends-on): Remove mempcpy.
49763
49764 2005-01-21  Jim Meyering  <jim@meyering.net>
49765
49766         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
49767         same value as for Solaris 9.
49768
49769         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
49770         component length.  This included changing the parameter to be
49771         of type `char *' rather than `char const *'.
49772         * lib/chdir-long.h (chdir_long): Update prototype.
49773
49774         * lib/openat.c (fdopendir, fstatat): New functions.
49775         * lib/openat.h: Include headers required for use of DIR and struct
49776         stat.
49777         [AT_SYMLINK_NOFOLLOW]: Define.
49778         (fdopendir, fstatat): Add prototypes.
49779
49780 2005-01-21  Bruno Haible  <bruno@clisp.org>
49781
49782         * modules/classpath: New file.
49783         * MODULES.html.sh (Java): Add classpath.
49784
49785 2005-01-21  Bruno Haible  <bruno@clisp.org>
49786
49787         * lib/classpath.h: New file, from GNU gettext.
49788         * lib/classpath.c: New file, from GNU gettext.
49789
49790 2005-01-20  Simon Josefsson  <jas@extundo.com>
49791
49792         * modules/version-etc-fsf: New file.
49793
49794 2005-01-20  Simon Josefsson  <jas@extundo.com>
49795
49796         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
49797         * lib/version-etc.c: Remove version_etc_copyright.
49798         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
49799         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
49800
49801 2005-01-20  Simon Josefsson  <jas@extundo.com>
49802
49803         * lib/base64.h (isbase64): Add.
49804
49805         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
49806         using a unsigned prototype, don't inline.
49807         (base64_decode): Use it.
49808
49809 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
49810
49811         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
49812         it.
49813
49814 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
49815
49816         * lib/save-cwd.c (save_cwd): Remove code to support the case
49817         where fchdir is missing or flaky.
49818
49819 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
49820
49821         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
49822
49823 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
49824
49825         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
49826         AC_LIBSOURCES now does this.
49827         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
49828         with new ullong_max module.
49829
49830 2005-01-19  Bruno Haible  <bruno@clisp.org>
49831
49832         * modules/sh-quote: New file.
49833         * MODULES.html.sh (Executing programs): Add sh-quote.
49834
49835 2005-01-19  Bruno Haible  <bruno@clisp.org>
49836
49837         * lib/sh-quote.h: New file, from GNU gettext.
49838         * lib/sh-quote.c: New file, from GNU gettext.
49839
49840 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
49841
49842         Merge from coreutils.
49843         * m4/ullong_max.m4: New file.
49844         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
49845         (gl_MACROS): Assume localeconv exists.
49846
49847 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
49848
49849         Merge changes from coreutils, as described below in several
49850         changelogs dated today.
49851
49852         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
49853         (O_DIRECTORY): Remove; not needed here, since "." must be
49854         a directory.  All uses removed.
49855         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
49856         universal on Suns, and we also need to test for IRIX.
49857         Revamp code to use 'if' rather than '#if'.
49858         Avoid unnecessary comparison of cwd->desc to 0.
49859
49860         * lib/utimens.c (futimens): Robustify the previous patch, by checking
49861         for known valid error numbers rather than observed invalid ones.
49862
49863 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
49864
49865         * modules/ullong_max: New file.
49866
49867         * modules/chdir-long, modules/openat: New files.
49868         * modules/save-cwd (Depends-on): Depend on chdir-long.
49869         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
49870
49871 2005-01-18  Jim Meyering  <jim@meyering.net>
49872
49873         Merge from coreutils.
49874         * m4/chdir-long.m4, m4/openat.m4: New files.
49875         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
49876         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
49877         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
49878         is sane and DOES follow symlinks.  Besides, testing 20 different
49879         systems found no broken chown implementations.
49880         Prompted by a change in rsync's copy of this macro.
49881         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
49882
49883         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
49884
49885         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
49886         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
49887         NULL-means-set-to-current-time semantics.
49888         Remove temporary file immediately, rather than waiting
49889         for configure's at-exit trap code to do it.
49890
49891 2005-01-18  Jim Meyering  <jim@meyering.net>
49892
49893         * lib/version-etc.c (version_etc_copyright): Update copyright date.
49894
49895         * lib/utimens.c (futimens): Account for the fact that futimes
49896         can also fail with errno == ENOSYS or errno == ENOENT.
49897         Patch from Dmitry V. Levin.
49898
49899         Change the name of the robust chdir function from chdir to chdir_long.
49900         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
49901         (restore_cwd): Use chdir_long, not chdir.
49902         * lib/chdir-long.c: Renamed from chdir.c.
49903         * lib/chdir-long.h: Renamed from chdir.h.
49904         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
49905         Hurd.
49906
49907 2005-01-18  Bruno Haible  <bruno@clisp.org>
49908
49909         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
49910         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
49911         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
49912         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
49913         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
49914         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
49915         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
49916         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
49917         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
49918         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
49919         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
49920         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
49921         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
49922         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
49923         Use an all-permissive copyright notice, recommended by RMS.
49924
49925 2005-01-18  Bob Proulx  <bob@proulx.com>
49926
49927         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
49928         simplify offsetof() macro construct to avoid compile failure with
49929         native HP-UX 11.0 ANSI C compiler.
49930
49931 2005-01-17  Bruno Haible  <bruno@clisp.org>
49932
49933         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
49934         redundant because stpncpy.m4 takes care of it.
49935
49936 2005-01-17  Bruno Haible  <bruno@clisp.org>
49937
49938         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
49939
49940 2005-01-17  Bruno Haible  <bruno@clisp.org>
49941
49942         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
49943         used.
49944
49945 2005-01-17  Bruno Haible  <bruno@clisp.org>
49946
49947         * lib/fwriteerror.h (fwriteerror): Change specification to include
49948         fclose.
49949         * lib/fwriteerror.c: Include <stdbool.h>.
49950         (fwriteerror): At the end, close the file stream. Record whether
49951         stdout was already closed.
49952
49953 2005-01-17  Bruno Haible  <bruno@clisp.org>
49954
49955         * lib/execute.c (environ): Declare if needed.
49956         * lib/pipe.c (environ): Likewise.
49957         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
49958
49959 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
49960
49961         * modules/argp: Depend on vsnprintf
49962
49963 2005-01-10  Jim Meyering  <jim@meyering.net>
49964
49965         * modules/closeout (Depends-on): Add atexit.
49966
49967 2005-01-06  Bruno Haible  <bruno@clisp.org>
49968
49969         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
49970
49971 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
49972
49973         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
49974         definitions to be after all include files, to avoid collisions.
49975         Problem reported by Bob Proulx.
49976
49977 2005-01-04  Jim Meyering  <jim@meyering.net>
49978
49979         Changes imported from coreutils.
49980         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
49981         as the mkstemp template, use a temporary directory and an
49982         8.3-friendly template to avoid trouble on systems like DJGPP.
49983         Reported by Juan M. Guerrero via Stepan Kasal.
49984         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
49985         close. Remove the temporary directory right away, rather than waiting
49986         for configure's at-exit trap code to do it.
49987         Suggestion from Stepan Kasal.
49988
49989 2005-01-01  Simon Josefsson  <jas@extundo.com>
49990
49991         * gnulib-tool: Print #include directives when --import'ing.
49992
49993 2004-12-28  Simon Josefsson  <jas@extundo.com>
49994
49995         * tests/test-base64.c: Include required header files.  Remove
49996         unused variables.
49997
49998 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
49999
50000         * modules/error (Depends-on): Remove gettext.
50001
50002 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
50003
50004         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
50005         not needed.  This removes a dependency on the gettext module.
50006         [defined _LIBC]: Do not include <libintl.h>; not needed.
50007
50008 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
50009
50010         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
50011         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
50012
50013 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
50014
50015         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
50016         HAVE_DECL_STRTOLD.
50017
50018 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
50019
50020         * modules/getdate (Depends-on): Remove alloca-opt.
50021
50022 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
50023
50024         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
50025
50026 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
50027
50028         * lib/argp-parse.c: Include <stddef.h>.
50029         (alignof, alignto): New macros.
50030         (parser_init): Don't assume that void * is aligned sufficiently
50031         for struct option.
50032
50033         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
50034         need to extend the stack.
50035         (YYINITDEPTH): New macro, so that the initial stack isn't overly
50036         large.
50037
50038 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
50039
50040         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
50041
50042 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
50043
50044         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
50045         (2004-10-24) change.  Apparently this was a false alarm.
50046
50047         * modules/getdate: Depend on alloca-opt, not alloca.
50048
50049 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
50050
50051         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
50052         Remove now-obsolete comment about AIX.
50053         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
50054         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
50055         (YYMAXDEPTH): New macro.
50056
50057 2004-12-18  Simon Josefsson  <jas@extundo.com>
50058
50059         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
50060
50061 2004-12-18  Bruno Haible  <bruno@clisp.org>
50062
50063         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
50064
50065 2004-12-18  Bruno Haible  <bruno@clisp.org>
50066
50067         * lib/fatal-signal.c (fatal_signals): Make non-const.
50068         (init_fatal_signals): New function.
50069         (uninstall_handlers, install_handlers): Ignore signals that were set to
50070         SIG_IGN.
50071         (at_fatal_signal): Call init_fatal_signals.
50072         (init_fatal_signal_set): Likewise. Ignore signals that were set to
50073         SIG_IGN.
50074         Reported by Paul Eggert.
50075
50076 2004-12-18  Bruno Haible  <bruno@clisp.org>
50077
50078         * doc/alloca.texi: New file.
50079         * doc/alloca-opt.texi: New file.
50080
50081 2004-12-17  Jim Meyering  <jim@meyering.net>
50082
50083         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
50084         Otherwise, install-sh could exit with improper exit status when
50085         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
50086
50087 2004-12-16  Simon Josefsson  <jas@extundo.com>
50088
50089         * tests/test-base64.c: Add license.
50090
50091 2004-12-15  Stepan Kasal  <address@hidden>
50092
50093         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
50094
50095 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
50096
50097         * modules/getcwd (Files): Add m4/d-ino.m4.
50098         Suggested by Mark D. Baushke.
50099
50100 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
50101
50102         * lib/getdate.y (textint): New member "negative".
50103         (time_zone_hhmm): New function.
50104         Expect 14 shift-reduce conflicts, not 13.
50105         (o_colon_minutes): New rule.
50106         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
50107         (yylex): Set the "negative" member of signed numbers.
50108
50109 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
50110
50111         * doc/getdate.texi (Time of day items, Time zone items):
50112         Describe new formats +00:00, UTC+00:00.
50113
50114 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
50115
50116         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
50117         spurious "-l"s.  Problem reported by Stepan Kasal.
50118
50119 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
50120
50121         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
50122         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
50123
50124 2004-12-04  Simon Josefsson  <jas@extundo.com>
50125
50126         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
50127         Vandoorselaere <yoann@prelude-ids.org>.
50128
50129 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
50130
50131         Changes imported from coreutils.
50132         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
50133         exist.
50134         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
50135
50136 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
50137
50138         Changes imported from coreutils.
50139         * lib/hard-locale.c: Assume <locale.h> exists.
50140         Include "strdup.h".
50141         (GLIBC_VERSION): New macro.
50142         (hard_locale): Assume setlocale exists.
50143         Rewrite to avoid #ifdef.
50144         Use strdup rather than malloc + strcpy.
50145         * lib/human.c: Assume <locale.h> exists.
50146         (human_readable): Assume localeconv exists.
50147
50148 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
50149
50150         * modules/hard-locale (Depends-on): Add strdup.
50151
50152 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
50153
50154         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
50155         convert T2, not T.  (Imported from libc.)
50156
50157 2004-11-30  Simon Josefsson  <jas@extundo.com>
50158
50159         * modules/restrict (License): Change to LGPL.
50160
50161 2004-11-30  Simon Josefsson  <jas@extundo.com>
50162
50163         * m4/restrict.m4: Add copyright and copying conditions.
50164
50165 2004-11-30  Simon Josefsson  <jas@extundo.com>
50166
50167         * m4/base64.m4: New file.
50168
50169 2004-11-30  Simon Josefsson  <jas@extundo.com>
50170
50171         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
50172         base64.
50173
50174         * tests/test-base64.c: New file.
50175
50176         * modules/base64: New file.
50177
50178 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
50179
50180         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
50181         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
50182
50183         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
50184
50185 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
50186
50187         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
50188         (__getcwd.c): Don't restore errno; glibc doesn't.
50189         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
50190         first, falling back to our code only if its results look suspicious.
50191         Ensure that the resulting buffer is only as large as necessary.
50192
50193         * lib/readutmp.c: Include readutmp.h first.
50194         Include <errno.h>, since readutmp.h no longer does that.
50195         * lib/readutmp.h: Don't include <errno.h>,
50196         <sys/param.h>, <time.h>; not needed to establish interface.
50197         (errno): Remove decl.
50198         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
50199         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
50200         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
50201
50202 2004-11-28  Simon Josefsson  <jas@extundo.com>
50203
50204         * lib/base64.h, base64.c: New file.
50205
50206 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
50207
50208         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
50209
50210 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
50211
50212         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
50213         (Depends-on): Remove pathmax, same.  Add mempcpy.
50214         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
50215         (Makefile.am): Append getcwd.h to lib_SOURCES.
50216         (Include): Add getcwd.h.
50217         (Maintainer): Change from Jim Meyering to "all, glibc",
50218         since getdate now uses intended-for-glibc code.
50219         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
50220         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
50221
50222 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
50223
50224         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
50225         HP's ANSI C compiler.
50226         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
50227         Declaring int functions causes warnings on some modern systems and
50228         shouldn't be needed to compile on ancient ones.
50229         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
50230         defined.
50231
50232         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
50233         with the following changes.
50234         (__set_errno): Parenthesize properly.
50235         Include <stdbool.h>.
50236         (MIN, MAX, MATCHING_INO): New macros.
50237         (__getcwd): Define with prototype, not K&R form.
50238         Use heuristics to allocate default buffer on stack if possible.
50239         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
50240         behavior, and to avoid the PATH_MAX limit when computing
50241         ../../../../...
50242         Use MATCHING_INO to compare inode number to file.
50243         Check for arithmetic overflow in size calculations.
50244         Fix bug in reallocation of dot array that caused getcwd to fail
50245         on directories nested deeper than 75.
50246         Be more careful about saving errno on error.
50247         Do not use realloc; use only free+malloc, as this is a bit
50248         more flexible and avoids a needless copy operation.
50249         Do not inspect st_dev and st_ino for symbolic links; POSIX
50250         doesn't specify the latter.
50251         Check for closedir errors.
50252         Avoid needless casts.
50253         Use "#ifdef weak_alias" around weak_alias, to be like other
50254         glibc code.
50255         The following changes to getcwd.c have effect only when used in
50256         gnulib; they have no effect inside glibc proper.
50257         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
50258         as alloca isn't used.
50259         (alloca, __alloca): Likewise.
50260         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
50261         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
50262         unconditionally, as gnulib assumes C89 or better.
50263         Do not include <sys/param.h>.
50264         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
50265         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
50266         better.
50267         (NULL) [!defined NULL]: Remove; we assume C89 or better.
50268         Include <dirent.h> in a way that is compatible with modern Autoconf.
50269         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
50270         New macros, if not already defined.
50271         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
50272         Use "_LIBC", not "defined _LIBC", for consistency.
50273         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
50274         a mempcpy module.
50275         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
50276         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
50277         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
50278         credit only to Jim Meyering and adjust the copyright dates.
50279         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
50280         <stdlib.h>, <unistd.h>, "pathmax.h".
50281         Instead, include "xgetcwd.h" (first) and "getcwd.h".
50282         (INITIAL_BUFFER_SIZE): Remove.
50283         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
50284
50285 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
50286
50287         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
50288         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
50289         Use the _ONCE methods, for efficiency.
50290         Check for fcntl.h.  In test program, include <errno.h>
50291         and <fcntl.h> if available.  Remove old K&R cruft from
50292         test program.  Check for common errors in GNU/Linux,
50293         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
50294         don't do AC_LIBOBJ, as that's getcwd.m4's job.
50295         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
50296         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
50297         name accordingly.
50298         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
50299         accommodate new getcwd.c.
50300         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
50301         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
50302         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
50303         that's all we need now.
50304
50305 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
50306
50307         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
50308         argp-parse.c depends on getopt internals, that means we should
50309         always use our getopt, to be on the safe side.
50310         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
50311         order not to spoil the result of an eventual previous invocation
50312         of gl_GETOPT_SUBSTITUTE.
50313
50314 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
50315
50316         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
50317         redefinition warnings. To avoid them, include the defines
50318         in `#if !defined __need_getopt ... #endif'. The only place
50319         where __getopt_argv_const is used is in definitions
50320         of getopt_long and getopt_long_only below, which are as well
50321         protected by `#ifndef __need_getopt'.
50322         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
50323         __need_getopt after including <stdio.h> and <unistd.h> These
50324         headers might have defined it.
50325
50326 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
50327
50328         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
50329
50330 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
50331
50332         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
50333         (futimens): New function, which uses futimes if available.
50334         (futimens, utimens): Support timespec==NULL, with same semantics
50335         as utime and utimens.
50336         * lib/utimens.h (futimens): New decl.
50337
50338 2004-11-23  Jim Meyering  <jim@meyering.net>
50339
50340         * lib/getopt_.h: Remove trailing blanks.
50341
50342 2004-11-23  Jim Meyering  <jim@meyering.net>
50343
50344         * lib/__fpending.c: Add comment.
50345
50346 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
50347
50348         * modules/canonicalize (Depends-on): Add xreadlink.
50349         Problem reported by James Youngman.
50350
50351 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
50352
50353         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
50354         New macros.
50355         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
50356         optopt): Use them instead of invoking ## directly; otherwise, the
50357         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
50358
50359 2004-11-19  Bruno Haible  <bruno@clisp.org>
50360
50361         * lib/strtok_r.c: Move comments from here...
50362         * lib/strtok_r.h: ... to here.
50363
50364 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
50365
50366         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
50367         implementations that mishandle size_t overflow.
50368
50369 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
50370
50371         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
50372         might fail.  Problem reported by Yoann Vandoorselaere.
50373         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
50374         implementations that mishandle size_t overflow.
50375
50376 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
50377
50378         * modules/canon-host (Depends-on): Add strdup.
50379
50380 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
50381
50382         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
50383
50384 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
50385
50386         * lib/canon-host.c: Include "strdup.h".
50387         (canon_host): Use getaddrinfo if available, so that IPv6 works.
50388         Use strdup instead of malloc/strcpy to duplicate strings.
50389
50390         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
50391         (human_space_before_unit): New constant.
50392         * lib/human.c (human_readable): Support it.
50393
50394         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
50395         (xgetcwd): Set errno correctly when failing.
50396         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
50397         the failure is actually due to a PATH_MAX problem.
50398
50399         Further getopt changes to make it more likely that glibc will
50400         buy the changes back.
50401         * lib/getopt.c (POSIXLY_CORRECT): New constant.
50402         (getopt): Use it, so to preserve glibc semantic
50403         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
50404         when compiling for libc.
50405         * lib/getopt_.h (__getopt_argv_const): Bring it back.
50406         (getopt_long, getopt_long_only): Use it.
50407
50408         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
50409         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
50410         (getopt): Argv is now char * const *, as per standard.
50411         (_getopt_internal_r, _getopt_internal): Argv is now char **,
50412         not char *__getopt_argv_const *.
50413         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
50414         _getopt_long_only_r): Likewise.
50415         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
50416         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
50417         _getopt_long_r, _getopt_long_only_r): Likewise.
50418         * lib/getopt_.h (__getopt_argv_const): Remove.
50419         (getopt): Argv is now char * const *, as per standard.
50420
50421         * lib/getdate.y (tORDINAL): New token.
50422         (day, relunit): Allow it for relative times.
50423         (relative_time_table): Use tORDINAL for ordinals.
50424
50425 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
50426
50427         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
50428         Document that "second" isn't allowed as an ordinal number.
50429
50430 2004-11-16  Jim Meyering  <jim@meyering.net>
50431
50432         * modules/closeout (Depends-on): Add fpending.
50433
50434 2004-11-15  Jim Meyering  <jim@meyering.net>
50435
50436         * lib/closeout.c: Include "__fpending.h" once again.
50437         Include <stdbool.h>.
50438         (close_stdout): Don't fail just because stdout was closed initially,
50439         since some programs don't write to stdout in the normal course of
50440         operation (other than --version and --help), and we don't want this
50441         function to make e.g. `touch file >&-' fail.
50442         But do fail if it was closed and someone has tried to write to it.
50443         E.g., `printf foo >&-' must fail.
50444
50445 2004-11-13  Jim Meyering  <jim@meyering.net>
50446
50447         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
50448
50449 2004-11-12  Simon Josefsson  <jas@extundo.com>
50450
50451         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
50452         small doc fix is still pending.
50453
50454 2004-11-11  Simon Josefsson  <jas@extundo.com>
50455
50456         * modules/strtok_r: New file.
50457
50458         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
50459         strtok_r.
50460
50461 2004-11-11  Simon Josefsson  <jas@extundo.com>
50462
50463         * m4/strtok_r.m4: New file.
50464
50465         * m4/getopt.m4: Replace opterr.
50466
50467 2004-11-11  Simon Josefsson  <jas@extundo.com>
50468
50469         * lib/strtok_r.h, strtok_r.c: New file.
50470
50471 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
50472
50473         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
50474         of replacing opterr, getopt, etc.  This should handle the
50475         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
50476
50477 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
50478
50479         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
50480         we can stop lying to compilers about the constness of argv when we
50481         are compiled outside glibc.
50482         (getopt, getopt_long, getopt_long_only): Use it.
50483         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
50484         _getopt_internal, getopt): Likewise.
50485         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
50486         _getopt_long_only_r): Likewise.
50487         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
50488         _getopt_long_r, _getopt_long_only_r): Likewise.
50489
50490         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
50491         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
50492         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
50493         the other external symbols.
50494         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
50495         declaration, since the above renaming now works around collisions.
50496
50497 2004-11-11  Jim Meyering  <jim@meyering.net>
50498
50499         * lib/linebreak.c: Remove trailing blanks.
50500         * lib/alloca_.h: Likewise.
50501         * lib/acosl.c: Likewise.
50502         * lib/euidaccess.c: Likewise.
50503         * lib/allocsa.h: Likewise.
50504
50505 2004-11-10  Simon Josefsson  <jas@extundo.com>
50506
50507         * m4/getaddrinfo.m4: New file.
50508
50509 2004-11-10  Simon Josefsson  <jas@extundo.com>
50510
50511         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
50512
50513 2004-11-10  Simon Josefsson  <jas@extundo.com>
50514
50515         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
50516         getaddrinfo.
50517
50518         * modules/getaddrinfo: New file.
50519
50520 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
50521
50522         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
50523
50524 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
50525
50526         * lib/mktime.c (SHR): New macro, which is a portable
50527         substitute for >> that should work even on Crays.
50528         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
50529         Problem reported by Mark D. Baushke in
50530         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
50531         * lib/getdate.y (SHR): Likewise.
50532         (tm_diff): Use it.
50533         * lib/strftime.c (SHR): Likewise.
50534         (tm_diff): Use it.
50535         * lib/quotearg.c (struct quoting_options): Use unsigned int for
50536         quote_these_too, so that right shifts are well defined.  All uses
50537         changed.
50538
50539 2004-11-10  Jim Meyering  <jim@meyering.net>
50540
50541         Ensure that no close failure goes unreported.
50542         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
50543         return early when it seems there's nothing to flush.
50544         Don't include __fpending.h.
50545
50546 2004-11-10  Jim Meyering  <jim@meyering.net>
50547
50548         * modules/closeout (Depends-on): Remove fpending.
50549
50550 2004-11-10  Jim Meyering  <jim@meyering.net>
50551
50552         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
50553
50554 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
50555
50556         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
50557         gl_FUNC_STRFTIME.
50558         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
50559         and AC_REQUIRE when possible, to avoid duplicate checks.
50560         Check for <wchar.h>.
50561
50562 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
50563
50564         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
50565
50566 2004-11-09  Bruno Haible  <bruno@clisp.org>
50567
50568         * m4/sockpfaf.m4: New file.
50569
50570 2004-11-05  Bruno Haible  <bruno@clisp.org>
50571
50572         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
50573         Reported by Mark D. Baushke <mdb@cvshome.org>.
50574
50575 2004-11-04  Bruno Haible  <bruno@clisp.org>
50576
50577         2004-09-11  Bruno Haible  <bruno@clisp.org>
50578                 * allocsa.valgrind: New file.
50579         2004-02-06  Bruno Haible  <bruno@clisp.org>
50580                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
50581                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
50582                 Reported by Christopher Seip <chris.seip@hp.com>.
50583
50584 2004-11-04  Bruno Haible  <bruno@clisp.org>
50585
50586         * modules/allocsa (Files): Add lib/allocsa.valgrind.
50587         (Makefile.am): Distribute it.
50588
50589 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
50590
50591         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
50592         with errno == ERANGE if the buffer is too small.
50593         Problem reported by Mark D. Baushke.
50594
50595 2004-11-03  Albert Chin  <china@thewrittenword.com>
50596             Paul Eggert  <eggert@cs.ucla.edu>
50597
50598         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
50599         equivalent, substitute $ac_type for equivalent type rather than
50600         blindly using uint32_t *always* which won't work if uint32_t is not
50601         available.  Define _UINT32_T to work around typedef of uint32_t if
50602         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
50603         2.5.1.
50604
50605 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
50606
50607         * m4/jm-macros.m4: Sync from coreutils.
50608         (gl_MACROS): Check for mbrlen, for pathchk.
50609         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
50610
50611 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
50612
50613         * lib/xreadlink.c (MAXSIZE): New macro.
50614         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
50615         size does not exceed MAXSIZE.  Avoid cast.
50616         As suggested by Mark D. Baushke in
50617         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
50618         if readlink fails with buffer size just under MAXSIZE, try again
50619         with MAXSIZE.
50620
50621 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
50622
50623         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
50624
50625 2004-11-02  Derek R. Price  <derek@ximbiot.com>
50626         and  Paul Eggert  <eggert@cs.ucla.edu>
50627
50628         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
50629         (get_date): Overparenthesize to avoid GCC warning.
50630
50631 2004-11-02  Bruno Haible  <bruno@clisp.org>
50632
50633         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
50634         returns void.
50635
50636 2004-11-02  Bruno Haible  <bruno@clisp.org>
50637
50638         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
50639         function returns void.
50640
50641 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
50642
50643         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
50644         fflush_unlocked, flockfile, funlockfile, funlockfile,
50645         fputs_unlocked, putc_unlocked.
50646
50647 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
50648
50649         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
50650         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
50651         already declared.
50652
50653 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
50654
50655         * modules/getdate (Files): Add doc/getdate.texi.
50656         (Depends-on): Add setenv, xalloc.
50657
50658 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
50659
50660         * lib/getdate.y: Add support for TZ="foo" within a date string.
50661         Fix some bugs near time_t boundaries.  Reject dates with
50662         out-of-range components, e.g., "Sept 31".
50663         Include <stdlib.h>, "setenv.h", "xalloc.h".
50664         (ISDIGIT_LOCALE): Remove; unused.
50665         Note that the TZ and time functions used here are not reentrant.
50666         (mktime_ok, get_tz): New functions.
50667         (TZBUFSIZE): New constant.
50668         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
50669         This requires that we sometimes generate our own TZ="XXX..." setting.
50670
50671 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
50672
50673         * doc/getdate.texi: New file, from coreutils with modifications for
50674         the new TZ parsing.
50675
50676 2004-10-27  Derek R. Price  <derek@ximbiot.com>
50677
50678         * lib/mktime.c (not_equal_tm): Remove redundant check.
50679
50680 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
50681
50682         * modules/regex (lib_SOURCES): Add regex.c.
50683         Reported by James Youngman in
50684         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
50685
50686 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
50687
50688         * lib/getdate.y: Use Bison 1.875 features, and some minor
50689         code cleanups.  This change does not affect semantics.
50690         Don't include <stdlib.h>; no longer needed.
50691         Don't include unlocked-io.h; only the "#if TEST" code uses
50692         stdio, and performance isn't crucial there.
50693         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
50694         Bison 1.875 features as described below.
50695         All uses of "PC." replaced by "pc->".
50696         (YYSTYPE): Add a forward declaration.
50697         (yylex, yyerror): Use full prototypes in forward decls.
50698         Use "%pure-parser" rather than obsolescent "%pure_parser".
50699         Use %parse-param and %lex-param instead of obsolescent
50700         YYPARSE_PARAM and YYLEX_PARAM.
50701         (meridian_table, month_and_day_table, time_units_table,
50702         relative_time_table, time_zone_table, military_table,
50703         lookup_zone, lookup_word, get_date):
50704         Use NULL instead of 0 where appropriate.
50705         (to_hour): Avoid abort (), to avoid a dependency on
50706         stdlib.h.
50707         (yyerror, yylex): Now accepts parser_control * arg.
50708         (main) [TEST]: Use '\0' rather than 0 for char.
50709
50710 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
50711
50712         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
50713
50714 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
50715
50716         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
50717         It's now the caller's responsibility to handle the case where
50718         !HAVE_GETPAGESIZE && !defined getpagesize.
50719
50720         * lib/mktime.c (leapyear): Arg is long int, not int.
50721
50722 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
50723
50724         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
50725
50726 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
50727
50728         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
50729         missing.  Problem reported by James Youngman.
50730
50731 2004-10-16  Simon Josefsson  <jas@extundo.com>
50732
50733         * gnulib-tool: Fix comments.  Fix parse problem.
50734         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
50735
50736 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
50737
50738         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
50739         implementation of getopt_long.  Problem reported by Alexander Taler in:
50740         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
50741
50742 2004-10-15  Bruno Haible  <bruno@clisp.org>
50743
50744         * gnulib-tool: Untabify. Initialize supplied_libname.
50745         (func_usage): More homogenous output.
50746         (func_modules_transitive_closure, func_modules_to_filelist,
50747         func_emit_lib_Makefile_am): New functions.
50748         (func_import): New function, extracted from big case statement. Use
50749         func_get_license, func_modules_transitive_closure,
50750         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
50751         opt_lgpl. Don't use test -a, as it's not portable.
50752         (func_create_testdir): Use func_modules_transitive_closure,
50753         func_modules_to_filelist, func_emit_lib_Makefile_am.
50754
50755 2004-10-15  Bruno Haible  <bruno@clisp.org>
50756
50757         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
50758
50759 2004-10-15  Bruno Haible  <bruno@clisp.org>
50760
50761         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
50762         the portions belonging to each module.
50763         Suggested by Derek Robert Price <derek@ximbiot.com>.
50764
50765 2004-10-12  Simon Josefsson  <jas@extundo.com>
50766
50767         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
50768         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
50769         to real functions.
50770
50771 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
50772
50773         * modules/vsnprintf: New file.
50774
50775 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
50776
50777         * m4/vsnprintf.m4: New file.
50778
50779 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
50780
50781         * lib/vsnprintf.h: New file.
50782         * lib/vsnprintf.c: New file.
50783
50784 2004-10-11  Bruno Haible  <bruno@clisp.org>
50785
50786         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
50787         vsnprintf.
50788
50789 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
50790
50791         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
50792
50793 2004-10-07  Bruno Haible  <bruno@clisp.org>
50794
50795         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
50796         fits into the provided buffer.
50797
50798 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
50799
50800         * lib/diacrit.c, diacrit.h: Add GPL notice.
50801
50802         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
50803         notice.
50804         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
50805         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
50806         This avoids a potential constant-folding bug.
50807
50808 2004-10-05  Bruno Haible  <bruno@clisp.org>
50809
50810         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
50811         for the declaration of strsep.
50812
50813 2004-10-05  Bruno Haible  <bruno@clisp.org>
50814
50815         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
50816
50817 2004-10-04  Simon Josefsson  <jas@extundo.com>
50818
50819         * modules/memmem: New file.
50820         * tests/test-memmem.c: New file.
50821         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
50822
50823 2004-10-04  Simon Josefsson  <jas@extundo.com>
50824
50825         * m4/memmem.m4: New file.
50826
50827 2004-10-04  Simon Josefsson  <jas@extundo.com>
50828
50829         * lib/memmem.h: New file.
50830         * lib/memmem.c: New file, taken from glibc.
50831
50832 2004-10-04  Simon Josefsson  <jas@extundo.com>
50833
50834         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
50835         '#ifdef USE_UNLOCKED_IO'.
50836
50837 2004-10-04  Simon Josefsson  <jas@extundo.com>
50838
50839         * config/srclist.txt: Add memmem from glibc.
50840
50841 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
50842
50843         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
50844
50845         * modules/argmatch, modules/argp, modules/closeout, modules/error,
50846         modules/exclude, modules/getdate, modules/getline,
50847         modules/getndelim2, modules/getpass, modules/getpass-gnu,
50848         modules/getusershell, modules/linebuffer, modules/md5,
50849         modules/mountlist, modules/posixtm, modules/readtokens,
50850         modules/readutmp, modules/regex, modules/sha1,
50851         modules/version-etc, modules/yesno:
50852         Remove dependency on unlocked-io.
50853
50854 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
50855
50856         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
50857
50858         * m4/unlocked-io.m4: Add copyright notice.
50859         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
50860
50861 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
50862
50863         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
50864         * lib/xmalloc.c (xmemdup): Likewise.
50865         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
50866         XFREE): Remove these long-obsolescent macros.
50867         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
50868         * lib/xstrdup.c: Remove.
50869
50870         * lib/regex.c (re_comp): Cast gettext return value to char *,
50871         Problem reported by Martin Neitzel via Mark D. Baushke.
50872
50873 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
50874
50875         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
50876         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
50877         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
50878         regex.c, sha1.c, version-etc.c, yesno.c:
50879         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
50880         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
50881         the includer's responsibility.
50882
50883         Sync from coreutils.
50884
50885         * lib/modechange.c (mode_compile): Don't decrement a pointer that
50886         points to the start of a string, as the C Standard says the
50887         resulting behavior is undefined.
50888
50889         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
50890         simple -> simple_backups, numbered_existing ->
50891         numbered_existing_backups, numbered -> numbered_backups
50892         to avoid shadowing problems.  All uses changed.
50893         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
50894         * lib/backupfile.c (check_extension, numbered_backup):
50895         Rename locals to avoid shadowing 'basename'.
50896         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
50897         once.
50898
50899         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
50900         * lib/.cvsignore: Add getopt.h.
50901
50902 2004-10-04  Bruno Haible  <bruno@clisp.org>
50903
50904         * modules/README: New file.
50905         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
50906         not a module.
50907
50908 2004-10-02  Jim Meyering  <jim@meyering.net>
50909
50910         * lib/dirfd.h, getpagesize.h: Add copyright notice.
50911
50912 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
50913
50914         * modules/strsep: New file.
50915
50916 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
50917
50918         * m4/strsep.m4: New file.
50919
50920 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
50921
50922         * lib/strsep.h: New file.
50923         * lib/strsep.c: New file.
50924
50925 2004-10-01  Simon Josefsson  <jas@extundo.com>
50926
50927         * lib/snprintf.c (snprintf): Handle size==0.
50928
50929 2004-10-01  Simon Josefsson  <jas@extundo.com>
50930             Bruno Haible  <bruno@clisp.org>
50931
50932         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
50933         (snprintf): Declare 'args'.
50934
50935 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
50936
50937         * lib/snprintf.c: Remove comments as to why each header is needed.
50938
50939 2004-10-01  Bruno Haible  <bruno@clisp.org>
50940
50941         * MODULES.html.sh: Add strsep.
50942
50943 2004-09-30  Simon Josefsson  <jas@extundo.com>
50944
50945         * modules/snprintf: New file.
50946
50947 2004-09-30  Simon Josefsson  <jas@extundo.com>
50948
50949         * m4/snprintf.m4: New file.
50950
50951 2004-09-30  Simon Josefsson  <jas@extundo.com>
50952
50953         * lib/snprintf.h, lib/snprintf.c: New files.
50954
50955 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
50956
50957         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
50958         (hol_entry_help): Never translate an empty string.
50959         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
50960         * lib/argp.h (OPTION_NO_TRANS): New option.
50961
50962 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
50963
50964         * modules/argp (Maintainer): Replace Simon Josefsson
50965         by Sergey Poznyakoff.
50966
50967 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
50968
50969         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
50970         changes merged back into glibc.
50971
50972 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
50973
50974         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
50975
50976 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
50977
50978         * lib/xvasprintf.c: Include xalloc.h.
50979         (xvasprintf): Use xalloc_die, not xmalloc_die.
50980
50981 2004-09-29  Bruno Haible  <bruno@clisp.org>
50982
50983         * modules/alloca-opt: New file, derived from modules/alloca.
50984         * modules/allocsa: Depend on alloca-opt instead of alloca.
50985         * modules/setenv: Likewise.
50986         * modules/vasnprintf: Likewise.
50987         * MODULES.html.sh: Add alloca-opt.
50988
50989 2004-09-28  Simon Josefsson  <jas@extundo.com>
50990
50991         * gnulib-tool: New parameter --lgpl, to asseert that modules are
50992         LGPL, and to replace license template from GPL to LGPL.
50993
50994 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
50995
50996         * modules/dummy: Change license to LGPL.
50997
50998 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
50999
51000         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
51001
51002 2004-09-24  Simon Josefsson  <jas@extundo.com>
51003
51004         * modules/minmax (License): Change from GPL to LGPL.
51005
51006 2004-09-23  Simon Josefsson  <jas@extundo.com>
51007
51008         * gnulib-tool (--import): Typo.
51009
51010 2004-09-23  Simon Josefsson  <jas@extundo.com>
51011
51012         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
51013
51014 2004-09-22  Bruno Haible  <bruno@clisp.org>
51015
51016         * modules/*: Add 'License' field.
51017         * gnulib-tool: Accept --extract-license option.
51018         (func_get_license): New function.
51019
51020 2004-09-21  Bruno Haible  <bruno@clisp.org>
51021
51022         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
51023         Reported by Simon Josefsson.
51024
51025 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
51026
51027         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
51028         gl_AC_TYPE_LONG_LONG.
51029
51030 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
51031
51032         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
51033
51034 2004-09-18  Simon Josefsson  <jas@extundo.com>
51035         and  Paul Eggert  <eggert@cs.ucla.edu>
51036
51037         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
51038         calls with autoreconf.  Define GL_LIB.
51039
51040 2004-09-14  Karl Berry  <karl@gnu.org>
51041
51042         * config/srclist.txt: unsync setenv.c, sigh.
51043
51044 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
51045
51046         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
51047         Problem reported by Bruno Haible in:
51048         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
51049
51050 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
51051
51052         * config/srclist.txt: Comment out argp-pvh.c.
51053
51054 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
51055
51056         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
51057         in case some system header has #define'd it.  Problem reported by
51058         Soeren D. Schulze in
51059         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
51060
51061 2004-09-09  Karl Berry  <karl@gnu.org>
51062
51063         * regex.[ch]: delete from the root.  These were supposed to be
51064                 synced with emacs cvs, but this has not happened for about
51065                 a year, and anyway nothing else uses emacs regex.[ch].
51066                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
51067                 lib/regex[.ch] is untouched.
51068
51069 2004-09-09  Bruno Haible  <bruno@clisp.org>
51070
51071         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
51072
51073 2004-09-09  Bruno Haible  <bruno@clisp.org>
51074
51075         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
51076         modifications.
51077         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
51078
51079 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
51080
51081         * modules/xvasprintf: New file.
51082         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
51083
51084 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
51085
51086         * lib/xvasprintf.h: New file.
51087         * lib/xvasprintf.c: New file.
51088         * lib/xasprintf.c: New file.
51089
51090 2004-09-08  Bruno Haible  <bruno@clisp.org>
51091
51092         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
51093
51094 2004-09-08  Bruno Haible  <bruno@clisp.org>
51095
51096         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
51097         length is > INT_MAX.
51098         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
51099         more.
51100
51101 2004-09-08  Bruno Haible  <bruno@clisp.org>
51102
51103         * lib/stdint_.h: New file, taken from GNU clisp.
51104
51105 2004-09-08  Bruno Haible  <bruno@clisp.org>
51106             Oskar Liljeblad  <oskar@osk.mine.nu>
51107
51108         * modules/stdint: New file.
51109         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
51110
51111 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
51112
51113         Import from coreutils.
51114         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
51115         strings on unbounded length.  alloca's performance benefits aren't
51116         that important here.
51117         (V_STRDUP): Remove.
51118         (parse_with_separator): New function, with most of the internals
51119         of the old parse_user_spec.  Allow user to omit both user and group,
51120         for compatibility with FreeBSD.
51121         Clone only the user name, not the entire spec.
51122         Do not set *uid, *gid unless entirely successful.
51123         Avoid memory leak in some failing cases.
51124         Fix regression for USER.GROUP reported by Dmitry V. Levin in
51125         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
51126         (parse_user_spec): Rewrite to use parse_with_separator.
51127
51128 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
51129
51130         * modules/userspec: Don't depend on alloca.
51131
51132 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
51133
51134         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
51135
51136 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
51137
51138         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
51139         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
51140         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
51141
51142 2004-08-16  Simon Josefsson  <jas@extundo.com>
51143
51144         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
51145         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
51146         Add --dry-run for --import.
51147         Let user provided command line parameters override configure.ac
51148         settings.
51149
51150 2004-08-12  Simon Josefsson  <jas@extundo.com>
51151
51152         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
51153         as discussed with Paul Eggert in threads rooted at
51154         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
51155         and
51156         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
51157         Before, the test was empty, and relied on ELIDE_CODE in source
51158         code.)
51159         (gl_PREREQ_GETOPT): New macro.
51160         (gl_GETOPT): Use them.
51161
51162 2004-08-12  Simon Josefsson  <jas@extundo.com>
51163
51164         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
51165         * lib/getopt_.h: Renamed from getopt.h.
51166
51167 2004-08-12  Simon Josefsson  <jas@extundo.com>
51168
51169         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
51170         Change default library name from libfoo to libgnu.
51171         Now, if you have a configure.ac that says:
51172                 gl_SOURCE_BASE(gl)
51173                 gl_M4_BASE(gl/m4)
51174                 gl_MODULES(error getopt etcetera)
51175                 gl_INIT
51176         you can import all you need by running:
51177                 ../gnulib/gnulib-tool --import
51178
51179         * modules/getopt (Files): Rename getopt.h to getopt_.h.
51180         (Makefile.am): Rewrite, use logic from argz.
51181         (Include): Use <getopt.h> instead of "getopt.h".
51182
51183 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
51184
51185         * modules/argp (Files): Add m4/unlocked-io.m4.
51186         (Depends-on): Add extensions.
51187
51188 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
51189
51190         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
51191         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
51192         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
51193         Check for program_invocation_name, program_invocation_short_name,
51194         flockfile, funlockfile, features.h, _getopt_long_only_r.
51195
51196 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
51197
51198         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
51199         its complicated substitute.
51200         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
51201         and program_invocation_name.
51202         (__argp_basename) [!_LIBC]: Remove; the only use was
51203         replaced by its body.
51204         (__argp_short_program_name): Change condition from
51205         !defined __argp_short_program_name to
51206         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
51207         to match argp-namefrob.h.
51208         (__argp_failure): Don't assume strerror_r returns char *.
51209         * lib/argp-parse.c (N_): Define unconditionally.
51210         (argp_default_options): Fill out initializers with 0 to avoid
51211         gcc warnings.
51212
51213 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
51214
51215         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
51216         getopt1.c.
51217
51218 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
51219
51220         Merge from coreutils.
51221
51222         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
51223
51224         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
51225         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
51226
51227 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
51228
51229         Merge from coreutils.
51230
51231         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
51232         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
51233         for Reliant Unix 5.43.
51234
51235         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
51236         (union fooround): Use uintmax_t, not long int.
51237         The rest is a merge from libc:
51238         [defined _LIBC]: Include <shlib-compat.h>.
51239         (_obstack) [defined _LIBC]: Remove after 2.3.4.
51240
51241         * lib/settime.c (settime): Recode to avoid warning with
51242         Sun Forte C 6U2.
51243
51244         * lib/strverscmp.c: Convert to UTF-8.
51245
51246 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
51247
51248         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
51249         m4/uintmax_t.m4.
51250
51251 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
51252
51253         * modules/xalloc-die: New file.
51254         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
51255
51256         * modules/md5 (Files): Add m4/uint32_t.m4.
51257         * modules/sha1: Renamed from modules/sha.
51258         (Files):
51259         Rename lib/sha.h to lib/sha1.h.
51260         Rename lib/sha.c to lib/sha1.c.
51261         Rename m4/sha.m4 to m4/sha1.m4.
51262         (lib_SOURCES): Likewise.
51263         (configure.ac): Rename gl_SHA to gl_SHA1.
51264         (Include): sha.h -> sha1.h.
51265
51266 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
51267
51268         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
51269         * m4/sha1.m4: Renamed from sha.m4.
51270         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
51271
51272 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
51273
51274         * lib/obstack.h (obstack_empty_p):
51275         Don't assume that chunk->contents is suitably aligned.
51276         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
51277         Likewise. Problem reported by Benno in
51278         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
51279
51280         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
51281         readable.  This could be improved further but it'd take some work.
51282
51283 2004-08-08  Simon Josefsson  <jas@extundo.com>
51284
51285         * modules/xgethostname (Depends-on): Remove exit and error (not
51286         used).
51287
51288         * modules/getpass-gnu: Add getpass.h.
51289         (Depends-on): Add stdbool.
51290         * modules/getpass: Add getpass.h.
51291
51292 2004-08-08  Simon Josefsson  <jas@extundo.com>
51293
51294         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
51295         Check getpass declaration.
51296
51297 2004-08-08  Simon Josefsson  <jas@extundo.com>
51298
51299         * lib/xgethostname.c: Don't include error.h (not used).
51300
51301         * lib/getpass.h: Add.
51302         * lib/getpass.c: Include getpass.h first.
51303
51304 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
51305
51306         * lib/xalloc-die.c: New file.
51307         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
51308         All uses removed.
51309         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
51310         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
51311         xalloc-die.c.
51312         (_, N_, xalloc_die): Move to xalloc-die.c.
51313         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
51314         so that we needn't mess with xalloc_msg_memory_exhausted.
51315
51316         * lib/sha1.h: Renamed from sha.h.
51317         (SHA1_H): Renamed from _SHA_H.
51318         (sha1_ctx): Renamed from sha_ctx.
51319         (sha1_init_ctx): Renamed from sha_init_ctx.
51320         (sha1_process_block): Renamed from sha_process_block.
51321         (sha1_process_bytes): Renamed from sha_process_bytes.
51322         (sha1_finish_ctx): Renamed from sha_finish_ctx.
51323         (sha1_read_ctx): Renamed from sha_read_ctx.
51324         (sha1_stream): Renamed from sha_stream.
51325         (sha1_buffer): Renamed from sha_buffer.
51326         * lib/sha1.c: Likewise; renamed from sha.c.
51327         Do not include <sys/types.h>.
51328         Include <stddef.h> rather than <stdlib.h>.
51329
51330 2004-08-08  Bruno Haible  <bruno@clisp.org>
51331
51332         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
51333         FILESYSTEM_PREFIX_LEN.
51334         * lib/progreloc.c: Likewise.
51335         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
51336
51337 2004-08-06  Simon Josefsson  <jas@extundo.com>
51338
51339         * modules/progname (Depends-on): Don't depend on stdbool.
51340
51341 2004-08-06  Simon Josefsson  <jas@extundo.com>
51342
51343         * modules/getsubopt: New file.
51344         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
51345         getsubopt.
51346
51347 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
51348
51349         More merge from coreutils.
51350
51351         * m4/utimens.m4, m4/utimecmp.m4: New files.
51352         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
51353         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
51354         prereq.m4, sha.m4: Import changes from coreutils.
51355
51356 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
51357
51358         More merge from coreutils.
51359         * modules/raise, modules/readtokens0, modules/utimens:
51360         * modules/utimecmp, module/xnanosleep: New files.
51361         * modules/strftime: Add lib/strftime.h.
51362         Change include from <time.h> to "strftime.h".
51363         * modules/yesno: Add lib/yesno.h.
51364         * modules/backupfile: Remove lib/addext.c.
51365         * modules/euidaccess: Add stat-macros.h.
51366         * modules/canonicalize, modules/euidaccess,
51367         modules/filemode, modules/lchown, modules/makepath,
51368         modules/rmdir, modules/stat: Likewise.
51369
51370 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
51371
51372         Merge from tar.
51373         * lib/argp-help.c (make_hol, hol_append): Don't assume that
51374         SIZE_MAX is a valid preprocessor constant.
51375         (__argp_basename): Change from "#ifndef _LIBC"
51376         to "#ifndef __argp_short_program_name", so that
51377         we don't compile these functions for tar.
51378
51379         More merges from coreutils.
51380         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
51381         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
51382         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
51383         * lib/addext.c: Remove; no longer needed.
51384         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
51385         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
51386         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
51387         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
51388         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
51389         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
51390         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
51391         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
51392         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
51393         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
51394         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
51395         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
51396         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
51397         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
51398         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
51399         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
51400         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
51401         Import changes from coreutils.
51402
51403 2004-08-05  Simon Josefsson  <jas@extundo.com>
51404
51405         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
51406
51407 2004-08-05  Simon Josefsson  <jas@extundo.com>
51408
51409         * m4/getsubopt.m4: New file.
51410
51411 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
51412
51413         Merge from coreutils.
51414
51415         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
51416         * m4/getcwd-path-max.m4: New files.
51417
51418         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
51419         FILESYSTEM_PREFIX_LEN ->
51420         FILE_SYSTEM_PREFIX_LEN.
51421         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
51422         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
51423         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
51424         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
51425
51426         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
51427         prerequisite modules now handle the DOS stuff.
51428         Don't check for unistd.h.
51429
51430 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
51431
51432         Merge from coreutils.
51433
51434         * lib/.gdb-history: Remove; this doesn't belong here.
51435
51436         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
51437         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
51438         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
51439         * lib/getcwd.c: New files.
51440
51441         * lib/dirname.h: Include <stdbool.h>.
51442         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
51443         for consistency with POSIX terminology.  All uses changed.
51444         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
51445         (strip_trailing_slashes): Use bool for booleans.
51446         * lib/stripslash.c (strip_trailing_slashes): Likewise.
51447
51448         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
51449         sometimes returns a positive errno value even when it succeeds.
51450         (print_errno_message) [!LIBC]: Fall back on strerror if
51451         __strerror_r fails.
51452
51453         * lib/path-concat.c (mempcpy): Don't define if a system header defines
51454         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
51455         (longest_relative_suffix): New function.
51456         (path_concat): Use it.  Assume first argument is not NULL.
51457         Port to DOS.  Omit redundant separators.
51458         Report an error instead of returning NULL.
51459         Use mempcpy instead of memcpy.
51460         (xpath_concat): Remove: not declared or used.
51461
51462         * lib/same.h: Include <stdbool.h>
51463         (same_name): Return bool, not int.
51464         * lib/same.c (same_name): Likewise.
51465         (errno): Don't declare; we assume C89 or better now.
51466
51467         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
51468         if not already defined.
51469
51470         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
51471         * lib/dup-safer.c (errno): Likewise.
51472
51473 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
51474
51475         Merge from coreutils.
51476         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
51477         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
51478         * modules/path-concat: Don't depend on strdup.
51479
51480 2004-08-03  Simon Josefsson  <jas@extundo.com>
51481
51482         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
51483         * lib/progname.h: Don't include stdbool.h.
51484
51485 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
51486
51487         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
51488         * MODULES.html.sh (func_all_modules): Remove fatal.
51489
51490 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
51491
51492         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
51493
51494 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
51495
51496         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
51497         working.
51498
51499 2004-08-02  Simon Josefsson  <jas@extundo.com>
51500
51501         * lib/getsubopt.h: New file, with comments from Bruno Haible.
51502         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
51503         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
51504
51505 2004-08-01  Simon Josefsson  <jas@extundo.com>
51506
51507         * lib/xgetdomainname.c: Include stdlib.h, for free().
51508
51509 2004-07-19  Bruno Haible  <bruno@clisp.org>
51510
51511         * MODULES.html.sh (func_all_modules): Add dummy.
51512
51513 2004-07-16  Simon Josefsson  <jas@extundo.com>
51514
51515         * modules/dummy: New file.
51516
51517 2004-07-16  Simon Josefsson  <jas@extundo.com>
51518
51519         * lib/dummy.c: New file.
51520
51521 2004-07-16  Bruno Haible  <bruno@clisp.org>
51522
51523         * lib/backupfile.h: Add extern "C" for C++.
51524         * lib/closeout.h: Likewise.
51525         * lib/copy-file.h: Likewise.
51526         * lib/findprog.h: Likewise.
51527         * lib/full-write.h: Likewise.
51528         * lib/pathname.h: Likewise.
51529         * lib/progname.h: Likewise.
51530         * lib/stpcpy.h: Likewise.
51531         * lib/stpncpy.h: Likewise.
51532         * lib/strcase.h: Likewise.
51533         * lib/strstr.h: Likewise.
51534         * lib/xalloc.h: Likewise.
51535
51536         * lib/mbswidth.h: Add extern "C" for C++.
51537         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
51538
51539 2004-07-13  Robert Millan  <robertmh@gnu.org>
51540
51541         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
51542
51543 2004-07-09  Simon Josefsson  <jas@extundo.com>
51544
51545         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
51546         failed without this.)
51547
51548 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
51549
51550         * modules/chown (Files): Add lib/fchown-stub.c, since
51551         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
51552
51553 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
51554
51555         * lib/fchown-stub.c: New file.
51556
51557 2004-06-24  Jim Meyering  <jim@meyering.net>
51558
51559         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
51560
51561 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
51562
51563         * modules/argz: Omit "#include".
51564
51565         * MODULES.html.sh (func_all_modules): Add calloc, to match
51566         2004-06-01 addition of calloc module.
51567
51568 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
51569
51570         * m4/argz.m4: New file, which is autoupdated from libtool.
51571
51572 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
51573
51574         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
51575         libtool.
51576
51577 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
51578
51579         * config/srclist-update: Don't insist on "USA." before the
51580         close-comment, as libtool omits the period and puts the */ on a
51581         separate line.
51582         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
51583         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
51584
51585 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
51586
51587         * modules/argz: New file.
51588         * MODULES.html.sh (func_all_modules): Add argz.
51589
51590 2004-06-12  Jim Meyering  <jim@meyering.net>
51591         and  Paul Eggert  <eggert@cs.ucla.edu>
51592
51593         * modules/hash (Files): Add lib/xalloc.h.
51594         * modules/pipe (Depends-on): Add wait-process.
51595         * modules/stat (Depends-on): Add xalloc.
51596         * modules/userspec (Files): Add lib/userspec.h.
51597         * modules/xstrto
51598
51599         Upgrade from gettext-0.13.
51600         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
51601         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
51602         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
51603
51604 2004-06-10  Jim Meyering  <jim@meyering.net>
51605
51606         * lib/calloc.c: New file.
51607
51608 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
51609
51610         * lib/getdate.y (yylex): Allow space between sign and number.
51611         Problem reported by Dan Jacobson.
51612
51613 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
51614
51615         Merge from coreutils CVS.
51616
51617         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
51618         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
51619         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
51620         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
51621         xstrtol.m4: Fix copyright date and/or serial number.
51622
51623         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
51624         See if we need an fchown replacement.
51625         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
51626         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
51627         and use the replacement function if we detect either defect.
51628
51629         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
51630         gl_UTIMECMP.
51631
51632 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
51633         and  Jim Meyering  <jim@meyering.net>
51634
51635         Merge from coreutils CVS.
51636
51637         * lib/stat-macros.h: New file, with contents from file-type.h
51638         and coreutils' system.h.
51639         * lib/file-type.c: Include "stat-macros.h".
51640         * lib/file-type.h (file_type): Move all macro definitions to new file,
51641         stat-macros.h.
51642
51643         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
51644         Wrap old code with this conditional.
51645         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
51646         function that does not dereference symlinks.
51647         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
51648
51649         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
51650         dependency problems.
51651         (xreadlink): Accept new arg SIZE, for efficiency.
51652         All decls and uses changed.
51653         * lib/xreadlink.h: Include <stddef.h>, for size_t.
51654
51655         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
51656         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
51657
51658         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
51659         sysexits.h.
51660
51661 2004-06-01  Jim Meyering  <jim@meyering.net>
51662
51663         * m4/calloc.m4: New file.
51664
51665 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
51666
51667         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
51668         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
51669         Also, fix a typo in a diagnostic.
51670
51671 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
51672
51673         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
51674         or AC_FUNC_REALLOC.
51675
51676 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
51677
51678         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
51679         macros to be defined.
51680         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
51681         the allocator returns NULL because the requested size is zero.
51682
51683 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
51684
51685         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
51686         var.  Add comment explaining why libc still defines it.  This
51687         merges the following patch from glibc:
51688         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
51689
51690 2004-05-20  Andreas Schwab  <schwab@suse.de>
51691
51692         * m4/free.m4: Replace free if it not known to work, not the other
51693         way round.
51694
51695 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
51696
51697         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
51698         present in glibc since revision 1.1 of this file.
51699         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
51700         obstack_alignment_mask, obstack_alloc, obstack_base,
51701         obstack_blank, obstack_blank_fast, obstack_chunk_size,
51702         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
51703         obstack_grow0, obstack_init, obstack_int_grow,
51704         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
51705         obstack_next_free, obstack_object_size, obstack_ptr_grow,
51706         obstack_ptr_grow_fast, obstack_room): Remove declarations of
51707         nonexistent functions.
51708
51709 2004-05-18  Karl Berry  <karl@gnu.org>
51710
51711         * config/srclist.txt: break link for vasnprintf.c.
51712
51713 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
51714
51715         Port obstack to the AS/400, where pointers are 16 bytes wide and
51716         you cannot cast an integer to a valid pointer.  This patch is
51717         currently waiting to be integrated into glibc; see
51718         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
51719
51720         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
51721         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
51722         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
51723         (struct obstack): temp member is now a union of a pointer and
51724         an integer, instead of an integer.  All integer uses changed.
51725         This does not affect the physical layout of struct obstack,
51726         except on hosts (like the AS/400) where the size or alignment of
51727         void * is greater than that of ptrdiff_t.
51728         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
51729         __STDC__)]: Store temporary in pointer member of union, not
51730         integer member.
51731         * lib/obstack.c: Include <stddef.h>, for offsetof.
51732         (struct fooalign): Remove; it doesn't need a name.
51733         (union fooround): Change double to long double, and add void *.
51734         (DEFAULT_ALIGNMENT): Use offsetof to compute.
51735         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
51736         not a macro.  Hence the values are always int; so remove all
51737         casts-to-int in uses.
51738
51739 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
51740
51741         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
51742         we can get this patch merged into glibc.
51743
51744 2004-05-17  Derek R. Price  <derek@ximbiot.com>
51745             Paul Eggert  <eggert@cs.ucla.edu>
51746
51747         * m4/argp: Depend on alloca.
51748
51749 2004-05-17  Derek R. Price  <derek@ximbiot.com>
51750             Paul Eggert  <eggert@cs.ucla.edu>
51751
51752         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
51753         freecoding.
51754
51755 2004-05-17  Bruno Haible  <bruno@clisp.org>
51756
51757         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
51758         precision that consists of a '.' followed by an empty digit string.
51759         Patch by Tor Lillqvist <tml@iki.fi>.
51760
51761 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
51762
51763         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
51764         for backward compatibility with older code.  We need our own
51765         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
51766         it under some other name, and our alloca.h will define it.
51767
51768 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
51769             Derek Price  <derek@ximbiot.com>
51770
51771         * lib/alloca.c: Include <alloca.h>, to get our interface.
51772         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
51773         include <alloca.h> first.  Use C89 prototype for alloca; this
51774         requires including <stddef.h> for size_t.  Use extern "C" if C++.
51775         Use #elif for simplicity, since we can assume C89 now.
51776         Don't try to source the system alloca.h since it will not be found
51777         and to prevent recursively including its replacement.
51778         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
51779         * lib/regex.c: Likewise.
51780
51781 2004-05-16  Derek Price  <derek@ximbiot.com>
51782             Paul Eggert  <eggert@cs.ucla.edu>
51783
51784         getline cleanup.  This changes the getndelim2 API: both order of
51785         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
51786         no delimiter).
51787
51788         * lib/getline.c: Don't include stddef.h or stdio.h, since our
51789         interface does that.
51790         (getline): Always use getdelim, so that we don't have two
51791         copies of this code.
51792         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
51793         if available.
51794         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
51795         (GETNDELIM2_MAXIMUM): New macro.
51796         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
51797         instead of the old practice of delim2==0.  All callers changed.
51798         Return -1 on overflow, instead of returning junk.
51799         Do not set *linesize unless allocation succeeds.
51800         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
51801         that we include sys/types.h.
51802         * lib/getnline.h: Likewise.
51803         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
51804         (getndelim2): Reorder arguments.
51805         * lib/getnline.c (getnline, getndelim):
51806         Don't discard the NMAX argument.
51807         (getnline): Invoke getndelim, to avoid code duplication.
51808         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
51809         of (size_t) -1 by callers of the getnline family.
51810
51811 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
51812
51813         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
51814         Check for gettimeofday.
51815         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
51816         Check for settimeofday, stime.
51817
51818 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
51819
51820         * lib/nanosleep.c (suspended): Change its type from int to
51821         sig_atomic_t volatile.
51822         (first_call): Make it private to rpl_nanosleep, and have it
51823         be zero initially as that's a bit faster.
51824         (my_usleep): Round up fractional times instead of truncating them,
51825         as this is the usual meaning for 'sleep'.
51826
51827         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
51828         doesn't work.
51829         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
51830         (ENOSYS): Define if not defined.
51831         (settime): Fall back on stime if it exists and settimeofday fails.
51832         But don't bother with fallbacks if a method fails with errno == EPERM.
51833
51834 2004-05-11  Jim Meyering  <jim@meyering.net>
51835
51836         Prior to this change, the save_cwd caller required read access to the
51837         current directory on most systems (ones with the fchdir function).
51838
51839         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
51840         fails, try write-only, and finally, resort to using xgetcwd.
51841
51842 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
51843
51844         * lib/obstack.c, obstack.h: Import changes from libc.
51845
51846 2004-04-28  Bruno Haible  <bruno@clisp.org>
51847
51848         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
51849         also implicitly appends .exe to executables.
51850         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
51851         accepts Windows pathnames.
51852         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
51853         Treat Cygwin like Windows, since it now accepts Windows pathnames.
51854         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
51855         Treat Cygwin like Windows, since it now accepts Windows pathnames.
51856         Reported by Derek Robert Price <derek@ximbiot.com>.
51857
51858 2004-04-21  Karl Berry  <karl@gnu.org>
51859
51860         * config/srclist.txt (localcharset.c): break sync.
51861
51862 2004-04-20  Paul Eggert  <eggert@twinsun.com>
51863
51864         * m4/host-os.m4: Add a copyright notice.
51865
51866 2004-04-20  Jim Meyering  <jim@meyering.net>
51867
51868         Change UTILS_ to gl_ in AC_DEFINE'd names.
51869         Change utils_- and jm_-prefixed variables, too.
51870         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
51871         UTILS_FUNC_MKDIR_TRAILING_SLASH.
51872         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
51873
51874         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
51875         Don't emit trailing blanks.
51876         Also rename jm_-prefixed variables to have gl_ prefix.
51877
51878         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
51879         Also rename jm_-prefixed variables to have gl_ prefix.
51880
51881         * m4/jm-macros.m4: Reflect the renamings.
51882         * m4/prereq.m4: Likewise.
51883
51884 2004-04-20  Jim Meyering  <jim@meyering.net>
51885
51886         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
51887         memory.
51888
51889 2004-04-20  Jim Meyering  <jim@meyering.net>
51890             Bruno Haible  <bruno@clisp.org>
51891
51892         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
51893         memory when realloc fails.
51894
51895 2004-04-19  Jim Meyering  <jim@meyering.net>
51896
51897         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
51898         now that readutmp.c may call `free (0)'.
51899
51900 2004-04-19  Bruno Haible  <bruno@clisp.org>
51901
51902         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
51903         * m4/inttypes_h.m4: Likewise.
51904         * m4/stdint_h.m4: Likewise.
51905         * m4/intmax_t.m4: Likewise.
51906         * m4/uintmax_t.m4: Likewise.
51907
51908 2004-04-18  Jim Meyering  <jim@meyering.net>
51909
51910         * m4/prereq.m4: Don't forbid jm_ prefix.
51911
51912         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
51913         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
51914         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
51915         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
51916         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
51917         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
51918         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
51919         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
51920         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
51921         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
51922         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
51923         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
51924         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
51925         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
51926         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
51927         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
51928         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
51929         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
51930         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
51931
51932 2004-04-18  Jim Meyering  <jim@meyering.net>
51933
51934         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
51935         failure, don't leak memory and do call END_UTMP_ENT.
51936
51937 2004-04-16  Jim Meyering  <jim@meyering.net>
51938
51939         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
51940         coreutils' stat program.
51941         (gl_PREREQ): Don't require jm_PREREQ_STAT.
51942
51943 2004-04-11  Paul Eggert  <eggert@twinsun.com>
51944
51945         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
51946         C89.
51947         (CHAR_BIT): Remove, since we assume C89.
51948         Include <stdint.h> if available, as per current Autoconf CVS advice.
51949
51950 2004-03-31  Jim Meyering  <jim@meyering.net>
51951
51952         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
51953         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
51954         * m4/xalloc.m4: Likewise.
51955
51956 2004-03-30  Paul Eggert  <eggert@twinsun.com>
51957
51958         Merge from coreutils.
51959
51960         * m4/inttostr.m4: New file.
51961         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
51962         Require AM_STDBOOL_H and gl_TIMESPEC instead.
51963         Require gl_CLOCK_TIME.
51964         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
51965
51966 2004-03-30  Paul Eggert  <eggert@twinsun.com>
51967
51968         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
51969         not bool, to be more consistent with Unix conventions.
51970         Suggested by Bruno Haible.
51971
51972         Merge from coreutils.
51973
51974         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
51975         * lib/umaxtostr.c: New files.
51976
51977         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
51978         the usual <time.h> dance.
51979         (get_date): Change signature to support fractional time stamps.
51980         All callers changed.
51981         * lib/getdate.y: Include "getdate.h" first, as we can now
51982         assume C89 and don't need to worry about 'const'.
51983         Similarly, include "unlocked-io.h" near start, not in middle.
51984         Include <limits.h>.
51985         (textint.value): Use long int rather than int.
51986         (textint.digits): Use size_t rather than int.
51987         (BILLION, LOG10_BILLION): New constants.
51988         (parser_control): New member rel_ns.  Members day_ordinal,
51989         time_zone, month, day, hour, minutes, rel_year, rel_month,
51990         rel_day, rel_hour, rel_minutes, rel_seconds
51991         are now long int, not int.  Member seconds is now struct timespec,
51992         not int.  New member timespec_seen.  Members dates_seen, days_seen,
51993         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
51994         not int.
51995         (%union.intval): Now long int, not int.
51996         New member timespec.
51997         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
51998         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
51999         (spec): Now is a timespec or an item list.
52000         (timespec, items): New nonterminals.
52001         (time, rel, relunit, number, get_date):
52002         Add support for fractional seconds.
52003         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
52004         (gmtime, localtime, mktime): Remove decls; not needed with C89.
52005         (to_hour): First arg is now long int, not int.
52006         (to_year): Returns long int, not int.
52007         Don't treat year -70 like 70.
52008         (tm_diff): Returns long int, not int.
52009         (lookup_word): Use bool instead of int when appropriate.
52010         (yylex): Use size_t for count, not int.
52011         Detect overflow when parsing large integer constants.
52012         Add support for fractions.
52013         (get_date): Make pointers 'const' if possible.
52014         Use more-portable code to detect integer overflow.
52015         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
52016         Don't use ctime; it's not reliable if the year has >4 digits.
52017
52018         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
52019         This is for compatibility with BSD.
52020
52021         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
52022         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
52023         From coreutils' system.h.
52024
52025         * lib/userspec.c: Don't include "posixver.h".
52026         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
52027         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
52028         compatible extension.  Simplify code by removing a boolean int
52029         that was always nonzero if a string was nonnull.
52030
52031 2004-03-30  Jim Meyering  <jim@meyering.net>
52032
52033         Merge from coreutils.
52034
52035         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
52036         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
52037         on some systems one must include <grp.h> before it.
52038         Reported by Christian Krackowizer.
52039
52040 2004-03-30  Jim Meyering  <jim@meyering.net>
52041
52042         Merge from coreutils.
52043
52044         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
52045
52046         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
52047         an empty input stream.
52048
52049         * lib/readtokens.c: Include <stdbool.h>.
52050         (readtoken): Use `size_t' rather than int/long.
52051         All callers adjusted.
52052         Use `bool' rather than `int' where appropriate.
52053         Use memset rather than an explicit loop.
52054         Use x2nrealloc rather than xrealloc.
52055         Allow the use of `\0' as a delimiter.
52056         (readtokens): Likewise.
52057         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
52058
52059 2004-03-30  Jim Meyering  <jim@meyering.net>
52060
52061         * m4/realloc.m4: Remove file, since now it does no more than
52062         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
52063         the `configure.ac' section of module/realloc.
52064         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
52065
52066 2004-03-30  Bruno Haible  <bruno@clisp.org>
52067
52068         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
52069         nonnull.
52070
52071 2004-03-29  Paul Eggert  <eggert@twinsun.com>
52072
52073         Merge changes to getloadavg.c from coreutils and Emacs.
52074
52075         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
52076         Define to an expression, not to the empty string.
52077         Include cloexec.h and xalloc.h.
52078         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
52079         Use set_cloexec_flag rather than rolling our own.
52080         * lib/cloexec.c, lib/cloexec.h: New files.
52081
52082 2004-03-29  Paul Eggert  <eggert@twinsun.com>
52083
52084         * m4/cloexec.m4: New file.
52085
52086 2004-03-18  Paul Eggert  <eggert@twinsun.com>
52087
52088         * lib/getopt.h: Sync with libc CVS.
52089
52090 2004-03-18  Paul Eggert  <eggert@twinsun.com>
52091             Bruno Haible  <bruno@clisp.org>
52092
52093         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
52094         mbswidth.
52095
52096 2004-03-18  Paul Eggert  <eggert@twinsun.com>
52097             Bruno Haible  <bruno@clisp.org>
52098
52099         * lib/mbswidth.h: Include <wchar.h> only if
52100         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
52101         <wchar.h>.
52102         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
52103
52104 2004-03-09  Paul Eggert  <eggert@twinsun.com>
52105
52106         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
52107         Sync with libc CVS.
52108         * lib/getopt_int.h: New file, also synced from libc.
52109
52110 2004-03-09  Paul Eggert  <eggert@twinsun.com>
52111
52112         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
52113         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
52114         Bring back getopt.c, getopt.h, getopt1.c.
52115
52116 2004-03-07  Paul Eggert  <eggert@twinsun.com>
52117
52118         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
52119         All uses changed.  Check for sa_sigaction member; this fixes
52120         a bug first reported by Jason Andrade in
52121         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
52122
52123 2004-03-07  Paul Eggert  <eggert@twinsun.com>
52124
52125         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
52126         '#if' expressions.  Unlike the code it replaces, it does not
52127         depend on (defined _SC_PAGESIZE).  However, it does depend on
52128         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
52129         first reported by Jason Andrade in
52130         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
52131
52132 2004-02-25  Simon Josefsson  <jas@extundo.com>
52133
52134         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
52135
52136 2004-02-25  Simon Josefsson  <jas@extundo.com>
52137
52138         * lib/strdup.h: New file.
52139         * lib/strdup.c: Include it.
52140         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
52141         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
52142
52143 2004-02-23  Karl Berry  <karl@gnu.org>
52144
52145         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
52146         (from fencepost.gnu.org:/gd/gnuorg).
52147
52148 2004-02-23  Karl Berry  <karl@gnu.org>
52149
52150         * config/srclistvars.sh (GNUORG) [karl]: redefine.
52151         * config/srclist.txt: add maintain/standards documents.
52152
52153 2004-02-18  Bruno Haible  <bruno@clisp.org>
52154
52155         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
52156         Reported by Derek Robert Price <derek@ximbiot.com>.
52157
52158 2004-02-16  Karl Berry  <karl@gnu.org>
52159
52160         * config/mkinstalldirs, install-sh: update from automake.
52161
52162 2004-02-06  Karl Berry  <karl@gnu.org>
52163
52164         * m4/po.m4: update from gettext 0.14.1.
52165
52166 2004-02-06  Karl Berry  <karl@gnu.org>
52167
52168         * lib/config.charset: update from gettext 0.14.1.
52169
52170 2004-02-05  Paul Eggert  <eggert@twinsun.com>
52171
52172         Add comments and code, prompted by suggestions from Bruno Haible
52173         for sh-quote.
52174         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
52175         describing the enum quoting_style values.
52176         * lib/quotearg.c (quotearg_alloc): New function.
52177         (quotearg_buffer_restyled): Treat lone { and } as special.
52178         Treat = as special.  Work around bug with older shells
52179         that "see" a '\' that is really the 2nd byte of a multibyte char.
52180         Quote empty string with shell_quoting_style.
52181
52182 2004-02-03  Bruno Haible  <bruno@clisp.org>
52183
52184         * m4/pipe.m4: New file, from GNU gettext.
52185
52186 2004-02-03  Bruno Haible  <bruno@clisp.org>
52187
52188         * lib/pipe.h: New file, from GNU gettext.
52189         * lib/pipe.c: New file, from GNU gettext.
52190
52191 2004-01-27  Bruno Haible  <bruno@clisp.org>
52192
52193         * m4/execute.m4: New file, from GNU gettext.
52194
52195 2004-01-27  Bruno Haible  <bruno@clisp.org>
52196
52197         * lib/execute.h: New file, from GNU gettext.
52198         * lib/execute.c: New file, from GNU gettext.
52199         * lib/w32spawn.h: New file, from GNU gettext.
52200
52201 2004-01-24  Paul Eggert  <eggert@twinsun.com>
52202
52203         Merge from diffutils.
52204
52205         * lib/file-type.c (file_type): Add typed memory objects.
52206         * lib/file-type.h (S_TYPEISTMO): New macro.
52207
52208         * lib/c-stack.h (c_stack_action): Remove argv argument.
52209         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
52210         (die): Don't calculate message unless segv_action returns.
52211         (get_stack_location, min_address_from_argv, max_address_from_argv,
52212         volatile stack_base, volatile_stack_size): Remove.
52213         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
52214         that every segmentation violation is a stack overflow.  (Ouch!)
52215         See Debian bug 136249 (still outstanding) for more info about why
52216         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
52217
52218 2004-01-24  Paul Eggert  <eggert@twinsun.com>
52219
52220         Exit-status fix from coreutils.
52221
52222         Use exit_failure consistently in place of EXIT_FAILURE,
52223         so that program exit statuses are consistent on failure.
52224
52225         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
52226         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
52227         * lib/argmatch.h: Comment fix to match the above.
52228         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
52229         Now a macro referring to exit_failure, instead of a separate
52230         variable.  Include "exitfail.h" to get it.
52231         * lib/xstrtol.h: Include "exitfail.h".
52232         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
52233
52234         * lib/long-options.c (parse_long_options): Use prototype
52235         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
52236         for clarity.
52237
52238 2004-01-21  Jim Meyering  <jim@meyering.net>
52239
52240         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
52241         so as not to conflict with a different-sized __mktime_internal
52242         function in GNU libc.
52243         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
52244         Problem building statically-linked `ls' reported by Michael Brunnbauer.
52245
52246 2004-01-20  Karl Berry  <karl@gnu.org>
52247
52248         * config/config.guess: update from config.
52249
52250         * config/srclistvars.sh: GNUWWWLICENSES for karl.
52251
52252 2004-01-20  Bruno Haible  <bruno@clisp.org>
52253
52254         Safer stack allocation.
52255         * lib/setenv.c: Include allocsa.h.
52256         (alloca): Remove fallback definition.
52257         (freea): Remove macro.
52258         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
52259         instead of freea.
52260
52261 2004-01-20  Bruno Haible  <bruno@clisp.org>
52262
52263         * m4/eealloc.m4: New file, from GNU gettext.
52264
52265 2004-01-20  Bruno Haible  <bruno@clisp.org>
52266
52267         * m4/allocsa.m4: New file, from GNU gettext.
52268
52269 2004-01-20  Bruno Haible  <bruno@clisp.org>
52270
52271         * lib/xallocsa.h: New file, from GNU gettext.
52272         * lib/xallocsa.c: New file, from GNU gettext.
52273
52274 2004-01-20  Bruno Haible  <bruno@clisp.org>
52275
52276         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
52277
52278 2004-01-20  Bruno Haible  <bruno@clisp.org>
52279
52280         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
52281         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
52282         specially.
52283
52284 2004-01-20  Bruno Haible  <bruno@clisp.org>
52285
52286         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
52287         patch.
52288
52289 2004-01-20  Bruno Haible  <bruno@clisp.org>
52290
52291         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
52292
52293 2004-01-20  Bruno Haible  <bruno@clisp.org>
52294
52295         * lib/eealloc.h: New file.
52296
52297 2004-01-20  Bruno Haible  <bruno@clisp.org>
52298
52299         * lib/binary-io.h: Avoid warnings on Cygwin.
52300
52301 2004-01-20  Bruno Haible  <bruno@clisp.org>
52302
52303         * lib/allocsa.h: New file, from GNU gettext.
52304         * lib/allocsa.c: New file, from GNU gettext.
52305
52306 2004-01-18  Karl Berry  <karl@gnu.org>
52307
52308         * doc/gpl.texi, doc/lgpl.texi: new files.
52309
52310 2004-01-18  Karl Berry  <karl@gnu.org>
52311
52312         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
52313         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
52314
52315 2004-01-15  Paul Eggert  <eggert@twinsun.com>
52316
52317         Merge from coreutils.
52318
52319         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
52320         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
52321         (gl_DEFAULT_POSIX2_VERSION): Move
52322         the documentation from 'configure' into 'config.hin',
52323         so that 'configure --help' isn't burdened by it and
52324         we don't have to worry about its formatting there.
52325         Reword the documentation so that it's more succinct
52326         and can be run together into a single paragraph.
52327         * m4/same.m4 (gl_SAME): Check for pathconf.
52328
52329 2004-01-15  Paul Eggert  <eggert@twinsun.com>
52330
52331         Merge from coreutils.
52332
52333         * lib/posixver.c: Include posixver.h.
52334
52335         * lib/same.c: Include <stdbool.h>, <limits.h>.
52336         (_POSIX_NAME_MAX): Define if not defined.
52337         (MIN): New macro.
52338         (same_name): If file names are silently truncated, report
52339         that the file names are the same if they are the same after
52340         the silent truncation.
52341
52342         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
52343         conversion function.
52344         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
52345         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
52346         longer needed.
52347
52348 2004-01-15  Jim Meyering  <jim@meyering.net>
52349
52350         Merge from coreutils.
52351
52352         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
52353         if no library is required.
52354         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
52355         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
52356         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
52357         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
52358         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
52359         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
52360         value, $ac_cv_search_crypt, if it's "none required".
52361         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
52362         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
52363         not gl_FUNC_GETLOADAVG.
52364         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
52365         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
52366
52367 2004-01-15  Jim Meyering  <jim@meyering.net>
52368
52369         Merge from coreutils.
52370
52371         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
52372         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
52373         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
52374
52375         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
52376         optional configure-time default.
52377
52378         * lib/version-etc.c (version_etc_copyright): Update copyright date.
52379
52380         * lib/xreadlink.c (xreadlink): Correct outdated comment.
52381
52382 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
52383
52384         Merge from coreutils.
52385
52386         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
52387         value, $ac_cv_search_nanosleep, if it's "none required".
52388
52389 2004-01-14  Paul Eggert  <eggert@twinsun.com>
52390
52391         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
52392         with like-named macro in fnmatch.c.
52393         (EXT): Use an internal constant instead.
52394
52395         Merge fnmatch patches from glibc.
52396         * lib/fnmatch.c (mbsinit): Remove define.
52397         Add libc_hidden_ver (__fnmatch, fnmatch).
52398         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
52399         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
52400
52401 2004-01-14  Karl Berry  <karl@gnu.org>
52402
52403         * config/install-sh: update from automake.
52404
52405 2004-01-13  Karl Berry  <karl@gnu.org>
52406
52407         * config/install-sh: update from automake.
52408
52409 2004-01-09  Karl Berry  <karl@gnu.org>
52410
52411         * config/install-sh: update from automake.
52412
52413 2004-01-05  Karl Berry  <karl@gnu.org>
52414
52415         * config/config.{sub,guess}: update from config.
52416
52417 2003-12-31  Karl Berry  <karl@gnu.org>
52418
52419         * config/depcomp: update from automake.
52420
52421 2003-12-14  Karl Berry  <karl@gnu.org>
52422
52423         * lib/config.charset: update from gettext-runtime.
52424
52425 2003-12-03  Paul Eggert  <eggert@twinsun.com>
52426
52427         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
52428         Bug reported by Alfred M. Szmidt.
52429
52430 2003-12-03  Bruno Haible  <bruno@clisp.org>
52431
52432         * m4/gettext.m4: Upgrade from gettext-0.13.
52433         * m4/po.m4: Upgrade from gettext-0.13.
52434         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
52435         * m4/intmax.m4: New file, from gettext-0.13.
52436         * m4/printf-posix.m4: New file, from gettext-0.13.
52437
52438 2003-11-29  Karl Berry  <karl@gnu.org>
52439
52440         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
52441
52442 2003-11-25  Paul Eggert  <eggert@twinsun.com>
52443             Bruno Haible  <bruno@clisp.org>
52444
52445         * lib/printf-parse.h: Don't include sys/types.h.
52446         (ARG_NONE): New macro.
52447         (char_directive): Change type of *arg_index fields to size_t.
52448         * lib/printf-parse.c: Don't include sys/types.h.
52449         (SSIZE_MAX): Remove macro.
52450         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
52451         Remove unnecessary overflow check.
52452         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
52453         fields.
52454
52455 2003-11-25  Bruno Haible  <bruno@clisp.org>
52456
52457         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
52458
52459 2003-11-25  Bruno Haible  <bruno@clisp.org>
52460
52461         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
52462         gt_TYPE_SSIZE_T.
52463
52464 2003-11-24  Paul Eggert  <eggert@twinsun.com>
52465
52466         * modules/alloca: Remove dependency on xalloc.
52467
52468 2003-11-24  Paul Eggert  <eggert@twinsun.com>
52469
52470         * lib/alloca.c: Remove dependency on xalloc module.
52471         (xalloc_die): Remove.
52472         (memory_full) [!defined emacs]: New macro.
52473         [!defined emacs]: Don't include xalloc.h.
52474         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
52475         address arithmetic overflows.  Change datatypes a bit to avoid
52476         unnecessary casts.
52477
52478 2003-11-22  Jim Meyering  <jim@meyering.net>
52479
52480         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
52481         s/size/size_t/.
52482
52483 2003-11-21  Karl Berry  <karl@gnu.org>
52484
52485         * config/config.{sub,guess}: update from config.
52486
52487 2003-11-18  Karl Berry  <karl@gnu.org>
52488
52489         * config/config.{sub,guess}: update from config.
52490
52491         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
52492
52493 2003-11-17  Paul Eggert  <eggert@twinsun.com>
52494
52495         * README: Mention that S+T cannot overflow if S is the size of
52496         an existing object and T is sufficiently small.
52497
52498 2003-11-17  Jim Meyering  <jim@meyering.net>
52499
52500         On systems without utime and without a utimes function capable of
52501         dealing with a NULL struct utimbuf* argument, this utime replacement
52502         could -- in unusual circumstances -- leak a file descriptor.
52503         * lib/utime.c: Include <unistd.h> and <errno.h>.
52504         (utime_null): Be sure to close `fd' and to preserve errno.
52505         Reported by Geoff Collyer via Arnold Robbins.
52506
52507 2003-11-17  Bruno Haible  <bruno@clisp.org>
52508
52509         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
52510         (Depends-on): Add xsize.
52511
52512 2003-11-17  Bruno Haible  <bruno@clisp.org>
52513
52514         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
52515
52516 2003-11-17  Bruno Haible  <bruno@clisp.org>
52517
52518         * lib/vasnprintf.c (alloca): Remove fallback definition.
52519         (freea): Remove definition.
52520         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
52521         Reported by Paul Eggert.
52522
52523 2003-11-16  Paul Eggert  <eggert@twinsun.com>
52524             Bruno Haible  <bruno@clisp.org>
52525
52526         Protect against address arithmetic overflow.
52527         * lib/printf-args.h: Include stddef.h.
52528         (arguments): Change type of field 'count' to size_t.
52529         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
52530         'unsigned int' where appropriate.
52531         * lib/printf-parse.h: Include sys/types.h.
52532         (char_directive): Change type of *arg_index fields to ssize_t.
52533         (char_directives): Change type of fields 'count', max_*_length to
52534         size_t.
52535         * lib/printf-parse.c: Include sys/types.h and xsize.h.
52536         (SSIZE_MAX): Define fallback value.
52537         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
52538         instead of 'int' where appropriate. Check a_allocated, d_allocated
52539         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
52540         * lib/vasnprintf.c: Include xsize.h.
52541         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
52542         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
52543         overflow. Avoid wraparound when converting a width or precision from
52544         decimal to binary.
52545
52546 2003-11-16  Bruno Haible  <bruno@clisp.org>
52547
52548         Update from GNU gettext.
52549         * lib/printf-parse.c: Generalize to it can be compiled for wide
52550         strings.
52551         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
52552         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
52553         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
52554         SNPRINTF): New macros.
52555         Don't include <alloca.h> if the file is used inside libintl.
52556         (local_wcslen): New function, for Solaris 2.5.1.
52557         (VASNPRINTF): Use it instead of wcslen.
52558
52559 2003-11-16  Bruno Haible  <bruno@clisp.org>
52560
52561         * lib/xsize.h (xmax): New function.
52562         (xsum, xsum3, xsum4): Declare as "pure" functions.
52563
52564 2003-11-12  Paul Eggert  <eggert@twinsun.com>
52565
52566         * modules/xalloc (Files): Undo latest change, since xalloc.h
52567         no longer needs SIZE_MAX or PTRDIFF_MAX.
52568
52569 2003-11-12  Paul Eggert  <eggert@twinsun.com>
52570
52571         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
52572         gl_PTRDIFF_MAX.
52573
52574 2003-11-12  Paul Eggert  <eggert@twinsun.com>
52575
52576         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
52577         "return", to pacify some unknown compiler.  Problem reported
52578         by Joerg Schilling.
52579
52580 2003-11-12  Paul Eggert  <eggert@twinsun.com>
52581
52582         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
52583         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
52584         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
52585         heuristic is just as accurate as far as we know, and it removes a
52586         dependency on size_max.m4 and ptrdiff_max.m4.
52587
52588 2003-11-11  Bruno Haible  <bruno@clisp.org>
52589
52590         * modules/xsize (Files): Add m4/size_max.m4.
52591         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
52592
52593 2003-11-11  Bruno Haible  <bruno@clisp.org>
52594
52595         * m4/size_max.m4: New file.
52596         * m4/ptrdiff_max.m4: New file.
52597         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
52598         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
52599         (gl_XALLOC): Invoke it.
52600
52601 2003-11-11  Bruno Haible  <bruno@clisp.org>
52602
52603         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
52604         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
52605         defined.
52606
52607 2003-11-10  Paul Eggert  <eggert@twinsun.com>
52608
52609         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
52610         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
52611         rejected some allocations of exactly SIZE_MAX - 2 bytes.
52612         From Bruno Haible.
52613         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
52614         not (size_t) -1, since it's defined here.
52615
52616 2003-11-09  Karl Berry  <karl@gnu.org>
52617
52618         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
52619
52620 2003-11-06  Paul Eggert  <eggert@twinsun.com>
52621
52622         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
52623         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
52624         Reject sizes of exactly SIZE_MAX bytes.
52625         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
52626         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
52627
52628 2003-11-05  Bruno Haible  <bruno@clisp.org>
52629
52630         * lib/xsize.h: Include limits.h, to avoid a possible collision with
52631         SIZE_MAX defined in <limits.h> on Solaris.
52632
52633 2003-11-04  Jim Meyering  <jim@meyering.net>
52634
52635         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
52636         variable names, rather than @VAR@.
52637         * modules/poll: Likewise.
52638
52639 2003-11-04  Bruno Haible  <bruno@clisp.org>
52640
52641         * modules/xsize: New file.
52642         * modules/linebreak: Depend on xsize.
52643         * MODULES.html.sh (func_all_modules): Add xsize.
52644
52645 2003-11-04  Bruno Haible  <bruno@clisp.org>
52646
52647         * m4/xsize.m4: New file.
52648
52649 2003-11-04  Bruno Haible  <bruno@clisp.org>
52650
52651         * lib/xsize.h: New file.
52652         * lib/linebreak.c: Include xsize.h.
52653         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
52654         argument for overflow.
52655         Suggested by Paul Eggert.
52656
52657 2003-11-03  Karl Berry  <karl@gnu.org>
52658
52659         * config/config.{guess,sub}: update from config.
52660
52661 2003-11-03  Jim Meyering  <jim@meyering.net>
52662
52663         * modules/userspec (lib_SOURCES): Add userspec.h.
52664         (Include): Add "userspec.h".
52665         Improve description.
52666
52667 2003-11-03  Jim Meyering  <jim@meyering.net>
52668
52669         * lib/userspec.c: Include "userspec.h".
52670         * lib/userspec.h: New file.
52671
52672 2003-11-03  Bruno Haible  <bruno@clisp.org>
52673
52674         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
52675
52676 2003-11-03  Bruno Haible  <bruno@clisp.org>
52677
52678         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
52679         available, to avoid (extremely rare) race condition.
52680         Suggested by Paul Eggert.
52681
52682 2003-11-02  Karl Berry  <karl@gnu.org>
52683
52684         * config/srclist.txt (vasprintf.c): sync broken, sigh.
52685
52686 2003-10-31  Paul Eggert  <eggert@twinsun.com>
52687
52688         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
52689         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
52690         (read_filesystem_list): Set and use me_type_malloced.
52691         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
52692         whatever the type happens to be), for brevity and consistency.
52693         Check for size calculation overflow on Alphas running OSF/1.
52694
52695 2003-10-31  Jim Meyering  <jim@meyering.net>
52696
52697         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
52698
52699         * lib/linebuffer.c: Include <string.h> for declaration of memset.
52700
52701 2003-10-30  Paul Eggert  <eggert@twinsun.com>
52702             Bruno Haible  <bruno@clisp.org>
52703
52704         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
52705         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
52706
52707 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
52708
52709         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
52710         netbsd*-gnu*.  Suggested by Robert Millan.
52711
52712 2003-10-29  Paul Eggert  <eggert@twinsun.com>
52713
52714         * modules/group-member: Depend on stdbool.
52715
52716 2003-10-29  Paul Eggert  <eggert@twinsun.com>
52717
52718         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
52719
52720 2003-10-29  Paul Eggert  <eggert@twinsun.com>
52721
52722         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
52723         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
52724         after the 'gnu' in these cases.  This fixes some bugs in the
52725         previous change, and is based on suggestions by Robert Millan.
52726
52727 2003-10-29  Paul Eggert  <eggert@twinsun.com>
52728
52729         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
52730         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
52731         no longer needed.
52732         * lib/quotearg.c (quotearg_n_options): Use it.
52733         * lib/group-member.c: Include <stdbool.h>.
52734         (free_group_info): Arg is now const *; don't free arg.
52735         (get_group_info): Now returns bool and accepts struct group_info *,
52736         rather than returning a malloc'ed struct group_info *.
52737         All uses changed.  Check for overflow in internal size calculation.
52738
52739         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
52740         rather than xmalloc/xrealloc.
52741         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
52742         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
52743         conformance bug: the old code used a pointer after freeing the
52744         storage that it addressed.
52745         * lib/hash.c (hash_initialize): Simplify the code by using
52746         xalloc_oversized rather than doing it by hand.
52747         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
52748         the buffer preserved.  Use free and xmalloc instead.
52749         * lib/quotearg.c (quotearg_n_options): Likewise.
52750         Use a simpler test for size overflow.  Don't use xalloc_oversized
52751         because unsigned int might be wider than size_t (!); this suggests
52752         that we should switch from unsigned int to size_t for slot numbers.
52753
52754 2003-10-28  Paul Eggert  <eggert@twinsun.com>
52755
52756         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
52757         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
52758         NetBSD kernels.  Requested by Richard Stallman.
52759
52760 2003-10-27  Paul Eggert  <eggert@twinsun.com>
52761
52762         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
52763         to allocate the returned structure.  Do not allocate a subarray,
52764         as x2nrealloc will do that.
52765         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
52766         instead of xnrealloc.
52767         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
52768
52769 2003-10-27  Bruno Haible  <bruno@clisp.org>
52770
52771         * lib/stdbool_.h: Better support for BeOS.
52772
52773 2003-10-26  Paul Eggert  <eggert@twinsun.com>
52774
52775         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
52776         now uses inline.
52777
52778 2003-10-26  Paul Eggert  <eggert@twinsun.com>
52779
52780         * lib/xalloc.h (xalloc_oversized): New static inline function, for
52781         callers that want to do their own size-overflow checking.  Include
52782         <stdbool.h>, since xalloc_oversized returns bool.
52783         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
52784         to use xalloc_oversized.
52785
52786         Add two functions x2realloc, x2nrealloc, for programs that grow
52787         arrays dynamically by doubling their sizes.
52788         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
52789         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
52790         New functions.
52791
52792         Port to C99 semantics for 'inline' of external functions.
52793         Bug reported by Bruno Haible.
52794         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
52795         with the old contents of xnmalloc.
52796         (xnmalloc, xmalloc): Use it.
52797         (xnrealloc_inline): New static inline function,
52798         with the old contents of xnrealloc.
52799         (xnrealloc, xrealloc): Use it.
52800
52801         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
52802         that.
52803
52804 2003-10-26  Karl Berry  <karl@gnu.org>
52805
52806         * config/srclist.txt (COPYING.DOC): no longer available from
52807         /gd/gnuorg; don't know where the ultimate source is.
52808
52809 2003-10-25  Paul Eggert  <eggert@twinsun.com>
52810
52811         Fix several address-calculation bugs in the hash modules,
52812         plus some minor code cleanup.
52813
52814         * lib/hash.h: Include <stdbool.h>, for bool.
52815         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
52816         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
52817         hash_get_n_entries, hash_get_max_bucket_length,
52818         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
52819         hash_rehash): Use size_t rather than unsigned.
52820         * lib/hash.c (struct hash_table, hash_get_n_buckets,
52821         hash_get_n_buckets_used, hash_get_n_entries,
52822         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
52823         hash_get_entries, hash_do_for_each, hash_string, is_prime,
52824         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
52825         Likewise.
52826         (SIZE_MAX): Define if not defined.
52827         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
52828         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
52829         hash_print):
52830         Use const * when possible.
52831         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
52832         (check_tuning): Fix bug: if tuning parameters were very close to
52833         0 or 1, rounding errors could have caused subscript violations.
52834         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
52835         (hash_initialize): Add 'fail:' label
52836         to free table and return NULL, and use it to simplify code.
52837         Use calloc rather than clearing the storage ourself.
52838         (hash_initialize, hash_rehash): Check for arithmetic overflow in
52839         buffer size calculations.
52840         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
52841         Include <stddef.h>, for size_t.
52842         * lib/hash-pjw.c (hash_pjw): Likewise.
52843         Switch to method described by Bruno Haible.
52844         Include <limits.h>, for CHAR_BIT.
52845         (SIZE_BITS): New macro.
52846
52847 2003-10-23  Paul Eggert  <eggert@twinsun.com>
52848
52849         * m4/getline.m4 (AM_FUNC_GETLINE):
52850         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
52851         hosts.  Problem reported by Derek Robert Price in
52852         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
52853         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
52854         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
52855
52856 2003-10-21  Paul Eggert  <eggert@twinsun.com>
52857
52858         * lib/getndelim2.c (getndelim2): When size calculation overflows,
52859         ceiling the allocation at NMAX bytes rather than silently
52860         discarding input bytes before NMAX is reached.  This makes
52861         a difference only if NMAX exceeds SIZE_MAX / 2.
52862
52863         * lib/obstack.c: Merge from glibc.
52864         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
52865         Add libc_hidden_def (_obstack_newchunk).
52866         (_obstack_free) [! defined _LIBC]: Remove.
52867         [defined _LIBC]: Make a strong alias from obstack_free, rather than
52868         a clone of the function body.
52869         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
52870         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
52871
52872         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
52873         glibc.
52874         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
52875         arg to memcpy.
52876
52877         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
52878         (obstack_ptr_grow_fast, obstack_int_grow_fast):
52879         Don't use lvalue casts, as GCC plans to remove support for them
52880         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
52881         was also present in the non-GCC version, indicating that this
52882         code had always been buggy and had never been widely used.
52883         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
52884         Use the fast variant of each macro, rather than copying the
52885         definiens of the fast variant; that way, we'll be more likely to
52886         catch future bugs in the fast variants.
52887
52888 2003-10-20  Bruno Haible  <bruno@clisp.org>
52889
52890         * modules/wait-process: New file.
52891         * MODULES.html.sh (func_all_modules): Add wait-process.
52892
52893 2003-10-20  Bruno Haible  <bruno@clisp.org>
52894
52895         * m4/wait-process.m4: New file.
52896
52897 2003-10-20  Bruno Haible  <bruno@clisp.org>
52898
52899         * lib/wait-process.h: New file, from GNU gettext.
52900         * lib/wait-process.c: New file, from GNU gettext.
52901
52902 2003-10-19  Jim Meyering  <jim@meyering.net>
52903
52904         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
52905         HPUX 10.20.
52906
52907 2003-10-18  Karl Berry  <karl@gnu.org>
52908
52909         * config/config.guess: update from config.
52910
52911 2003-10-16  Paul Eggert  <eggert@twinsun.com>
52912
52913         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
52914         (getgroups): First arg is int, not size_t.
52915         Don't let 'free' mangle errno.
52916
52917 2003-10-16  Paul Eggert  <eggert@twinsun.com>
52918
52919         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
52920
52921 2003-10-16  Karl Berry  <karl@gnu.org>
52922
52923         * config/config.{guess,sub}: update from config.
52924
52925 2003-10-16  Jim Meyering  <jim@meyering.net>
52926
52927         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
52928         memcpy.
52929
52930 2003-10-15  Paul Eggert  <eggert@twinsun.com>
52931
52932         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
52933         (SIZE_MAX): Remove.
52934         (new_exclude, add_exclude_file): Initial size no longer needs to
52935         be a power of 2.
52936         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
52937         our own address arithmetic overflow checking.
52938
52939         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
52940         (fnmatch): Do not alloca more than 2000 wide characters;
52941         instead, use malloc for large buffers.
52942         Check for address arithmetic overflow, and return -1
52943         with errno set to ENOMEM in that case.
52944         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
52945         (NEW_PATTERN): Do not alloca more than 8000 bytes;
52946         instead, return -1.  Check for address arithmetic overflow.
52947
52948 2003-10-14  Paul Eggert  <eggert@twinsun.com>
52949
52950         Handle invalid suffixes and overflow independently, so that
52951         callers can treat them independently as needed.  Fix some bugs in
52952         suffix handling, e.g., "100k@" was not diagnosed as an invalid
52953         suffix for a human-readable blocksize.  The major caller-visible
52954         change is the addition of a new
52955         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
52956         that both overflow and suffix chars were found.
52957
52958         * lib/human.c (humblock): Don't check separately for invalid suffix
52959         char; that is xstrtoumax's job (now that its bug is fixed).
52960         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
52961         INTMAX_MAX]: New macros.
52962         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
52963         TYPE_MAXIMUM): New macros.
52964         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
52965         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
52966         if overflow occurs, as it's what __strtol does and it's more useful
52967         in practice.
52968         (__xstrtol): If __strtol reports some error other than ERANGE,
52969         reflect it to the caller as LONGINT_INVALID.  If it reports
52970         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
52971         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
52972         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
52973         value.
52974         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
52975         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
52976         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
52977         [defined UINTMAX_MAX]: New macros.
52978
52979 2003-10-14  Bruno Haible  <bruno@clisp.org>
52980
52981         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
52982
52983 2003-10-14  Bruno Haible  <bruno@clisp.org>
52984
52985         * m4/sig_atomic_t: New file, from GNU gettext.
52986         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
52987
52988 2003-10-14  Bruno Haible  <bruno@clisp.org>
52989
52990         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
52991         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
52992         Also use volatile where needed.
52993
52994 2003-10-12  Paul Eggert  <eggert@twinsun.com>
52995
52996         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
52997         Change maintainer from Bruno Haible to 'all'.
52998
52999 2003-10-12  Paul Eggert  <eggert@twinsun.com>
53000
53001         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
53002
53003 2003-10-12  Paul Eggert  <eggert@twinsun.com>
53004
53005         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
53006         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
53007         and define in terms of the other primitives.
53008         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
53009         (SIZE_MAX): Define if not already defined.
53010         (array_size_overflow): New function.
53011         (xalloc_die): Abort instead of exiting if 'error' returns.
53012         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
53013         (xmalloc, xrealloc): Use them.
53014         (xcalloc): Check for address arithmetic overflow.
53015         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
53016         a bit faster than strcpy.
53017
53018 2003-10-10  Simon Josefsson  <jas@extundo.com>
53019
53020         * modules/argp (Depends-on): Add restrict and strcase.
53021
53022 2003-10-10  Simon Josefsson  <jas@extundo.com>
53023
53024         * m4/argp.m4: Add AC_C_INLINE.
53025
53026 2003-10-08  Paul Eggert  <eggert@twinsun.com>
53027
53028         Merge getpass from libc, plus a few fixes.
53029
53030         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
53031         Include <stdbool.h>.
53032         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
53033         __fsetlocking to empty.
53034         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
53035         do include <bits/libc-lock.h>.
53036         Do not include <fcntl.h>; not needed.
53037         [_LIBC]: Include <wchar.h>.
53038         (NOTCANCEL_MODE): New macro.
53039         (flockfile, funlockfile) [_LIBC]: New macros.
53040         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
53041         [!_LIBC]: New macros.
53042         (call_fclose): New function.
53043         (getpass): Use it.  Save tty stream separately; this simplifies the
53044         code and makes it more reliable if stdin happens to equal stdout.
53045         Invoke __fsetlocking on tty.
53046         Handle thread cancellation if needed.
53047         Namespace cleanup (use __tcgetattr, __getline).
53048         Use bool for Booleans.
53049         [USE_IN_LIBIO]: Handle wide streams.
53050         [!_LIBC]: Unconditionally do the fseek, since we don't know what
53051         stream might go where.
53052
53053         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
53054         doesn't have to include <stdio.h> before us.
53055         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
53056         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
53057         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
53058         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
53059         if not declared, so that we can use getpass.c code from libc without
53060         rewriting it.
53061         (flockfile, ftrylockfile, funlockfile): New macros.
53062
53063 2003-10-08  Paul Eggert  <eggert@twinsun.com>
53064
53065         * modules/getpass: Depend on stdbool.
53066
53067 2003-10-08  Paul Eggert  <eggert@twinsun.com>
53068
53069         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
53070
53071 2003-10-07  Karl Berry  <karl@gnu.org>
53072
53073         * config/config.{guess,sub}: update from config.
53074
53075 2003-10-06  Jim Meyering  <jim@meyering.net>
53076             Bruno Haible  <bruno@clisp.org>
53077
53078         This lets translators provide better translations for the
53079         "Written by ..." part of --version output.
53080         * lib/version-etc.h: Include stdarg.h.
53081         (version_etc_copyright): Declare as readonly.
53082         (version_etc): Make this function variadic with a NULL-terminated list
53083         of author name strings.
53084         (version_etc_va): New declaration.
53085         * lib/version-etc.c: Include stdarg.h, stdlib.h.
53086         (version_etc_copyright): Declare as readonly.
53087         (version_etc_va): New function. Provide a different translatable string
53088         for each possible number of authors < 10. Abbreviate when there are 10
53089         authors or more.
53090         (version_etc): Make this function variadic. Call version_etc_va.
53091         Suggestion from Gary V. Vaughan.
53092
53093         * lib/long-options.h (parse_long_options): Change prototype: the
53094         authors string is moved to the end and becomes variadic.
53095         * lib/long-options.c: Include stdarg.h.
53096         (parse_long_options): Make this function variadic, too.
53097         Call version_etc_va, not version_etc.
53098
53099 2003-10-06  Bruno Haible  <bruno@clisp.org>
53100
53101         * modules/version-etc-2: Remove file.
53102         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
53103
53104 2003-10-06  Bruno Haible  <bruno@clisp.org>
53105
53106         * modules/fatal-signal: New file.
53107         * MODULES.html.sh (func_all_modules): Add fatal-signal.
53108
53109 2003-10-06  Bruno Haible  <bruno@clisp.org>
53110
53111         * m4/fatal-signal.m4: New file.
53112         * m4/signalblocking.m4: New file, from GNU gettext.
53113
53114 2003-10-06  Bruno Haible  <bruno@clisp.org>
53115
53116         * lib/version-etc-2.h: Remove file.
53117         * lib/version-etc-2.c: Remove file.
53118
53119 2003-10-06  Bruno Haible  <bruno@clisp.org>
53120
53121         * lib/fatal-signal.h: New file, from GNU gettext.
53122         * lib/fatal-signal.c: New file, from GNU gettext.
53123
53124 2003-10-05  Paul Eggert  <eggert@twinsun.com>
53125
53126         * README: Rework advice for preventing empty .o files.
53127         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
53128         not <sys/types.h>.
53129
53130 2003-10-04  Karl Berry  <karl@gnu.org>
53131
53132         * lib/argp*: update from libc.
53133
53134 2003-10-04  Karl Berry  <karl@gnu.org>
53135
53136         * config/config.{guess,sub}: update from config.
53137
53138 2003-10-02  Bruno Haible  <bruno@clisp.org>
53139
53140         * modules/lchown (Include): Add lchown.h.
53141         * modules/time_r (Include): Use "..." syntax.
53142         * modules/xgetdomainname (Include): Add xgetdomainname.h.
53143
53144 2003-10-01  Simon Josefsson  <jas@extundo.com>
53145
53146         * MODULES.html.sh (func_all_modules): Move gethostname from section
53147         'based on' to section 'lacking' POSIX:2001.
53148
53149 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
53150
53151         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
53152         to output mode on the same stream.
53153
53154 2003-09-29  Paul Eggert  <eggert@twinsun.com>
53155
53156         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
53157         Fix arg typo in previous patch.
53158
53159 2003-09-28  Jim Meyering  <jim@meyering.net>
53160
53161         * lib/error.c: Correct cpp indentation.
53162
53163 2003-09-27  Paul Eggert  <eggert@twinsun.com>
53164
53165         * modules/free: New file.
53166
53167 2003-09-27  Paul Eggert  <eggert@twinsun.com>
53168
53169         * m4/free.m4: New file.
53170
53171 2003-09-27  Paul Eggert  <eggert@twinsun.com>
53172
53173         * lib/minmax.h (MIN, MAX)
53174         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
53175         Omit the special code that used __typeof__, since we worry that
53176         it could be more trouble than it's worth.  See:
53177         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
53178         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
53179
53180         * lib/free.c: New file.
53181
53182 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
53183
53184         Trivial fixes to Makefile.am parts of module listings.
53185         * modules/strstr: Append strstr.h to lib_SOURCES.
53186         * modules/strcase: Likewise, for strcase.h.
53187
53188 2003-09-27  Karl Berry  <karl@gnu.org>
53189
53190         * config/mkinstalldirs: update from automake.
53191
53192 2003-09-26  Paul Eggert  <eggert@twinsun.com>
53193
53194         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
53195         (error_tail): Do not loop, reallocating temporary buffer, since
53196         the output cannot contain more wide characters than the input
53197         contains bytes, the size must be big enough already.  This avoids
53198         one potential size overflow calculation.  Check for size overflow
53199         when calculating temporary buffer size.  Free temporary buffer
53200         when done, if it was allocated with malloc; this plugs a memory
53201         leak.  Remove casts from void * to pointers, that are no longer
53202         needed now that we're assuming C89 or better.
53203
53204         Merge error changes from glibc.
53205
53206         * lib/error.c, error.h: Update copyright notice header to match glibc.
53207         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
53208         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
53209         Disable cancellation while printing error.
53210         * lib/error.h: Prepend __ to parameter names.
53211
53212 2003-09-26  Jim Meyering  <jim@meyering.net>
53213
53214         * lib/error.c (error_tail): Move some declarations
53215         into inner scope where the local variables are used.
53216
53217 2003-09-26  Bruno Haible  <bruno@clisp.org>
53218
53219         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
53220         stpncpy().
53221         Don't define stpncpy through config.h; it's now done through stpncpy.h.
53222
53223 2003-09-26  Bruno Haible  <bruno@clisp.org>
53224
53225         * lib/stpncpy.h (gnu_stpncpy): New declaration.
53226         (stpncpy): Define as alias for gnu_stpncpy.
53227         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
53228
53229 2003-09-25  Simon Josefsson  <jas@extundo.com>
53230
53231         * lib/xgetdomainname.h: New file.
53232         * lib/xgetdomainname.c: New file.
53233
53234 2003-09-25  Simon Josefsson  <jas@extundo.com>
53235             Bruno Haible  <bruno@clisp.org>
53236
53237         * modules/getdomainname: New file.
53238         * modules/xgetdomainname: New file.
53239         * MODULES.html.sh (func_all_modules): Add getdomainname,
53240         xgetdomainname.
53241
53242 2003-09-25  Simon Josefsson  <jas@extundo.com>
53243             Bruno Haible  <bruno@clisp.org>
53244
53245         * m4/getdomainname.m4: New file.
53246
53247 2003-09-25  Simon Josefsson  <jas@extundo.com>
53248             Bruno Haible  <bruno@clisp.org>
53249
53250         * lib/getdomainname.h: New file.
53251         * lib/getdomainname.c: New file.
53252
53253 2003-09-25  Karl Berry  <karl@gnu.org>
53254
53255         * lib/argp-fmtstream.c, argp-help.c: update from libc.
53256
53257 2003-09-25  Karl Berry  <karl@gnu.org>
53258
53259         * config/install-sh: update from automake.
53260
53261 2003-09-25  Bruno Haible  <bruno@clisp.org>
53262
53263         * modules/version-etc-2: New file, from modules/version-etc with
53264         modifications.
53265         * MODULES.html.sh (func_all_modules): Add version-etc-2.
53266
53267 2003-09-25  Bruno Haible  <bruno@clisp.org>
53268
53269         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
53270         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
53271
53272 2003-09-24  Simon Josefsson  <jas@extundo.com>
53273
53274         * modules/xgethostname: Add xgethostname.h.
53275
53276 2003-09-24  Paul Eggert  <eggert@twinsun.com>
53277
53278         * lib/linebuffer.c (freebuffer): Don't free the argument, just
53279         the buffer associated with the argument.  Bug reported by
53280         Simon Josefsson.
53281
53282 2003-09-24  Paul Eggert  <eggert@twinsun.com>
53283
53284         * README: Document assumptions that 'int' is at least 32 bits
53285         wide, that integer arithmetic is 2's complement without overflow,
53286         that there are no holes in integer values, that adding sizes of
53287         two nonoverlapping objects can't overflow, and that all-bits-zero
53288         yields scalar zero.  Fix spelling and capitalization typos.
53289
53290 2003-09-19  Karl Berry  <karl@gnu.org>
53291
53292         * lib/argp.h: update from libc.
53293
53294 2003-09-17  Paul Eggert  <eggert@twinsun.com>
53295
53296         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
53297         to avoid spurious warnings like "AC_RUN_IFELSE was called before
53298         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
53299
53300 2003-09-17  Paul Eggert  <eggert@twinsun.com>
53301
53302         * gnulib-tool: Use "test -h", not "test -L", for portability
53303         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
53304         (tags_regexp): Remove, since \| doesn't conform to POSIX.
53305         (sed_extract_prog): Issue s commands one-by-one, rather than
53306         using \| in one s command.
53307
53308 2003-09-16  Paul Eggert  <eggert@twinsun.com>
53309
53310         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
53311         input error, instead of returning NULL the next time we are called
53312         (and therefore losing track of errno).
53313
53314 2003-09-16  Bruno Haible  <bruno@clisp.org>
53315
53316         * gnulib-tool (func_create_testdir): Warn about duplicated
53317         dependencies.
53318
53319 2003-09-15  Paul Eggert  <eggert@twinsun.com>
53320
53321         * modules/argmatch, modules/fatal, modules/obstack,
53322         modules/xalloc, modules/xgethostname: Sort dependencies by
53323         importance, not alphabetically.
53324
53325 2003-09-15  Paul Eggert  <eggert@twinsun.com>
53326
53327         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
53328         fails, so that the caller gets the proper errno.
53329
53330         * lib/readutmp.c (read_utmp): Likewise.
53331         Check for fstat error.  Close stream and free storage
53332         when failing.
53333
53334 2003-09-14  Karl Berry  <karl@gnu.org>
53335
53336         * config/srclist.txt (strdup.c): disable for c89 changes.
53337
53338 2003-09-14  Jim Meyering  <jim@meyering.net>
53339
53340         * lib/getloadavg.c: Correct cpp indentation.
53341         * lib/strdup.c: Likewise.
53342         * lib/vasnprintf.c: Likewise.
53343
53344 2003-09-14  Bruno Haible  <bruno@clisp.org>
53345
53346         * modules/fwriteerror: New file.
53347         * MODULES.html.sh (func_all_modules): Add fwriteerror.
53348
53349 2003-09-14  Bruno Haible  <bruno@clisp.org>
53350
53351         * lib/fwriteerror.h: New file.
53352         * lib/fwriteerror.c: New file.
53353
53354 2003-09-12  Paul Eggert  <eggert@twinsun.com>
53355
53356         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
53357         modules/xgethostname, modules/xalloc: Depend on exit.
53358
53359 2003-09-12  Paul Eggert  <eggert@twinsun.com>
53360
53361         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
53362
53363         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
53364         and AC_MINIX, too, so that their extensions are available.
53365
53366         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
53367         This macro has been superseded by gl_BACKUPFILE.
53368
53369         More patches to assume C89 or better.
53370
53371         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
53372
53373         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
53374         unconditionally.
53375         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
53376         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
53377         Include <string.h>, <stdlib.h> unconditionally.
53378         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
53379         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
53380         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
53381         headers or for string.h.
53382         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
53383         or strtoul.
53384
53385         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
53386         headers.
53387         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
53388         * m4/userspec.m4 (gl_USERSPEC): Likewise.
53389         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
53390         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
53391         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
53392         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
53393         memcpy, memset.
53394         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
53395         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
53396         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
53397         strtol.
53398         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
53399         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
53400         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
53401         strtoul.
53402
53403 2003-09-12  Paul Eggert  <eggert@twinsun.com>
53404
53405         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
53406         * lib/obstack.c [!defined _LIBC]: Likewise.
53407         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
53408         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
53409         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
53410
53411         More changes to assume C89 or better.
53412
53413         * lib/error.c (error_tail): Assume vprintf.
53414
53415         * lib/argmatch.c (getenv): Remove decl.
53416         * lib/progreloc.c (get_full_program_name): Define via prototype.
53417         * lib/setenv.c (clearenv): Likewise.
53418         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
53419         needed.
53420         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
53421         (malloc, memcpy): Remove decls.
53422         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
53423         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
53424         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
53425         (memcpy): Remove macro.
53426         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
53427         (__P): Remove.  All uses removed.
53428         (PTR): Remove.  All uses changed to void *.
53429         (CHAR_BIT, NULL): Remove.
53430         (spaces, zeros, memset_space, memset_zero)
53431         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
53432         Remove.
53433         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
53434         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
53435         Define with prototype.
53436         Remove now-unnecessary prototype decl.
53437         (extra_args_spec): Assume ANSI C.  All uses changed.
53438         (extra_args_spec_iso): Remove.
53439         (my_strftime, emacs_strftimeu): Define via prototype.
53440         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
53441         unconditionally.
53442         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
53443         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
53444         (strtoul, strtol): Remove decls.
53445         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
53446         LONG_MAX): Remove.
53447         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
53448         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
53449         (LOCALE_PARAM_PROTO): New macro.
53450         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
53451         (INTERNAL (strtol), strtol): Define with a prototype.
53452         (PARAMS): Remove.  All uses removed.
53453         * lib/tempname.c: Include <string.h> unconditionally.
53454         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
53455         * lib/xgethostname.c (main): Define with a prototype.
53456         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
53457         Include <stdlib.h> unconditionally.
53458         (calloc, malloc, realloc, free): Remove decls.
53459         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
53460         Include <stdlib.h> unconditionally.  Sort include file names.
53461         (strtod): Remove.
53462         (xstrtod): Define with a prototype.
53463         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
53464         (strtol, strtoul): Remove decls.
53465
53466 2003-09-11  Paul Eggert  <eggert@twinsun.com>
53467
53468         More patches to assume C89 or better.
53469         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
53470         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
53471         string.h, memchr, STDC_HEADERS.
53472
53473 2003-09-11  Paul Eggert  <eggert@twinsun.com>
53474
53475         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
53476         Include <stdlib.h>, <string.h> unconditionally.
53477         Remove now-unnecessary cast to char *.
53478         * lib/strnlen.c: Include <string.h> unconditionally.
53479         * lib/yesno.c (yesno): Define with a prototype.
53480
53481 2003-09-11  Bruno Haible  <bruno@clisp.org>
53482
53483         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
53484
53485 2003-09-10  Jim Meyering  <jim@meyering.net>
53486
53487         * lib/error.c: Correct indentation of cpp directives.
53488
53489 2003-09-10  Bruno Haible  <bruno@clisp.org>
53490
53491         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
53492         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
53493         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
53494         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
53495         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
53496         <stdlib.h> and <string.h> checks.
53497         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
53498         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
53499
53500 2003-09-10  Bruno Haible  <bruno@clisp.org>
53501
53502         * lib/strcspn.c: Include <string.h> unconditionally.
53503         * lib/strpbrk.c: Include <string.h> unconditionally.
53504         * lib/strstr.c: Include <string.h> unconditionally.
53505         * lib/unicodeio.c: Include <string.h> unconditionally.
53506         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
53507         * lib/unsetenv.c: Likewise.
53508         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
53509         * lib/yesno.c: Include <stdlib.h> unconditionally.
53510         (rpmatch): Add prototype.
53511
53512 2003-09-09  Paul Eggert  <eggert@twinsun.com>
53513
53514         More patches to assume C89 or better.
53515         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
53516         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
53517         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
53518         or for string.h.
53519         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
53520         stdlib.h.
53521         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
53522         C headers.
53523         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
53524         string.h.
53525         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
53526         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
53527         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
53528         or for string.h.
53529         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
53530         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
53531         C headers.
53532         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
53533         memcpy.
53534         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
53535         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
53536         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
53537         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
53538         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
53539         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
53540         string.h, free.
53541         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
53542         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
53543         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
53544         C headers, or for string.h.
53545         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
53546         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
53547         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
53548         headers, memory.h, stdlib.h, string.h, strings.h.
53549         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
53550         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
53551         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
53552         strchr.
53553         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
53554         headers, memory.h, string.h.
53555         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
53556         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
53557         free.
53558         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
53559         headers.
53560         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
53561         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
53562         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
53563         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
53564         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
53565
53566 2003-09-09  Paul Eggert  <eggert@twinsun.com>
53567
53568         More K&R removal.
53569
53570         * lib/acosl.c (main): Use a prototype.
53571         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
53572         tanl.c: Likewise.
53573
53574         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
53575
53576         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
53577         (getopt, etopt_long, getopt_long_only, _getopt_internal)
53578         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
53579         with a prototype.
53580         * lib/getopt.c (const): Remove macro.
53581         Include <string.h> unconditionally.
53582         (my_index): Remove; all uses changed to strchr.
53583         (strlen): Remove decl.
53584         (exchange): Remove forward decl; no longer needed.
53585         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
53586         Define with prototype.
53587         * lib/getopt1.c (const): Remove macro.
53588         (getopt_long, getopt_long_only, main): Define with prototype.
53589
53590         * lib/getugroups.c: Include <string.h> unconditionally.
53591
53592         * lib/getusershell.c: Include <stdlib.h> unconditionally.
53593         (getusershell, setusershell, endusershell, readname, main):
53594         Define with prototypes.
53595
53596         * lib/group-member.c: Include group-member.h first.
53597         Include <stdlib.h> unconditionally.
53598
53599         * lib/hard-locale.c: Include hard-locale.h first.
53600         Include <stdlib.h>, <string.h> unconditionally.
53601
53602         * lib/hash.c (free, malloc): Remove decls.
53603         Include <stdlib.h> unconditionally.
53604
53605         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
53606         (getenv): Do not declare.
53607
53608         * lib/idcache.c: Include <string.h> unconditionally.
53609
53610         * lib/long-options.c: Include long-options.h first, to test interface.
53611         Include <stdlib.h> unconditionally.
53612
53613         * lib/makepath.c: Include makepath.h first, to test interface.
53614         Include <stdlib.h> and <string.h> unconditionally.
53615
53616         * lib/linebuffer.c: Include <stdlib.h>.
53617         (free): Remove decl.
53618
53619         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
53620         stddef.h. rpl_malloc returns void *, not char *.
53621         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
53622         prototype.
53623
53624         * lib/md5.h: Include <limits.h> unconditionally.
53625         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
53626         (__P): Remove; all uses removed.
53627         * lib/md5.c: Include "md5.h" first.
53628         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
53629         md5_buffer, md5_process_bytes, md5_process_block):
53630         Define with prototypes.
53631         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
53632         * lib/sha.c: Include "sha.h" first.
53633         Include <stdlib.h>, <string.h> unconditionally.
53634
53635         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
53636         * lib/memcmp.c (__ptr_t): Likewise.
53637         * lib/memrchr.c (__ptr_t): Likewise.
53638         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
53639         Include <string.h> unconditionally.
53640         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
53641         * lib/memchr.c: Include <stdlib.h> unconditionally.
53642         * lib/memchr.c (LONG_MAX): Remove.
53643         * lib/memrchr.c (LONG_MAX): Likewise.
53644         * lib/memchr.c (__memchr): Define via a prototype.
53645         * lib/memrchr.c (__memrchr): Likewise.
53646         * lib/memcmp.c (__P): Remove, and remove all uses.
53647         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
53648         Remove forward decls; no longer needed.
53649         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
53650         Use types required by C89 in prototype.
53651
53652         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
53653         * lib/savedir.c: Likewise.
53654         * lib/mkdir.c (free): Remove decl.
53655         * lib/rmdir.c (rmdir): Define with a prototype.
53656         * lib/savedir.c: Include savedir.h first, to test interface.
53657
53658         * lib/mktime.c (STDC_HEADERS): Remove.
53659         Include <stdlib.h>, <string.h> unconditionally.
53660
53661         * lib/modechange.c: Include <stdlib.h> unconditionally.
53662         (malloc): Remove decl.
53663
53664         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
53665         (free): Remove decl.
53666
53667         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
53668         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
53669         (This type really should be intptr_t, but that's a C99ism.)
53670         (_obstack_memcpy): Remove: all uses changed to memcpy.
53671         Include <string.h> unconditionally.
53672         (struct obstack): Assume __STDC__ for types of members
53673         chunkfun, freefun, extra_arg.
53674         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
53675         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
53676         obstack_begin, obstack_specify_allocation,
53677         obstack_specify_allocation_with_arg, obstack_chunkfun,
53678         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
53679         Remove unprototyped decls and the macros that use them.
53680         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
53681         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
53682         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
53683         (defined __STDC__ && __STDC__)]:
53684         Remove nonprototyped code.
53685         Include <stdlib.h> unconditionally.
53686         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
53687         _obstack_allocated_p, _obstack_free, obstack_free,
53688         _obstack_memory_used, print_and_abort):
53689         Define using prototypes.
53690         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
53691         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
53692         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
53693         obstack_next_free, obstack_object_size, obstack_room) [0]:
53694         Remove unused, unprototyped code.
53695
53696         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
53697
53698         * lib/physmem.c (physmem_total, physmem_available, main): Define
53699         with prototypes.
53700
53701         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
53702         (main): Define with a prototype.
53703
53704         * lib/posixver.c (getenv): Remove decl.
53705
53706         * lib/putenv.c (malloc): Returns void *, not char *.
53707         Include <string.h> unconditionally.
53708         (strchr, memcpy, NULL): Do not define.
53709
53710         * lib/readtokens.c: Include readtokens.h first, to test interface.
53711         Include <stdlib.h>, <string.h> unconditionally.
53712         (init_tokenbuffer): Define with a prototype.
53713
53714         * lib/regex.c (PARAMS): Remove.  All uses removed.
53715         All uses of _RE_ARGS removed, too.
53716         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
53717         unconditionally.
53718         (bzero): Assume memset exists.
53719         (memcmp, memcpy, NULL): Remove.
53720         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
53721         char, or assignments to local vars of type signed char.
53722         (init_syntax_once, PREFIX(extract_number_and_incr),
53723         PREFIX(print_partial_compiled_pattern),
53724         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
53725         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
53726         PREFIX(regex_grow_registers), PREFIX(regex_compile),
53727         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
53728         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
53729         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
53730         wcs_compile_range, byte_compile_range, truncate_wchar,
53731         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
53732         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
53733         count_mbs_length, wcs_re_match_2_internal,
53734         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
53735         PREFIX(alt_match_null_string_p),
53736         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
53737         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
53738         regfree, PREFIX(extract_number)): Define with prototype.  Remove
53739         now-unnecessary declaration, if any.
53740         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
53741         regcomp, regexec):
53742         Remove now-unnecessary casts among pointer types.
53743         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
53744
53745         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
53746         (free): Remove decl.
53747
53748         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
53749
53750         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
53751         (free): Remove decl.
53752
53753         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
53754         * lib/xgetcwd.c: Likewise.
53755
53756         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
53757         (free): Remove decl.
53758
53759         * lib/strchrnul.c (strchrnul): Define with a prototype.
53760         Fix bug: c_in was not converted to char before searching.
53761
53762         The following changes are not K&R related:
53763
53764         * lib/group-member.h: Include <sys/types.h>, so that this file is
53765         self-contained.
53766         * lib/makepath.h: Likewise.
53767
53768         * lib/getusershell.c (readname, default_index, line_size, readname):
53769         Use size_t, not int, for sizes.
53770         (readname): If the size overflows, report an error instead of
53771         looping forever.
53772
53773 2003-09-09  Paul Eggert  <eggert@twinsun.com>
53774
53775         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
53776         libc.
53777
53778 2003-09-09  Paul Eggert  <eggert@twinsun.com>
53779
53780         * README: New section: portability guidelines.
53781
53782 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
53783
53784         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
53785         C89 spec.
53786
53787 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
53788
53789         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
53790
53791 2003-09-08  Paul Eggert  <eggert@twinsun.com>
53792
53793         Assume C89 or better; remove K&R cruft.
53794         A few of these changes were first proposed by Derek Robert Price
53795         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
53796
53797         * lib/addext.c: Include <string.h> unconditionally.
53798         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
53799         Don't declare getenv or malloc.
53800
53801         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
53802         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
53803         (NULL): Remove.
53804         (find_stack_direction, alloca): Use prototypes.
53805
53806         * lib/atexit.c (atexit): Define using a prototype.
53807
53808         * lib/basename.c, dirname.c, stripslash.c:
53809         Include <string.h> unconditionally.
53810
53811         * lib/bcopy.c: Include <stddef.h>.
53812         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
53813
53814         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
53815
53816         * lib/error.h (error, error_at_line, error_print_progname)
53817         [! (defined (__STDC__) && __STDC__)]: Remove decls.
53818         * lib/error.c: Include error.h first, to check interface.
53819         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
53820         (VA_START): Remove; all uses changeed to va_start.
53821         (exit, strerror): Remove decls.
53822         (error_print_progname): Prototype uncondionally.
53823         Don't include <errno.h>; no longer needed.
53824         (private_strerror): Remove.
53825         (error_tail): Always define.
53826         (error, error_at_line): Assume C89 or better; always use prototypes.
53827         * lib/fatal.c: Include "fatal.h" first, to test interface.
53828         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
53829         (VA_START): Remove; all uses changed to va_start.
53830         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
53831         this case.
53832         (exit): Remove decl.
53833         (fatal): Prototype unconditionally.  Assume va_start works.
53834         Abort at end, to pacify gcc.
53835
53836         * lib/euidaccess.c (main): Define with a prototype.
53837
53838         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
53839
53840         * lib/exitfail.c: Include <stdlib.h> unconditionally.
53841
53842         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
53843         prototypes.
53844         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
53845         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
53846         (getenv): Remove decl.
53847         (fnmatch): Define using a prototype.
53848         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
53849         (FCT): Define using a prototype.
53850
53851         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
53852
53853         * lib/gethostname.c: Include <stddef.h>.
53854         (gethostname): Define with prototype.  Length is size_t, not int.
53855
53856 2003-09-08  Paul Eggert  <eggert@twinsun.com>
53857
53858         Assume C89 or better; remove K&R cruft.
53859         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
53860         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
53861         string.h, getenv, malloc.
53862         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
53863         headers.
53864         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
53865         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
53866         do not check for strerror.
53867         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
53868         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
53869         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
53870         do not check for doprnt or vprintf.
53871         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
53872         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
53873
53874 2003-09-08  Paul Eggert  <eggert@twinsun.com>
53875
53876         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
53877         getversion.c should have been removed then, but was accidentally
53878         preserved.
53879
53880         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
53881         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
53882
53883 2003-09-08  Karl Berry  <karl@gnu.org>
53884
53885         * config/config.sub, config.guess, srclistvars.sh: update from savannah
53886                 config, forget about prep.
53887
53888         * config/depcomp, missing: update from automake.
53889
53890 2003-09-07  Paul Eggert  <eggert@twinsun.com>
53891
53892         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
53893         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
53894
53895 2003-09-07  Paul Eggert  <eggert@twinsun.com>
53896
53897         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
53898         copy_tm_result.  Bug reported by Simon Josefsson in
53899         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
53900
53901 2003-09-06  Paul Eggert  <eggert@twinsun.com>
53902
53903         * m4/time_r.m4: New file.
53904         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
53905         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
53906         is. Check for timegm declaration.
53907         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
53908         Do not check for gmtime_r.
53909         Replace mktime if __mktime_internal does not exist and if mktime
53910         hasn't been replaced already.
53911
53912 2003-09-06  Paul Eggert  <eggert@twinsun.com>
53913
53914         * lib/time_r.c, lib/time_r.h: New files.
53915
53916         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
53917         __localtime_r.
53918         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
53919         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
53920
53921         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
53922         __gmtime_r.
53923         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
53924         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
53925         Include <time_r.h>.
53926
53927         * lib/timegm.c: Switch to glibc implementation, with the following
53928         changes:
53929         [defined HAVE_CONFIG_H]: Include <config.h>.
53930         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
53931         (__mktime_internal) [!defined _LIBC]: New decl.
53932         (__gmtime_r) [!defined _LIBC]: New macro and function.
53933         (timegm): Use a prototype, since gnulib assumes C89.
53934         Do not bother declaring tmp to be const, as it's not really usefu.
53935         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
53936         (timegm): Declare only if HAVE_DECL_TIMEGM.
53937
53938 2003-09-06  Paul Eggert  <eggert@twinsun.com>
53939
53940         * MODULES.html.sh (func_all_modules): Add time_r.
53941         * modules/time_r: New file.
53942         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
53943         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
53944
53945 2003-09-03  Paul Eggert  <eggert@twinsun.com>
53946
53947         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
53948         Bug reported by Lute Kamstra in
53949         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
53950
53951         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
53952         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
53953         course with correspondingly smaller numbers for tomorrow and
53954         yesterday.  From Tadayoshi Funaba.  Originally installed into
53955         sh-utils on 1999-08-07, but the patch got lost (I guess during the
53956         coreutils merge?).
53957
53958 2003-08-31  Simon Josefsson  <jas@extundo.com>
53959
53960         * modules/timegm: New file.
53961         * MODULES.html.sh (func_all_modules): Add timegm.
53962
53963 2003-08-31  Simon Josefsson  <jas@extundo.com>
53964
53965         * m4/timegm.m4: New file.
53966
53967 2003-08-31  Simon Josefsson  <jas@extundo.com>
53968
53969         * lib/timegm.h: New file.
53970         * lib/timegm.c: New file.  Based on
53971         wget-1.8.2/src/http.c:mktime_from_utc.
53972
53973 2003-08-31  Karl Berry  <karl@gnu.org>
53974
53975         * lib/argp.h: update from libc.
53976
53977 2003-08-28  Bruno Haible  <bruno@clisp.org>
53978
53979         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
53980         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
53981         followed by '#define fnmatch fnmatch_posix' gives an error.
53982
53983 2003-08-28  Bruno Haible  <bruno@clisp.org>
53984
53985         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
53986         warning on QNX, which defines O_BINARY to 000000.
53987
53988 2003-08-27  Jim Meyering  <jim@meyering.net>
53989
53990         * m4/mkstemp.m4: Require that the system mkstemp be able to create
53991         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
53992         would fail after 32.  Reported by Danny Levinson.  Details here:
53993         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
53994
53995 2003-08-24  Bruno Haible  <bruno@clisp.org>
53996
53997         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
53998         MSVC7 <stdio.h> is included later.
53999
54000 2003-08-22  Simon Josefsson  <jas@extundo.com>
54001
54002         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
54003
54004 2003-08-20  Karl Berry  <karl@gnu.org>
54005
54006         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
54007
54008 2003-08-20  Bruno Haible  <bruno@clisp.org>
54009
54010         * modules/progname: New file.
54011         * MODULES.html.sh (func_all_modules): Add progname.
54012
54013 2003-08-20  Bruno Haible  <bruno@clisp.org>
54014
54015         * lib/progname.h: New file, from GNU gettext.
54016         * lib/progname.c: New file, from GNU gettext.
54017         * lib/progreloc.c: New file, from GNU gettext.
54018
54019 2003-08-19  Jim Meyering  <jim@meyering.net>
54020
54021         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
54022         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
54023
54024 2003-08-19  Bruno Haible  <bruno@clisp.org>
54025
54026         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
54027         more.
54028
54029 2003-08-19  Bruno Haible  <bruno@clisp.org>
54030
54031         * lib/xstrdup.c: Assume <string.h> exists.
54032
54033 2003-08-18  Paul Eggert  <eggert@twinsun.com>
54034
54035         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
54036         in makefile rules.
54037
54038 2003-08-18  Jim Meyering  <jim@meyering.net>
54039
54040         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
54041         * m4/lib-ld.m4: Likewise.
54042
54043 2003-08-18  Jim Meyering  <jim@meyering.net>
54044
54045         * lib/setenv.h: Indent nested cpp directive.
54046         * lib/vasnprintf.c: Remove trailing blanks.
54047
54048 2003-08-17  Simon Josefsson  <jas@extundo.com>
54049
54050         * modules/xstrndup: New file.
54051         * MODULES.html.sh (func_all_modules): Add xstrndup.
54052
54053 2003-08-17  Simon Josefsson  <jas@extundo.com>
54054
54055         * modules/argp: Fix autoconf macro name. Add more dependencies.
54056
54057 2003-08-17  Simon Josefsson  <jas@extundo.com>
54058
54059         * m4/xstrndup.m4: New file.
54060
54061 2003-08-17  Simon Josefsson  <jas@extundo.com>
54062
54063         * m4/argp.m4: New file.
54064
54065 2003-08-17  Simon Josefsson  <jas@extundo.com>
54066             Bruno Haible  <bruno@clisp.org>
54067
54068         * lib/xstrndup.h: New file.
54069         * lib/xstrndup.c: New file.
54070
54071 2003-08-17  Bruno Haible  <bruno@clisp.org>
54072
54073         * modules/strndup (Files, Include): Add lib/strndup.h.
54074
54075 2003-08-17  Bruno Haible  <bruno@clisp.org>
54076
54077         * modules/euidaccess (Files): Add lib/euidaccess.h.
54078
54079 2003-08-17  Bruno Haible  <bruno@clisp.org>
54080
54081         * lib/strndup.h: New file.
54082
54083 2003-08-17  Bruno Haible  <bruno@clisp.org>
54084
54085         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
54086         like AC_GNU_SOURCE.
54087         * modules/extensions (configure.ac): Comment out the invocation of
54088         gl_USE_SYSTEM_EXTENSIONS.
54089
54090 2003-08-16  Paul Eggert  <eggert@twinsun.com>
54091
54092         Merges from coreutils, etc.
54093         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
54094         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
54095         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
54096         fixing a typo.
54097         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
54098         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
54099
54100 2003-08-16  Paul Eggert  <eggert@twinsun.com>
54101
54102         Document merge from coreutils.
54103         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
54104         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
54105         * modules/utime: Add m4/utimes-null.m4.
54106
54107 2003-08-16  Paul Eggert  <eggert@twinsun.com>
54108
54109         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
54110         space, undoing this 2003-08-12 change:
54111         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
54112
54113 2003-08-16  Paul Eggert  <eggert@twinsun.com>
54114
54115         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
54116         strtoul.c from libc, undoing this 2003-08-12 change:
54117         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
54118
54119 2003-08-16  Jim Meyering  <jim@meyering.net>
54120
54121         Merges from coreutils.
54122         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
54123         prefix.  Adjust cache variables similarly.  Create 500 rather than
54124         just 300 files, to exercise bug on Darwin6.5, too.
54125         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
54126         $missing_dir.
54127         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
54128         AM_SYS_POSIX_TERMIOS.
54129         Reported by mkc@mathdogs.com.
54130         Also change use of $am_cv_sys_posix_termios
54131         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
54132         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
54133         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
54134         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
54135         in /proc/mounts until it finds one with matching device number.  This
54136         is unnecessary when the FILE argument *is* a mount point.  No stat call
54137         is necessary in that case.  So, disable the statvfs-testing code on
54138         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
54139         as RedHat bug# 84846.
54140         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
54141         to 1MB, so as not to render systems with no stack size limit (e.g.,
54142         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
54143         Include <unistd.h>.  On some systems,
54144         it is required for the definition of _SC_PAGESIZE.
54145
54146 2003-08-16  Jim Meyering  <jim@meyering.net>
54147
54148         Merge from coreutils.
54149         * lib/xstrtoimax.c: #else #if -> #elif.
54150         * lib/xstrtoumax.c: Likewise.
54151
54152 2003-08-16  Jim Meyering  <jim@meyering.net>
54153
54154         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
54155         * m4/utimes.m4: Removed.
54156         * m4/utimes-null.m4: Renamed from utimes.m4.
54157
54158         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
54159         to 1MB, so as not to render systems with no stack size limit (e.g.,
54160         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
54161         Include <unistd.h>.  On some systems,
54162         it is required for the definition of _SC_PAGESIZE.
54163
54164 2003-08-16  Jim Meyering  <jim@meyering.net>
54165         and Paul Eggert  <eggert@cs.ucla.edu>
54166
54167         Merges from coreutils, etc.
54168
54169         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
54170         using the latest version from cvs.  This avoids problems with #line
54171         directives using a vendor (Sun) compiler.
54172         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
54173         Don't set GETGROUPS_LIB here; now it's
54174         done via getgroups.m4's wrapper function.
54175         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
54176         rather than just in sh-util/configure.in, so that the
54177         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
54178         same.
54179         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
54180         AC_FUNC_GETLOADAVG where to find getloadavg.c.
54181         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
54182         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
54183         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
54184         Remove code that is now done by the newly-required macros.
54185         Append $(EXEEXT) to DF_PROG.
54186         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
54187         Do not invoke or require the following here,
54188         since prereq.m4 or some gnulib .m4 now does this for us:
54189         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
54190         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
54191         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
54192         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
54193         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
54194         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
54195         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
54196         AC_FUNC_OBSTACK.
54197         Do not replace the following functions, as this is now the job
54198         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
54199         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
54200         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
54201         atexit getpass, strdup, getpagesize.
54202         Replace 'raise'.
54203         Do not check for the following functions, as this is now the job
54204         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
54205         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
54206         setregid.
54207         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
54208         Check for sys/sysctl.h.
54209         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
54210         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
54211         of checking for ssize_t ourselves.
54212
54213         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
54214         Require every macro that gnulib/modules/* suggests for us.
54215         (jm_PREREQ_ADDEXT): New macro.
54216         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
54217         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
54218
54219         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
54220         (gl_PHYSMEM): Use it.
54221         Also check for `table' function.
54222         Check for new headers and functions.
54223         Add check for sys/sysmp.h.
54224         With suggestions from Kaveh Ghazi.
54225         Ignore headers that are present but cannot be compiled.  This
54226         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
54227         C 5.4.
54228
54229 2003-08-15  Paul Eggert  <eggert@twinsun.com>
54230
54231         Document merge from coreutils.
54232         * modules/userspec: Depend on posixver.
54233         * modules/strftime: Depend on tzset.
54234
54235 2003-08-15  Paul Eggert  <eggert@twinsun.com>
54236
54237         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
54238         rather than tab, after '#' in shell-script copyright notices.
54239         Suggested by Bruno Haible.
54240
54241 2003-08-15  Paul Eggert  <eggert@twinsun.com>
54242
54243         * config/srclist-update: Use three spaces, rather than tab, after '#'
54244         in shell-script copyright notices.  Suggested by Bruno Haible.
54245         Remove unnecessary parenthesization in regular expression.
54246
54247 2003-08-15  Jim Meyering  <jim@meyering.net>
54248
54249         Merge from coreutils.
54250         * lib/xgethostname.c: Include <stdlib.h>.
54251         (xghostname): Don't exit for anything other than memory-related
54252         failure; just return NULL.
54253         * lib/userspec.c: Include "posixver.h".
54254         (parse_user_spec): Accept `.' as a separator only
54255         in pre-POSIX-200112 mode.
54256         * lib/strtoimax.c: Use #elif rather than #else #if.
54257         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
54258         Remove function, now that we can rely on a working tzset function.
54259         [!_LIBC]: Ensure that the required autoconf test has been run.
54260         [!defined _NL_CURRENT && HAVE_STRFTIME]:
54261         Use underlying_strftime for %r.
54262         * lib/sha.c: Merge in some clean-up and optimization changes from
54263         glibc.
54264         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
54265         Ensure that it is a multiple of 64.
54266         Rearrange loop exit tests so as to avoid performing an
54267         additional fread after encountering an error or EOF.
54268         * lib/realloc.c: Update copyright date.
54269
54270 2003-08-15  Jim Meyering  <jim@meyering.net>
54271         and Paul Eggert  <eggert@twinsun.com>
54272
54273         Merge from coreutils.
54274         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
54275         member but strut utmpx does not.  Needed for AIX 4.3.3.
54276         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
54277
54278 2003-08-15  Jim Meyering  <jim@meyering.net>
54279         and Paul Eggert  <eggert@cs.ucla.edu>
54280
54281         Merges from coreutils, etc.
54282         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
54283         Require gl_FUNC_TZSET_CLOBBER.
54284         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
54285         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
54286         members.
54287
54288 2003-08-14  Paul Eggert  <eggert@twinsun.com>
54289
54290         Help the merge from coreutils.
54291         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
54292         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
54293         * m4/tzset.m4: Use it too.
54294
54295 2003-08-14  Paul Eggert  <eggert@twinsun.com>
54296
54297         * modules/tzset: New file.
54298
54299 2003-08-14  Jim Meyering  <jim@meyering.net>
54300
54301         Merges from coreutils.
54302         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
54303         variable names, rather than @FNMATCH_H@.
54304         * modules/alloca: Likewise for $(ALLOCA_H).
54305
54306         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
54307         the three copies of the literal target, `fnmatch.h'.
54308         * modules/alloca (alloca.h): Likewise.
54309
54310 2003-08-14  Jim Meyering  <jim@meyering.net>
54311
54312         Merge from coreutils.
54313         * m4/tzset.m4: New file.
54314         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
54315         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
54316         otherwise, AIX 5.1 systems would end up using the latter.
54317         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
54318         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
54319         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
54320         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
54321
54322 2003-08-14  Jim Meyering  <jim@meyering.net>
54323
54324         Merge from coreutils.
54325         * lib/obstack.h: Whitespace changes.
54326         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
54327         and xcalloc return values.
54328         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
54329         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
54330         hang on OSF/1 5.1 for DIR on both local and remote file systems.
54331         Reported by (and fix confirmed by) Nelson H. F. Beebe.
54332         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
54333         error from mntctl.
54334         Use mntctl's return value to drive the entry-processing loop, since
54335         we can't rely on the value of the vmt_length member in the last
54336         entry.  On some systems doing so could result in exhausting
54337         virtual memory.  Based in part on a patch from Mike Jetzer.
54338
54339 2003-08-14  Jim Meyering  <jim@meyering.net>
54340         and Paul Eggert  <eggert@twinsun.com>
54341
54342         Merges from coreutils, plus other fixes.
54343         * lib/physmem.c: Merge in portability changes from gcc/libiberty
54344         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
54345         for credits and details.  Thanks to Kaveh Ghazi for helping
54346         to keep these files in sync.
54347         (ARRAY_SIZE): Define it.
54348         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
54349         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
54350         (memcasecmp): Don't assume size_t fits in unsigned int.
54351         Remove casts and duplicate code.
54352         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
54353         (memcpy): Remove definition.
54354         Merge in some clean-up and optimization changes from glibc.
54355         [BLOCKSIZE]: Move definition to top of file.
54356         Ensure that it is a multiple of 64.
54357         Rearrange loop exit tests so as to avoid performing an
54358         additional fread after encountering an error or EOF.
54359         * lib/md5.h (md5_uintptr): Define.
54360         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
54361         return to the initial working directory.  Preserve errno
54362         for caller.
54363         * lib/idcache.c: Include "xalloc.h".
54364         (xmalloc, xrealloc): Remove decls.
54365         (getuser): Remove casts no longer required in C89.
54366         * lib/human.c: Include stdio.h, for sprintf.
54367         * lib/group-member.c: Include "xalloc.h".
54368         (xmalloc, xrealloc): Remove decls.
54369         (get_group_info): Remove casts no longer required in C89.
54370         * lib/getusershell.c (readname): Remove casts no longer required in
54371         C89.
54372         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
54373         * lib/getline.c: Whitespace fix, from coreutils.
54374
54375 2003-08-13  Paul Eggert  <eggert@twinsun.com>
54376
54377         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
54378         Check for isascii.
54379
54380         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
54381         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
54382         Undo previous (whitespace-only) change.
54383
54384 2003-08-13  Paul Eggert  <eggert@twinsun.com>
54385
54386         * lib/exclude.c: Include <ctype.h>
54387         (IN_CTYPE_DOMAIN): New macro.
54388         (is_space): New fn.
54389         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
54390         and empty lines.
54391
54392         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
54393         Undo previous (whitespace-only) change.
54394
54395 2003-08-13  Paul Eggert  <eggert@twinsun.com>
54396
54397         * config/srclist-update: Change update back to the old behavior,
54398         leaving whitespace alone.  Use one 'sed' command rather than a
54399         pipeline.
54400         (fixlicense): Now a variable, not a function.
54401         (remove_trailing_blanks): Remove.
54402         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
54403         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
54404         Undo previous (whitespace-only) change.
54405
54406 2003-08-12  Paul Eggert  <eggert@twinsun.com>
54407
54408         Merge from coreutils.
54409         * modules/euidaccess: Add lib_SOURCES, include for new
54410         file euidaccess.h
54411
54412 2003-08-12  Paul Eggert  <eggert@twinsun.com>
54413
54414         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
54415         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
54416         Normalize leading white space and remove trailing white space.
54417
54418         Merge from coreutils
54419         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
54420
54421         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
54422         0.12.1.  These files are now being upgraded automatically by
54423         ../config/srclist-update.
54424
54425 2003-08-12  Paul Eggert  <eggert@twinsun.com>
54426
54427         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
54428         Normalize leading white space and remove trailing white space.
54429         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
54430         notice, as per ../config/srclist-update.
54431
54432         Merge from coreutils.
54433         * lib/euidaccess.h: New file.
54434         * lib/euidaccess.c: Include it.
54435         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
54436         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
54437         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
54438
54439 2003-08-12  Paul Eggert  <eggert@twinsun.com>
54440
54441         * config/srclist-update: Add copyright notice.
54442         (remove_id_lines, remove_trailing_blanks): New constants.
54443         (fixfile): Use them to normalize spacing a bit in copied files.
54444         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
54445         Normalize leading white space and remove trailing white space.
54446
54447         * config/texinfo.tex: Sync with texinfo.
54448
54449         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
54450         strtoul.c from libc, to merge coreutils whitespace changes.
54451
54452         * config/srclist.txt: Get the following m4 files from gettext:
54453         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
54454         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
54455         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
54456         wint_t.m4.
54457
54458 2003-08-12  Karl Berry  <karl@gnu.org>
54459
54460         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
54461         been made.
54462
54463 2003-08-11  Paul Eggert  <eggert@twinsun.com>
54464
54465         * modules/gnu-source, m4/gnu-source.m4:
54466         Remove; we're assuming Autoconf 2.54 or later now.
54467         Suggested by Bruno Haible.
54468         * MODULES.html.sh (func_all_modules): Remove gnu-source.
54469
54470 2003-08-11  Bruno Haible  <bruno@clisp.org>
54471
54472         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
54473
54474 2003-08-11  Bruno Haible  <bruno@clisp.org>
54475
54476         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
54477         (vasnprintf): Use it instead of wcslen.
54478
54479 2003-08-11  Bruno Haible  <bruno@clisp.org>
54480
54481         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
54482         value to ensure that _Bool promotes to int. Use #define for _Bool when
54483         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
54484
54485 2003-08-10  Karl Berry  <karl@gnu.org>
54486
54487         * lib/regex.h: update from libc (whitespace fix).
54488
54489 2003-08-09  Paul Eggert  <eggert@twinsun.com>
54490
54491         Merge some files from coreutils.  These changes were
54492         originally made by Jim Meyering.
54493         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
54494         many older Unixes require this.
54495         * lib/alloca.c (alloca): Remove cast to argument of free;
54496         no longer needed in C89.
54497         * lib/alloca_.h, regex.h: Fix white space to match
54498         what GNU indent does.
54499
54500 2003-08-09  Paul Eggert  <eggert@twinsun.com>
54501
54502         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
54503         apparently Emacs's Unicode mode got confused before my 2003-08-05
54504         checkin.
54505
54506 2003-08-08  Paul Eggert  <eggert@twinsun.com>
54507
54508         * m4/extensions.m4: New file.
54509         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
54510         Require gl_USE_SYSTEM_EXTENSIONS.
54511         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
54512         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
54513
54514 2003-08-08  Paul Eggert  <eggert@twinsun.com>
54515
54516         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
54517         * modules/extensions, modules/gnu-source: New files.
54518         * modules/timespec, modules/unlocked-io: Depend on extensions.
54519
54520 2003-08-07  Paul Eggert  <eggert@twinsun.com>
54521
54522         * modules/restrict: New file.
54523         * MODULES.html.sh (func_all_modules): Add restrict.
54524         * modules/regex: Depend on restrict.
54525
54526 2003-08-07  Paul Eggert  <eggert@twinsun.com>
54527
54528         * m4/restrict.m4: New file.
54529         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
54530
54531 2003-08-07  Bruno Haible  <bruno@clisp.org>
54532
54533         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
54534         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
54535
54536 2003-08-07  Bruno Haible  <bruno@clisp.org>
54537
54538         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
54539         makes the module 'getndelim2' compatible with the module 'getline'.
54540
54541 2003-08-05  Paul Eggert  <eggert@twinsun.com>
54542
54543         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
54544         byte with "\201" to avoid glitches when editing that source file
54545         with multi-gnome-terminal.
54546
54547 2003-08-05  Paul Eggert  <eggert@twinsun.com>
54548
54549         * lib/bumpalloc.h: Remove.
54550
54551 2003-08-05  Paul Eggert  <eggert@twinsun.com>
54552
54553         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
54554         * modules/bumpalloc: Remove.
54555
54556 2003-08-04  Paul Eggert  <eggert@twinsun.com>
54557
54558         * lib/getloadavg.c: Change copyright notice and spacing to conform to
54559         GNU coding style.
54560
54561         Merge from coreutils.
54562         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
54563         1. From glibc.
54564         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
54565         from Karl Berry, implemented by Jim Meyering.
54566         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
54567         from Dmitry V. Levin.
54568         Remove anachronistic cast of xrealloc.
54569         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
54570         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
54571         type. Otherwise, it wouldn't compile with at least /bin/cc on
54572         ymp-cray-unicos9.0.2.X.
54573         Combine two mostly-identical uses of alloca into one.
54574         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
54575
54576 2003-08-04  Dave Love  <d.love@dl.ac.uk>
54577
54578         [From Emacs.]
54579
54580         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
54581         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
54582         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
54583         obsolete NLIST_NAME_UNION.
54584         [__GNU__]: Undef BSD and FSCALE.
54585         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
54586
54587 2003-08-03  Paul Eggert  <eggert@twinsun.com>
54588
54589         * lib/stdbool_.h (_Bool): Make it signed char, instead of
54590         an enum type, so that it's guaranteed to promote to int.  See:
54591         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
54592
54593 2003-08-03  Karl Berry  <karl@gnu.org>
54594
54595         * config/depcomp: update from automake.
54596
54597 2003-07-31  Paul Eggert  <eggert@twinsun.com>
54598
54599         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
54600         (strerror): Don't assume that a printable int fits in 14 bytes.
54601
54602 2003-07-31  Bruno Haible  <bruno@clisp.org>
54603
54604         * modules/getpass-gnu: New file.
54605         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
54606
54607 2003-07-31  Bruno Haible  <bruno@clisp.org>
54608
54609         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
54610
54611 2003-07-24  Karl Berry  <karl@gnu.org>
54612
54613         * config/missing: update from automake.
54614
54615 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
54616             Bruno Haible  <bruno@clisp.org>
54617
54618         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
54619         * lib/getline.c (getline, getdelim): Likewise.
54620         Remove _GNU_SOURCE define; now it's defined in config.h through
54621         m4/getline.m4.
54622
54623 2003-07-23  Karl Berry  <karl@gnu.org>
54624
54625         * config/config.sub: update from prep.
54626
54627 2003-07-22  Paul Eggert  <eggert@twinsun.com>
54628
54629         * modules/xalloc (Depends-on): Add exitfail.
54630         * modules/xmemcoll: Likewise.
54631
54632 2003-07-22  Paul Eggert  <eggert@twinsun.com>
54633
54634         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
54635         over-parenthesization in macros.
54636
54637         Sync with coreutils.
54638
54639         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
54640         required by C99.
54641
54642         Use `exit_failure' for xalloc and xmemcoll instead of their own
54643         private exit-failure variables.
54644         * lib/xalloc.h (xalloc_exit_failure): Remove.
54645         * lib/xmalloc.c: Likewise.  Include exitfail.h.
54646         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
54647         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
54648         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
54649         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
54650
54651 2003-07-20  Jim Meyering  <jim@meyering.net>
54652
54653         * modules/closeout (Depends-on): Add exitfail.
54654         Suggestion from Bruno Haible.
54655
54656 2003-07-19  Karl Berry  <karl@gnu.org>
54657
54658         * config/config.sub: update from prep.
54659
54660 2003-07-18  Paul Eggert  <eggert@twinsun.com>
54661
54662         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
54663         Remove.
54664         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
54665         to test that it can stand by itself.  Include "exitfail.h".
54666         Clients should set exit_failure instead.
54667         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
54668
54669 2003-07-18  Bruno Haible  <bruno@clisp.org>
54670
54671         * modules/getndelim2: New file.
54672         * modules/getline: Share files with module getndelim2.
54673         * modules/getnline: Depend on getndelim2 instead of sharing files with
54674         it. Add getnline.c to lib_SOURCES.
54675         * MODULES.html.sh (func_all_modules): Add getndelim2.
54676
54677 2003-07-18  Bruno Haible  <bruno@clisp.org>
54678
54679         * m4/getndelim2.m4: New file.
54680         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
54681         invoke gl_PREREQ_GETNDELIM2.
54682         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
54683         gl_PREREQ_GETNDELIM2.
54684         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
54685         gl_GETNDELIM2.
54686
54687 2003-07-18  Bruno Haible  <bruno@clisp.org>
54688
54689         * lib/getndelim2.h: New file.
54690         * lib/getndelim2.c: Make into a module of its own. Include config.h,
54691         getndelim2.h.
54692         (getndelim2): Make non-static. Change return type to ssize_t.
54693         * lib/getline.h: Change argument names.
54694         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
54695         * lib/getnline.c: Include getndelim2.h.
54696
54697 2003-07-18  Andreas Schwab  <schwab@suse.de>
54698
54699         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
54700
54701 2003-07-17  Karl Berry  <karl@gnu.org>
54702
54703         * config/config.sub: update from prep.
54704
54705 2003-07-17  Bruno Haible  <bruno@clisp.org>
54706
54707         * modules/getnline: New file.
54708         * modules/getline: Add lib/getndelim2.c to source file list.
54709         * MODULES.html.sh (func_all_modules): Add getnline.
54710
54711 2003-07-17  Bruno Haible  <bruno@clisp.org>
54712
54713         * m4/getnline.m4: New file.
54714
54715 2003-07-17  Bruno Haible  <bruno@clisp.org>
54716
54717         * m4/Makefile.am.in: Remove file.
54718         * m4/Makefile.am: Remove file.
54719         * m4/Makefile.in: Remove file.
54720
54721 2003-07-17  Bruno Haible  <bruno@clisp.org>
54722
54723         * lib/getnline.h: New file.
54724         * lib/getnline.c: New file.
54725         * lib/getndelim2.c: New file, extracted from getline.c.
54726         (getndelim2): Renamed from getdelim2, with added nmax argument.
54727         * lib/getline.c: Include getndelim2.c.
54728         (getdelim2): Moved out to getndelim2.c.
54729         (getline, getdelim): Update.
54730
54731 2003-07-17  Bruno Haible  <bruno@clisp.org>
54732
54733         * lib/Makefile.am: Remove file.
54734         * lib/Makefile.in: Remove file.
54735
54736 2003-07-17  Bruno Haible  <bruno@clisp.org>
54737
54738         * configure.in: Remove file.
54739         * Makefile.in: Remove file.
54740
54741 2003-07-17  Bruno Haible  <bruno@clisp.org>
54742
54743         * MODULES.html.sh: Put the </BODY> right before </HTML>.
54744
54745 2003-07-16  Karl Berry  <karl@gnu.org>
54746
54747         * config/srclist-update: was running fixlicense twice, which caused
54748                 texinfo.tex to be nullified for some reason.  Simplify,
54749                 $gplsrc is no longer needed as far as I can see?
54750
54751 2003-07-16  Jim Meyering  <jim@meyering.net>
54752
54753         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
54754
54755 2003-07-15  Paul Eggert  <eggert@twinsun.com>
54756
54757         * config/srclist.txt: Get the following files from gettext-runtime/intl
54758         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
54759         ref-del.sin.  From Bruno Haible.
54760         * config/srclist-update (fixfile): Change grep pattern again, since the
54761         previous fix didn't work (there was another trailing $).  Use
54762         '[$]' to escape the $s.
54763
54764 2003-07-15  Karl Berry  <karl@gnu.org>
54765
54766         * lib/vasnprintf.c: update from gettext.
54767
54768 2003-07-15  Karl Berry  <karl@gnu.org>
54769
54770         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
54771         gets expanded when surrounded by '$'.
54772
54773 2003-07-15  Jim Meyering  <jim@meyering.net>
54774
54775         * modules/save-cwd: Don't depend on error.  From Derek Price.
54776
54777 2003-07-15  Jim Meyering  <jim@meyering.net>
54778
54779         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
54780
54781 2003-07-14  Simon Josefsson  <jas@extundo.com>
54782
54783         * modules/mempcpy: New file.
54784         * MODULES.html.sh (func_all_modules): Add mempcpy.
54785
54786 2003-07-14  Simon Josefsson  <jas@extundo.com>
54787
54788         * m4/mempcpy.m4: New file.
54789
54790 2003-07-14  Simon Josefsson  <jas@extundo.com>
54791
54792         * lib/mempcpy.h: New file.
54793         * lib/mempcpy.c: New file.
54794
54795 2003-07-14  Paul Eggert  <eggert@twinsun.com>
54796
54797         * modules/getdate, modules/posixtm: Depend on mktime.
54798
54799 2003-07-14  Paul Eggert  <eggert@twinsun.com>
54800
54801         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
54802         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
54803         unicodeio.c, unicodeio.h, unlocked-io.h:
54804         Switch from LGPL to GPL.
54805
54806 2003-07-14  Paul Eggert  <eggert@twinsun.com>
54807
54808         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
54809         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
54810         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
54811         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
54812         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
54813         updated automatically by ../config/srclist-update.  This changes
54814         their license from LPGL to GPL.
54815
54816 2003-07-14  Paul Eggert  <eggert@twinsun.com>
54817
54818         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
54819         assumed to refer to the root of the most recent stable gettext version.
54820         * config/srclistvars.sh: Add defaults for eggert.
54821         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
54822         Match "This program" as well as "The program".  This is needed
54823         for gettext.
54824
54825 2003-07-14  Jim Meyering  <jim@meyering.net>
54826
54827         Don't emit diagnostics.  Let callers do that.
54828         * lib/save-cwd.c: Don't include "error.h".
54829         (save_cwd): Don't call error.  Ensure that errno is valid
54830         when returning nonzero.
54831
54832         * lib/save-cwd.h (restore_cwd): Update prototype.
54833         * lib/save-cwd.c (restore_cwd): Remove two parameters.
54834         Simplify.  Don't call error upon failure.  Let callers do that.
54835         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
54836         when auditing is enabled.  But don't bother updating the #if.
54837
54838 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
54839
54840         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
54841         it breaks C++ compilation.
54842         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
54843
54844 2003-07-10  Simon Josefsson  <jas@extundo.com>
54845
54846         * modules/strchrnul (Makefile.am): Add strchrnul.h.
54847
54848 2003-07-10  Jim Meyering  <jim@meyering.net>
54849
54850         * m4/clock_time.m4: Remove trailing blank.
54851         * m4/intmax_t.m4: Likewise.
54852
54853 2003-07-10  Jim Meyering  <jim@meyering.net>
54854
54855         * lib/vasnprintf.c: Remove trailing blanks.
54856         Make cpp indentation consistent.
54857
54858 2003-07-09  Paul Eggert  <eggert@twinsun.com>
54859
54860         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
54861         posixver.c, strftime.c, strnlen.c, strverscmp.c:
54862         Switch from LGPL to GPL.
54863
54864 2003-07-09  Paul Eggert  <eggert@twinsun.com>
54865
54866         * config/srclist.txt: Sort sublists.  Add
54867         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
54868         that differ from gnulib for one reason or another; we'd like this list
54869         to be smaller but for now let's document what we have.
54870
54871 2003-07-08  Paul Eggert  <eggert@twinsun.com>
54872
54873         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
54874         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
54875         and sweeter "eval x=$x".
54876         * config/srclist.txt: Get lib/argp* from glibc.
54877
54878 2003-07-07  Paul Eggert  <eggert@twinsun.com>
54879
54880         * lib/mktime.c: Fix some boundary cases and remove need for floating
54881         point.
54882
54883         Issue a compile-time diagnostic if time_t is floating point, or if
54884         two's complement arithmetic is not in effect, or if arithmetic
54885         right shift does not propagate the sign.  These assumptions were
54886         all in the original code but they weren't checked.
54887
54888         (TIME_T_MIDPOINT, verify): New macros.
54889         (__isleap): Remove; it has integer overflow problems.
54890         (leapyear): New function, without those problems.
54891         (ydhms_tm_diff): Remove; splitting into two parts.
54892         (ydhms_diff): New function, containing the arithmetic part of
54893         the old ydhms_tm_diff function.  Issue a compile-time
54894         diagnostic if we are not using C99 integer division.
54895         Avoid casts when possible.
54896         (guess_time_tm): New function, containing the checking part of
54897         the old ydhms_tm_diff function.  Return the new value, rather than
54898         the difference between it and the old.  Accept a new argument T
54899         so that *T specifies the old value.  Check for overflow in the result.
54900
54901         (__mktime_internal): Use a time_t offset, not a long int offset.
54902         This undoes the 2003-06-04 change, which is no longer needed now
54903         that we have better overflow checking.
54904         (localtime_offset): Likewise.
54905
54906         (__mktime_internal): Avoid harmful overflow on hosts where time_t
54907         and long are 64-bit but int is only 32-bit.
54908         (ydhms_diff): Use long int to store year1 and yday1.
54909         Issue a compile-time diagnostic if long int is not wide enough.
54910
54911         (__mktime_internal): Use long int to store adjusted year and yday.
54912         Use plain C rather than preprocessor commands, if that doesn't
54913         affect efficiency.
54914         Check for overflow (and try to repair) after each probe
54915         rather than checking only at the very end.  This avoids some bugs
54916         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
54917         does not equal GMT offset at maximum time).
54918         Use integer to check for overflow rather than floating point; this
54919         is more portable to non-IEEE hosts, and is a tad faster.
54920         When we detect that we are oscillating between two values,
54921         don't check whether tm_isdst has the requested value, since
54922         we already know the answer.  When tm_isdst has the wrong value,
54923         use a different heuristic to find the right one, based on the
54924         extreme values actually observed in practice in tz2003a,
54925         rather than the (overly optimistic) "previous 3 calendar quarters".
54926
54927         (not_equal_tm, print_tm, check_result): Use "const T" rather than
54928         "T const" to accommodate glibc style.
54929         (check_result): Use less-confusing report format.  "long" -> "long int.
54930         (main): Likewise.
54931         Don't loop if the iteration overflows time_t.
54932         Allow a negative step in the iteration.
54933
54934 2003-07-06  Karl Berry  <karl@gnu.org>
54935
54936         * config/depcomp: update from automake.
54937         * config/config.sub: update from prep.
54938
54939 2003-07-03  Karl Berry  <karl@gnu.org>
54940
54941         * config/config.guess: update from prep.
54942
54943 2003-07-01  Paul Eggert  <eggert@twinsun.com>
54944
54945         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
54946         xreadlink.c now includes it unconditionally.
54947
54948 2003-07-01  Paul Eggert  <eggert@twinsun.com>
54949
54950         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
54951         having it depend on HAVE_SYS_TYPES_H.
54952
54953 2003-07-01  Bruno Haible  <bruno@clisp.org>
54954
54955         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
54956         <sys/types.h> should be sufficient.
54957         Reported by Paul Eggert.
54958
54959 2003-06-26  Karl Berry  <karl@gnu.org>
54960
54961         * config/depcomp: update from automake.
54962
54963 2003-06-26  Bruno Haible  <bruno@clisp.org>
54964
54965         * modules/human: Depend on module stdbool.
54966
54967 2003-06-25  Bruno Haible  <bruno@clisp.org>
54968
54969         * modules/readlink: New file.
54970         * modules/xreadlink: Depend on it.
54971         * MODULES.html.sh (func_all_modules): Add readlink.
54972
54973 2003-06-25  Bruno Haible  <bruno@clisp.org>
54974
54975         * m4/readlink.m4: New file.
54976
54977 2003-06-25  Bruno Haible  <bruno@clisp.org>
54978
54979         * lib/readlink.c: New file.
54980
54981 2003-06-22  Karl Berry  <karl@gnu.org>
54982
54983         * config/srclist.txt: update mkinstalldirs from automake.
54984         * config/mkinstalldirs: update.
54985
54986 2003-06-22  Bruno Haible  <bruno@clisp.org>
54987
54988         Portability to mingw32.
54989         * m4/ssize_t.m4: New file, from GNU gettext.
54990         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
54991         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
54992
54993 2003-06-22  Bruno Haible  <bruno@clisp.org>
54994
54995         * modules/safe-read: Add m4/ssize_t.m4.
54996         * modules/xreadlink: Add m4/ssize_t.m4.
54997
54998 2003-06-20  Bruno Haible  <bruno@clisp.org>
54999
55000         Assume C89, so PARAMS isn't needed.
55001         * lib/unicodeio.h (PARAMS): Remove.
55002         * lib/unicodeio.c: Don't use PARAMS.
55003
55004 2003-06-18  Karl Berry  <karl@gnu.org>
55005
55006         * config/config.{guess,sub}: update from prep.
55007
55008 2003-06-18  Jim Meyering  <jim@meyering.net>
55009
55010         Merge changes from coreutils.
55011         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
55012         Remove explicit declarations of xmalloc and realloc.
55013         Include xalloc.h.
55014         (read_utmp): Remove anachronistic cast of xmalloc.
55015
55016 2003-06-17  Paul Eggert  <eggert@twinsun.com>
55017
55018         Assume C89, so PARAMS isn't needed.
55019         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
55020         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
55021         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
55022         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
55023         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
55024         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
55025         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
55026         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
55027         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
55028         lib/xstrtod.h, lib/xstrtol.h: Likewise.
55029         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
55030         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
55031         no longer needed. Anyway, config.h should always be included before any
55032         other file.
55033
55034 2003-06-11  Simon Josefsson  <jas@extundo.com>
55035
55036         * modules/sysexits: New file.
55037         * MODULES.html.sh (func_all_modules): Add sysexits.
55038
55039 2003-06-11  Simon Josefsson  <jas@extundo.com>
55040
55041         * lib/sysexit_.h: New file.
55042
55043 2003-06-11  Derek Price  <derek@ximbiot.com>
55044
55045         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
55046         necessary.
55047
55048 2003-06-11  Bruno Haible  <bruno@clisp.org>
55049
55050         * m4/sysexits.m4: New file.
55051
55052 2003-06-10  Simon Josefsson  <jas@extundo.com>
55053
55054         * lib/argp.h: New file, from glibc.
55055         * lib/argp-ba.c: New file, from glibc.
55056         * lib/argp-eexst.c: New file, from glibc.
55057         * lib/argp-fmtstream.c: New file, from glibc.
55058         * lib/argp-fmtstream.h: New file, from glibc.
55059         * lib/argp-fs-xinl.c: New file, from glibc.
55060         * lib/argp-help.c: New file, from glibc.
55061         * lib/argp-namefrob.h: New file, from glibc.
55062         * lib/argp-parse.c: New file, from glibc.
55063         * lib/argp-pv.c: New file, from glibc.
55064         * lib/argp-pvh.c: New file, from glibc.
55065         * lib/argp-xinl.c: New file, from glibc.
55066
55067 2003-06-10  Simon Josefsson  <jas@extundo.com>
55068
55069         * modules/strchrnul: New file.
55070
55071 2003-06-10  Simon Josefsson  <jas@extundo.com>
55072
55073         * modules/argp: New file.
55074
55075 2003-06-10  Simon Josefsson  <jas@extundo.com>
55076
55077         * m4/strchrnul.m4: New file.
55078
55079 2003-06-10  Simon Josefsson  <jas@extundo.com>
55080
55081         * lib/strchrnul.h: New file.
55082         * lib/strchrnul.c: New file.
55083
55084 2003-06-10  Bruno Haible  <bruno@clisp.org>
55085
55086         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
55087
55088 2003-06-07  Karl Berry  <karl@gnu.org>
55089
55090         * config/config.{guess,sub}: update from prep.
55091
55092 2003-06-07  Jim Meyering  <jim@meyering.net>
55093
55094         * modules/strtod: Use $(...) notation, not @...@ for
55095         AC_REPLACE'd variables.
55096         * modules/localcharset: Likewise.
55097
55098 2003-06-07  Jim Meyering  <jim@meyering.net>
55099
55100         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
55101         in place of my name in the copyright comment.
55102         Remove definition and uses of __P.
55103
55104         From coreutils.
55105         * lib/stat.c: Don't declare xmalloc explicitly.
55106         Instead, include "xalloc.h".
55107         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
55108         xrealloc, and xcalloc return values.
55109         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
55110         Improve comment.
55111         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
55112
55113 2003-06-07  Bruno Haible  <bruno@clisp.org>
55114
55115         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
55116         avoid AC_CONFIG_LINKS.
55117         * modules/fnmatch (Makefile.am): Use explicit creation rule for
55118         fnmatch.h, to avoid AC_CONFIG_LINKS.
55119         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
55120
55121 2003-06-07  Bruno Haible  <bruno@clisp.org>
55122
55123         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
55124         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
55125         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
55126         directory.
55127         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
55128         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
55129         directory.
55130
55131 2003-06-06  Jim Meyering  <jim@meyering.net>
55132
55133         Merge from coreutils.
55134         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
55135         Consolidate declarations and initializations of *_base* locals.
55136
55137         Merge from coreutils.
55138         This avoids a core dump on systems without GNU putenv,
55139         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
55140         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
55141         (unsetenv): New static function, from GNU libc.
55142         (rpl_putenv): Use it.
55143
55144         * lib/modechange.c: Remove trailing blanks.
55145
55146         Merge from coreutils.
55147         * lib/fsusage.c: Remove declaration of statfs.
55148         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
55149
55150         * lib/posixtm.c: Include <stdbool.h> unconditionally.
55151
55152 2003-06-06  Jim Meyering  <jim@meyering.net>
55153
55154         * lib/stdbool_.h: Renamed from stdbool.h.in.
55155
55156 2003-06-06  Jim Meyering  <jim@meyering.net>
55157             Bruno Haible  <bruno@clisp.org>
55158
55159         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
55160         Adjust Makefile.am snippet not to redirect directly to target.
55161         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
55162
55163 2003-06-05  Paul Eggert  <eggert@twinsun.com>
55164
55165         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
55166         mismatch, look in future quarters as well as past.  This fixes a
55167         bug when processing fall-backwards gaps immediately after a long
55168         period of daylight-saving time.
55169
55170         * lib/mktime.c: Assume freestanding C89 or better.
55171         (HAVE_LIMITS_H): Remove.  Assume it's 1.
55172         (__P): Remove; not used.
55173         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
55174         (mktime, not_equal_tm, print_tm, check_result,
55175         main): Use prototypes.  Use const * where appropriate.
55176         (main): Fix typo in testing code that uncovered by above changes.
55177         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
55178
55179 2003-06-04  Paul Eggert  <eggert@twinsun.com>
55180
55181         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
55182         locale.h, localeconv.  This merges changes from coreutils.
55183
55184         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
55185         It can be removed after the next Autoconf is released.
55186         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
55187         needed.
55188
55189 2003-06-04  Paul Eggert  <eggert@twinsun.com>
55190
55191         * lib/mktime.c: Fix Debian bug 177940
55192         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
55193         (localtime_offset): Now long int, not time_t, because we want it
55194         to be guaranteed to be signed.  All uses changed.
55195         (__mktime_internal): If overflow would occur when adding offset,
55196         don't add it.
55197
55198         Merge 'human' changes from coreutils.  Rewrite to support
55199         locale-specific notations like thousands separators.
55200         * lib/human.c: Simplify authorship notice.
55201         Include human.h immediately after config.h.
55202         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
55203         <limits.h>: Do not include, since human.h does.
55204         (SIZE_MAX, UINTMAX_MAX): New macros.
55205         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
55206         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
55207         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
55208         (power_letter): Renamed from suffixes.
55209         (generate_suffix_backwards): Remove.
55210         (adjust_value): Now takes int style (because of human.h changes)
55211         and long double value (for greater precision on some platforms).
55212         (group_number): New function.
55213         (human_readable): Use it.  Use integer options, not enum.
55214         Put the options before the sizes in the arg list.
55215         Support all the new options.
55216         The old human_readable function has been removed;
55217         use inttostr.h instead.
55218         (human_readable, default_block_size, humblock):
55219         Use uintmax_t, not int, for block sizes.
55220         (human_readable_inexact, block_size_types): Remove.
55221         (block_size_opts): New constant.
55222         (human_options): Renamed from human_block_size, with new signature
55223         that allows block sizes up to UINTMAX_MAX.  All callers changed.
55224         * lib/human.h: Add copyright and authorship notice.
55225         Include <limits.h> and <stdbool.h> unconditionally.
55226         (PARAMS): Remove.  All uses removed.
55227         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
55228         (enum human_inexact_style): Remove tag; now a nameless enum.
55229         (human_floor, human_ceiling, human_round_to_even): Now have
55230         values 2, 0, 1 rather than -1, 1, 0.
55231         (human_group_digits, human_suppress_point_zero, human_autoscale,
55232         human_base_1024, human_SI, human_B): New constants.
55233         (human_readable_inexact, human_block_size): Remove.
55234         (human_readable): Size args are now uintmax_t, not int.
55235         (human_options): New decl.
55236
55237         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
55238         unnecessary now that we assume C89 or better.  This change
55239         imported from coreutils.
55240
55241         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
55242         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
55243         in the 2003-05-30 sync from glibc.
55244
55245         .h files should stand alone, but we shouldn't include <sys/types.h>
55246         if we can get away with just <stddef.h>.
55247
55248         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
55249         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
55250         rather than <sys/types.h>, as we merely need size_t.
55251         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
55252         to get size_t.
55253         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
55254         Include <stdio.h>, to get FILE.
55255         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
55256         memcasecmp.h has included <stddef.h> and all we need is size_t.
55257         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
55258         our interface, instead of including <sys/types.h>
55259
55260 2003-06-04  Paul Eggert  <eggert@twinsun.com>
55261
55262         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
55263         now, as glibc mktime is buggy on non-glibc systems.
55264
55265 2003-06-03  Karl Berry  <karl@gnu.org>
55266
55267         * config/config.sub: update from prep.
55268
55269 2003-06-02  Paul Eggert  <eggert@twinsun.com>
55270
55271         [from coreutils]
55272         Fix some minor time-related bugs with POSIX time arguments.
55273         Some valid time stamps were being rejected (notably -1, and
55274         time stamps before 1900 on 64-bit hosts).  And some invalid
55275         time stamps were being accepted, e.g. September 31.
55276
55277         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
55278         that we can return (time_t) -1 successfully.
55279         * lib/posixtm.c: Likewise.
55280         [HAVE_STDBOOL_H]: Include <stdbool.h>.
55281         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
55282         (t): Remove static var.
55283         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
55284         of static var.  All uses changed.
55285         (year): Do not reject years before 1900; they can occur with
55286         64-bit time_t.
55287         (posix_time_parse): Do not check for out-of-range components;
55288         that is now the caller's responsibility, since our checks were
55289         only approximations.
55290         (posixtime): Use mktime to check for out-of-range components,
55291         since it knows them exactly.
55292         If mktime returns (time_t) -1, check whether an error actually occurred
55293         by invoking localtime on -1.
55294         (main) [TEST_POSIXTIME]: Check for input data errors, and report
55295         posixtime failures better.
55296         Improve the test data (in comments only).
55297
55298 2003-06-02  Karl Berry  <karl@gnu.org>
55299
55300         * config/mkinstalldirs (version): new variable.
55301         (--version): new option.
55302         (usage): improve message.
55303
55304 2003-05-30  Karl Berry  <karl@gnu.org>
55305
55306         * lib/mktime.c: update from libc.
55307
55308 2003-05-30  Bruno Haible  <bruno@clisp.org>
55309
55310         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
55311         * config/config.rpath: Upgrade to gettext-0.12.1.
55312
55313 2003-05-30  Bruno Haible  <bruno@clisp.org>
55314
55315         * m4/gettext.m4: Upgrade to gettext-0.12.1.
55316         * m4/nls.m4: New file, from gettext-0.12.1.
55317         * m4/po.m4: New file, from gettext-0.12.1.
55318         * m4/progtest.m4: Upgrade to gettext-0.12.1.
55319
55320 2003-05-30  Bruno Haible  <bruno@clisp.org>
55321
55322         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
55323         * lib/localcharset.h: Likewise.
55324         * lib/localcharset.c: Likewise.
55325
55326 2003-05-29  Karl Berry  <karl@gnu.org>
55327
55328         * config/config.rpath: update from gettext.
55329
55330 2003-05-28  Paul Eggert  <eggert@twinsun.com>
55331
55332         Assume the headers required for C89 freestanding compilers.
55333         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
55334         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
55335         * m4/human.m4 (gl_HUMAN): Likewise.
55336         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
55337         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
55338         * m4/userspec.m4 (gl_USERSPEC): Likewise.
55339         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
55340         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
55341         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
55342
55343 2003-05-28  Paul Eggert  <eggert@twinsun.com>
55344
55345         Assume the headers required for C89 freestanding compilers.
55346         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
55347         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
55348         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
55349         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
55350         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
55351         define, since <limits.h> is guaranteed to do that.
55352         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
55353         * lib/exclude.c: Include <stdbool.h> unconditionally.
55354         * lib/tempname.c: Include <stddef.h> unconditionally.
55355         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
55356         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
55357         <stddef.h> does that.
55358         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
55359         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
55360         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
55361         needed.
55362         * lib/xstrtol.c: Likewise.
55363         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
55364         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
55365
55366         * lib/addext.c (addext): Use assignment rather than cast, to avoid
55367         warnings on some platforms.
55368
55369         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
55370         arbitrarily.
55371
55372 2003-05-26  Jim Meyering  <jim@meyering.net>
55373
55374         Merge in a change from coreutils:
55375         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
55376         that is guaranteed to be `no'.  Use `no_such_member' to indicate
55377         that condition, rather than `-1' which is slightly misleading.
55378         Change the name of the cache variable to have the gl_ prefix.
55379         Prompted by a patch from Richard Dawe for DJGPP.
55380
55381 2003-05-24  Karl Berry  <karl@gnu.org>
55382
55383         * config/config.guess: update from prep.
55384
55385 2003-05-22  Karl Berry  <karl@gnu.org>
55386
55387         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
55388
55389 2003-05-20  Karl Berry  <karl@gnu.org>
55390
55391         * config/config.guess: update from prep.
55392
55393 2003-05-18  Karl Berry  <karl@gnu.org>
55394
55395         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
55396         might actually be set by the user.
55397
55398         * config/depcomp, install-sh, mdate-sh: update from automake.
55399
55400 2003-05-17  Bruno Haible  <bruno@clisp.org>
55401
55402         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
55403         invalid expansion for AC_EGREP_CPP.
55404         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
55405         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
55406         Suggested by Akim Demaille <akim@epita.fr> in
55407         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
55408
55409 2003-05-12  Jim Meyering  <jim@meyering.net>
55410
55411         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
55412         the space-padded-by-default conversion specifiers, %e, %k, %l.
55413
55414 2003-05-12  Bruno Haible  <bruno@clisp.org>
55415
55416         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
55417         the string is longer than 4 KB.
55418
55419 2003-05-11  Karl Berry  <karl@gnu.org>
55420
55421         * config/config.{guess,sub}: update from prep.
55422
55423 2003-05-09  Bruno Haible  <bruno@clisp.org>
55424
55425         * modules/error: Add m4/strerror_r.m4 to file list.
55426
55427 2003-05-03  Bruno Haible  <bruno@clisp.org>
55428
55429         Upgrade to Unicode-4.0.
55430         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
55431         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
55432         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
55433         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
55434         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
55435         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
55436         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
55437         Change width of U+E0100..U+E01EF from 1 to 0.
55438
55439 2003-04-25  Jim Meyering  <jim@meyering.net>
55440
55441         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
55442         of type size_t, not int.
55443
55444 2003-04-25  Bruno Haible  <bruno@clisp.org>
55445
55446         * lib/copy-file.c: Include <stddef.h>, for size_t.
55447
55448 2003-04-21  Paul Eggert  <eggert@twinsun.com>
55449
55450         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
55451         code which expansion is under static control.  Patch imported from
55452         Akim Demaille's patch to Bison; see
55453         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
55454
55455 2003-04-14  Bruno Haible  <bruno@clisp.org>
55456
55457         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
55458
55459 2003-04-11  Jim Meyering  <jim@meyering.net>
55460
55461         Merge changes from Coreutils.
55462
55463         2003-03-22  Jim Meyering  <jim@meyering.net>
55464
55465         * lib/strftime.c (widen): Cast alloca return value to proper type.
55466
55467         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
55468
55469         From GNU libc.
55470         * lib/strftime.c (my_strftime): Handle very large width
55471         specifications for numeric values correctly.  Improve checks for
55472         overflow.
55473
55474         2003-01-19  Jim Meyering  <jim@meyering.net>
55475
55476         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
55477         definitions.
55478         (nl_get_alt_digit) [! defined my_strftime]: Define.
55479         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
55480         _nl_get_alt_digit and _nl_get_walt_digit.
55481
55482         * lib/strftime.c (my_strftime): Merge in locale-related changes from
55483         libc. These changes have no effect outside of _LIBC.
55484
55485 2003-04-10  Bruno Haible  <bruno@clisp.org>
55486
55487         * modules/findprog: New file.
55488         * MODULES.html.sh (func_all_modules): Add it.
55489
55490 2003-04-10  Bruno Haible  <bruno@clisp.org>
55491
55492         * m4/findprog.m4: New file.
55493         * m4/eaccess.m4: New file.
55494
55495 2003-04-10  Bruno Haible  <bruno@clisp.org>
55496
55497         * lib/findprog.h: New file, from GNU gettext.
55498         * lib/findprog.c: New file, from GNU gettext.
55499
55500 2003-04-05  Jim Meyering  <jim@meyering.net>
55501
55502         Merge changes from Coreutils.
55503
55504         * lib/exclude.h (PARAMS): Remove definition and uses.
55505         * lib/exclude.c: Remove uses of `PARAMS'.
55506
55507         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
55508         Add test-cases for DOS filenames. Declare program_name.
55509         (main): Set up program_name.  Patch by Rich Dawe.
55510
55511         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
55512         error from mntctl.
55513         Use mntctl's return value to drive the entry-processing loop, since
55514         we can't rely on the value of the vmt_length member in the last
55515         entry.  On some systems doing so could result in exhausting
55516         virtual memory.  Based in part on a patch from Mike Jetzer.
55517
55518 2003-04-04  Bruno Haible  <bruno@clisp.org>
55519
55520         * modules/linebreak: New file.
55521         * MODULES.html.sh (func_all_modules): Add it.
55522
55523 2003-04-04  Bruno Haible  <bruno@clisp.org>
55524
55525         * m4/linebreak.m4: New file.
55526
55527 2003-04-04  Bruno Haible  <bruno@clisp.org>
55528
55529         * lib/linebreak.h: New file, from GNU gettext.
55530         * lib/linebreak.c: New file, from GNU gettext with slight
55531         modifications.
55532         * lib/lbrkprop.h: New file, from GNU gettext.
55533
55534 2003-04-03  Bruno Haible  <bruno@clisp.org>
55535
55536         * modules/utf8-ucs4: New file.
55537         * modules/utf16-ucs4: New file.
55538         * modules/ucs4-utf8: New file.
55539         * modules/ucs4-utf16: New file.
55540         * MODULES.html.sh (func_all_modules): Add them.
55541
55542 2003-04-03  Bruno Haible  <bruno@clisp.org>
55543
55544         * m4/utf-ucs4.m4: New file.
55545         * m4/ucs4-utf.m4: New file.
55546
55547 2003-04-03  Bruno Haible  <bruno@clisp.org>
55548
55549         * lib/utf8-ucs4.h: New file, from GNU gettext.
55550         * lib/utf16-ucs4.h: New file, from GNU gettext.
55551         * lib/ucs4-utf8.h: New file, from GNU gettext.
55552         * lib/ucs4-utf16.h: New file, from GNU gettext.
55553
55554 2003-04-02  Bruno Haible  <bruno@clisp.org>
55555
55556         * modules/binary-io: New file.
55557         * MODULES.html.sh (func_all_modules): Add it.
55558
55559 2003-04-02  Bruno Haible  <bruno@clisp.org>
55560
55561         * lib/binary-io.h: New file, from GNU gettext.
55562
55563 2003-04-01  Bruno Haible  <bruno@clisp.org>
55564
55565         * modules/pathname: New file.
55566         * MODULES.html.sh (func_all_modules): Add it.
55567
55568 2003-04-01  Bruno Haible  <bruno@clisp.org>
55569
55570         * lib/pathname.h: New file, from GNU gettext.
55571         * lib/concatpath.c: New file, from GNU gettext.
55572
55573 2003-03-30  Bruno Haible  <bruno@clisp.org>
55574
55575         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
55576
55577 2003-03-30  Bruno Haible  <bruno@clisp.org>
55578
55579         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
55580         function chown() doesn't exist.
55581
55582 2003-03-28  Bruno Haible  <bruno@clisp.org>
55583
55584         * modules/copy-file: New file.
55585         * MODULES.html.sh (func_all_modules): Add it.
55586
55587 2003-03-28  Bruno Haible  <bruno@clisp.org>
55588
55589         * m4/copy-file.m4: New file.
55590
55591 2003-03-28  Bruno Haible  <bruno@clisp.org>
55592
55593         * lib/copy-file.h: New file, from GNU gettext.
55594         * lib/copy-file.c: New file, from GNU gettext.
55595
55596 2003-03-18  Jim Meyering  <jim@meyering.net>
55597
55598         * lib/quote.c (quote_n): Fix typo in comment.
55599
55600 2003-03-18  Bruno Haible  <bruno@clisp.org>
55601
55602         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
55603         checking.
55604         * m4/onceonly_2_57.m4: Likewise.
55605
55606 2003-03-17  Bruno Haible  <bruno@clisp.org>
55607
55608         * m4/onceonly.m4: Require autoconf 2.54 or newer.
55609         (m4_quote): Remove macro.
55610         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
55611
55612 2003-03-14  Jim Meyering  <jim@meyering.net>
55613
55614         Merge changes from Coreutils.
55615         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
55616         to be const, in order to avoid warnings.
55617         (obstack_room): Likewise.
55618         (obstack_empty_p): Likewise.
55619
55620 2003-03-14  Bruno Haible  <bruno@clisp.org>
55621
55622         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
55623         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
55624
55625 2003-03-13  Paul Eggert  <eggert@twinsun.com>
55626
55627         Merge changes from Bison.
55628         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
55629         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
55630         when compiling Bison 1.875's `bitset bset = obstack_alloc
55631         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
55632         * lib/hash.c: Include <stdbool.h> unconditionally.
55633
55634 2003-03-13  Paul Eggert  <eggert@twinsun.com>
55635
55636         * m4/onceonly.m4 (m4_quote): New macro.
55637         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
55638         Quote AC_FOREACH variable-expansions properly.
55639
55640 2003-03-13  Paul Eggert  <eggert@twinsun.com>
55641
55642         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
55643
55644 2003-03-09  Paul Eggert  <eggert@twinsun.com>
55645
55646         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
55647         Reported by Bruce Becker; see:
55648         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
55649
55650 2003-03-03  Paul Eggert  <eggert@twinsun.com>
55651             Bruno Haible  <bruno@clisp.org>
55652
55653         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
55654         Reported by John Hughes, see
55655         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
55656
55657 2003-02-20  Bruno Haible  <bruno@clisp.org>
55658
55659         * MODULES.html.sh (func_all_modules): Add poll.
55660
55661 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
55662
55663         * modules/poll: New file.
55664
55665 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
55666
55667         * lib/poll_.h: New file.
55668         * lib/poll.c: New file.
55669
55670 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
55671
55672         * m4/poll.m4: New file.
55673
55674 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
55675
55676         * modules/mathl: New file.
55677
55678 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
55679
55680         * lib/mathl.h: New file.
55681         * lib/acosl.c: New file.
55682         * lib/asinl.c: New file.
55683         * lib/atanl.c: New file.
55684         * lib/ceill.c: New file.
55685         * lib/cosl.c: New file.
55686         * lib/expl.c: New file.
55687         * lib/floorl.c: New file.
55688         * lib/frexpl.c: New file.
55689         * lib/ldexpl.c: New file.
55690         * lib/logl.c: New file.
55691         * lib/sincosl.c: New file.
55692         * lib/sinl.c: New file.
55693         * lib/sqrtl.c: New file.
55694         * lib/tanl.c: New file.
55695         * lib/trigl.c: New file.
55696         * lib/trigl.h: New file.
55697
55698 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
55699
55700         * m4/mathl.m4: New file.
55701
55702 2003-02-18  Bruno Haible  <bruno@clisp.org>
55703
55704         * MODULES.html.sh (func_all_modules): Add mathl.
55705
55706 2003-02-17  Bruno Haible  <bruno@clisp.org>
55707
55708         * modules/mkdtemp: New module.
55709         * MODULES.html.sh (func_all_modules): Add it.
55710
55711 2003-02-17  Bruno Haible  <bruno@clisp.org>
55712
55713         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
55714
55715 2003-02-17  Bruno Haible  <bruno@clisp.org>
55716
55717         * lib/mkdtemp.h: New file, from GNU gettext.
55718         * lib/mkdtemp.c: New file, from GNU gettext.
55719
55720 2003-02-02  Jim Meyering  <jim@meyering.net>
55721
55722         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
55723         e.g. glibc-2.2.93.
55724
55725 2003-01-31  Bruno Haible  <bruno@clisp.org>
55726
55727         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
55728         'rpl_rename'.
55729         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
55730         'rpl_strnlen'.
55731         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
55732         'rpl_strtod'.
55733         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
55734         'rpl_utime'.
55735
55736 2003-01-31  Bruno Haible  <bruno@clisp.org>
55737
55738         * lib/rename.c: #undef rename before defining rpl_rename.
55739         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
55740
55741 2003-01-30  Bruno Haible  <bruno@clisp.org>
55742
55743         * modules/vasnprintf, modules/vasprintf: New modules.
55744         * MODULES.html.sh (func_all_modules): Add them.
55745
55746 2003-01-30  Bruno Haible  <bruno@clisp.org>
55747
55748         * m4/signed.m4: New file, from GNU gettext.
55749         * m4/longdouble.m4: New file, from GNU gettext.
55750         * m4/wchar_t.m4: New file, from GNU gettext.
55751         * m4/wint_t.m4: New file, from GNU gettext.
55752         * m4/vasnprintf.m4: New file.
55753         * m4/vasprintf.m4: New file.
55754
55755 2003-01-30  Bruno Haible  <bruno@clisp.org>
55756
55757         * lib/printf-args.h: New file, from GNU gettext.
55758         * lib/printf-args.c: New file, from GNU gettext.
55759         * lib/printf-parse.h: New file, from GNU gettext.
55760         * lib/printf-parse.c: New file, from GNU gettext.
55761         * lib/vasnprintf.h: New file, from GNU gettext.
55762         * lib/vasnprintf.c: New file, from GNU gettext.
55763         * lib/asnprintf.c: New file, from GNU gettext.
55764         * lib/vasprintf.h: New file, from GNU gettext with modifications.
55765         * lib/vasprintf.c: New file, from GNU gettext.
55766         * lib/asprintf.c: New file, from GNU gettext.
55767
55768 2003-01-29  Bruno Haible  <bruno@clisp.org>
55769
55770         * modules/stpncpy: New module.
55771         * MODULES.html.sh (func_all_modules): Add it.
55772
55773 2003-01-29  Bruno Haible  <bruno@clisp.org>
55774
55775         * m4/stpncpy.m4: New file.
55776
55777 2003-01-29  Bruno Haible  <bruno@clisp.org>
55778
55779         * lib/stpncpy.h: New file, from GNU gettext with modifications.
55780         * lib/stpncpy.c: New file, from GNU gettext with modifications.
55781
55782 2003-01-28  Bruno Haible  <bruno@clisp.org>
55783
55784         * modules/c-ctype: New module.
55785         * MODULES.html.sh (func_all_modules): Add it.
55786
55787 2003-01-28  Bruno Haible  <bruno@clisp.org>
55788
55789         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
55790         Paul Eggert.
55791         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
55792         Paul Eggert.
55793
55794 2003-01-27  Bruno Haible  <bruno@clisp.org>
55795
55796         * modules/xsetenv: New module.
55797         * MODULES.html.sh (func_all_modules): Add it.
55798
55799 2003-01-27  Bruno Haible  <bruno@clisp.org>
55800
55801         * lib/xsetenv.h: New file, from GNU gettext.
55802         * lib/xsetenv.c: New file, from GNU gettext.
55803
55804 2003-01-23  Jim Meyering  <jim@meyering.net>
55805
55806         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
55807         from working on systems without dirfd (at least Irix and OSF1/Tru64).
55808
55809 2003-01-23  Bruno Haible  <bruno@clisp.org>
55810
55811         * modules/minmax: New module.
55812         * MODULES.html.sh (func_all_modules): Add it.
55813
55814 2003-01-23  Bruno Haible  <bruno@clisp.org>
55815
55816         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
55817         Eggert.
55818
55819 2003-01-22  Bruno Haible  <bruno@clisp.org>
55820
55821         * modules/exit: New module.
55822         * MODULES.html.sh (func_all_modules): Add it.
55823
55824 2003-01-22  Bruno Haible  <bruno@clisp.org>
55825
55826         * lib/exit.h: New file, from GNU gettext.
55827
55828 2003-01-19  Bruno Haible  <bruno@clisp.org>
55829
55830         * gnulib-tool: Recognize option --extract-maintainer.
55831         (func_get_maintainer): New function.
55832         * modules/*: Add Maintainer entry.
55833
55834 2003-01-16  Jim Meyering  <jim@meyering.net>
55835
55836         * m4/regex.m4: The `regex' struct is both input and output.
55837         Initialize it before each use.  Patch by Tim Waugh.
55838
55839 2003-01-16  Bruno Haible  <bruno@clisp.org>
55840
55841         * MODULES.html.sh: Add a table of contents. Add the module name as
55842         leftmost column. Add hyperlinks.
55843
55844 2003-01-15  Bruno Haible  <bruno@clisp.org>
55845
55846         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
55847
55848 2003-01-15  Bruno Haible  <bruno@clisp.org>
55849
55850         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
55851         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
55852         suffix.
55853
55854 2003-01-15  Bruno Haible  <bruno@clisp.org>
55855
55856         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
55857
55858 2003-01-15  Bruno Haible  <bruno@clisp.org>
55859
55860         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
55861         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
55862
55863 2003-01-14  Jim Meyering  <jim@meyering.net>
55864
55865         * lib/same.c (same_name): Tweak a comment.
55866
55867 2003-01-14  Bruno Haible  <bruno@clisp.org>
55868
55869         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
55870         when a string comparison is sufficient.
55871
55872 2003-01-14  Bruno Haible  <bruno@clisp.org>
55873
55874         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
55875         'unsigned int'.
55876
55877 2003-01-14  Bruno Haible  <bruno@clisp.org>
55878
55879         * lib/hash-pjw.c: Add comment about low quality of this function.
55880
55881 2003-01-13  Bruno Haible  <bruno@clisp.org>
55882
55883         * modules/stpcpy: Distribute lib/stpcpy.h.
55884         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
55885
55886 2003-01-13  Bruno Haible  <bruno@clisp.org>
55887
55888         * modules/*: Add a description.
55889         * modules/strpbrk: Fix Makefile.am snippet.
55890         * modules/strtoimax: Fix dependencies.
55891         * modules/strtoumax: Likewise.
55892
55893 2003-01-13  Bruno Haible  <bruno@clisp.org>
55894
55895         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
55896         * modules/alloca (Makefile.am): All object files depend on alloca.h.
55897         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
55898
55899 2003-01-13  Bruno Haible  <bruno@clisp.org>
55900
55901         * gnulib-tool (func_create_testdir): Store config/* files in the main
55902         directory.
55903         * config.rpath: Move to ...
55904         * config/config.rpath: ... here.
55905         * modules/gettext: Contains config/config.rpath, not config.rpath.
55906         * modules/iconv: Likewise.
55907
55908 2003-01-12  Paul Eggert  <eggert@twinsun.com>
55909
55910         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
55911         to avoid collisions with libcurses and libreadline.
55912
55913         * m4/getstr.m4: Remove.
55914         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
55915
55916 2003-01-12  Paul Eggert  <eggert@twinsun.com>
55917
55918         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
55919         to avoid collisions with libcurses and libreadline.
55920
55921         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
55922         * lib/getstr.h, getstr.c: Remove.
55923         * lib/getline.c: Include "getline.h", to check interface.
55924         Move body of old getstr.c here: this defines MIN_CHUNK and
55925         declares getdelim2, which is renamed from getstr.
55926         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
55927
55928         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
55929         All uses changed.
55930         * lib/linebuffer.h: Likewise.
55931         (readline): Remove backward-compatibility macro.
55932
55933 2003-01-12  Paul Eggert  <eggert@twinsun.com>
55934
55935         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
55936         to avoid collisions with libcurses and libreadline.
55937         * getstr: Remove.
55938         * MODULES.html.sh: Remove getstr.
55939         * modules/getline: Depend on unlocked-io, not getstr.
55940
55941 2003-01-12  Jim Meyering  <jim@meyering.net>
55942
55943         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
55944
55945 2003-01-10  Bruno Haible  <bruno@clisp.org>
55946
55947         * modules/alloca: Change Makefile.am requirements. Simplify Include
55948         requirements. Add lib/alloca_.h to file list.
55949
55950 2003-01-10  Bruno Haible  <bruno@clisp.org>
55951
55952         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
55953
55954 2003-01-10  Bruno Haible  <bruno@clisp.org>
55955
55956         * lib/alloca_.h: New file.
55957         * lib/getdate.y: Unconditionally include alloca.h.
55958         * lib/makepath.c: Likewise.
55959         * lib/setenv.c: Likewise.
55960         * lib/userspec.c: Likewise.
55961
55962 2003-01-09  Karl Berry  <karl@gnu.org>
55963
55964         * MODULES.html.sh: include `dirname $0` in PATH, to find
55965         gnulib-tool.
55966
55967 2003-01-09  Bruno Haible  <bruno@clisp.org>
55968
55969         * modules/stdbool: Change configure.ac, Makefile.am requirements.
55970         Simplify Include requirements. Add lib/stdbool.h.in to file list.
55971
55972 2003-01-09  Bruno Haible  <bruno@clisp.org>
55973
55974         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
55975
55976 2003-01-09  Bruno Haible  <bruno@clisp.org>
55977
55978         * lib/stdbool.h.in: New file.
55979
55980 2003-01-09  Bruno Haible  <bruno@clisp.org>
55981
55982         * gnulib-tool (func_all_modules): Ignore files ending in ~.
55983         * MODULES.html.sh: Likewise.
55984
55985 2003-01-08  Jim Meyering  <jim@meyering.net>
55986
55987         * lib/full-write.c: Undefine and define-away `const' after inclusion
55988         of errno.h, not before.  Suggestion from Bruno Haible.
55989
55990 2003-01-08  Bruno Haible  <bruno@clisp.org>
55991
55992         * modules/full-read: Depend on full-write.
55993
55994 2003-01-08  Bruno Haible  <bruno@clisp.org>
55995
55996         * lib/safe-read.c: Include specification header first, to ensure its
55997         selfcontainedness.
55998         * lib/full-write.c: Likewise.
55999
56000 2003-01-07  Jim Meyering  <jim@meyering.net>
56001
56002         * lib/full-write.c: Rework so that it may serve to define full_read,
56003         too.
56004         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
56005
56006 2003-01-07  Bruno Haible  <bruno@clisp.org>
56007
56008         * lib/strtoimax.c: Include <stdint.h> as an alternative to
56009         <inttypes.h>.
56010         * lib/xstrtol.h: Likewise.
56011         * lib/xstrtoimax.c: Likewise.
56012         * lib/xstrtoumax.c: Likewise.
56013         * lib/human.h: Likewise.
56014
56015         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
56016         on systems that have <inttypes.h> but not <stdint.h>.
56017
56018 2003-01-07  Bruno Haible  <bruno@clisp.org>
56019
56020         * MODULES.html.sh: Add copyright notice.
56021         (missed_files): Omit CVS directory entries.
56022         (func_module): Make it work with sed-3.02.
56023         * MODULES.txt: Remove file.
56024
56025 2003-01-06  Jim Meyering  <jim@meyering.net>
56026
56027         * lib/version-etc.c: Update year in translatable copyright string.
56028
56029 2003-01-03  Karl Berry  <karl@gnu.org>
56030
56031         * config/config.{guess,sub}: update from prep.
56032
56033 2003-01-02  Karl Berry  <karl@gnu.org>
56034
56035         * doc/COPYING.DOC: belatedly updated to 1.2.
56036
56037 2003-01-01  Karl Berry  <karl@gnu.org>
56038
56039         * gnulib-tool (func_verify_module): report module name $module in
56040         error message, not $1.
56041         * gnulib-tool (create-testdir): don't complain if destdir couldn't
56042         be created, only if it doesn't exist.
56043         * gnulib-tool (last_checkin_date): don't expand the $Date here.
56044
56045 2002-12-31  Paul Eggert  <eggert@twinsun.com>
56046
56047         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
56048
56049 2002-12-31  Paul Eggert  <eggert@twinsun.com>
56050
56051         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
56052         memcmp if strcoll doesn't work.
56053
56054 2002-12-31  Bruno Haible  <bruno@clisp.org>
56055
56056         * lib/utime.c (utime_null): No need to call ftruncate if the file was
56057         nonempty.
56058
56059 2002-12-31  Bruno Haible  <bruno@clisp.org>
56060
56061         * lib/memcoll.c (STRCOLL): New macro.
56062         (memcoll): Use it.
56063
56064 2002-12-31  Bruno Haible  <bruno@clisp.org>
56065
56066         * lib/localcharset.h: New file.
56067         * lib/localcharset.c: Include it.
56068         * lib/unicodeio.c: Likewise.
56069
56070 2002-12-31  Bruno Haible  <bruno@clisp.org>
56071
56072         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
56073         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
56074
56075 2002-12-31  Bruno Haible  <bruno@clisp.org>
56076
56077         * lib/getline.h: Include <stddef.h>, for size_t.
56078
56079         * lib/unicodeio.h: Include <stddef.h>, for size_t.
56080         * lib/unicodeio.c: Don't include <stddef.h>.
56081
56082 2002-12-31  Bruno Haible  <bruno@clisp.org>
56083
56084         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
56085         HAVE_TM_ZONE.
56086
56087 2002-12-24  Karl Berry  <karl@gnu.org>
56088
56089         * config/config.guess: update from prep.
56090
56091 2002-12-24  Bruno Haible  <bruno@clisp.org>
56092
56093         General infrasructure.
56094         * m4/README: Rewritten.
56095         * m4/onceonly.m4: New file.
56096         * m4/onceonly_2_57.m4: New file.
56097
56098         Module atexit.
56099         * m4/atexit.m4: New file.
56100
56101         Module strtod.
56102         * m4/strtod.m4: New file.
56103
56104         Module strtol.
56105         * m4/strtol.m4: New file.
56106
56107         Module strtoul.
56108         * m4/strtoul.m4: New file.
56109
56110         Module memchr.
56111         * m4/memchr.m4: New file.
56112
56113         Module memcmp.
56114         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
56115         (jm_FUNC_MEMCMP): Invoke it.
56116
56117         Module memcpy.
56118         * m4/memcpy.m4: New file.
56119
56120         Module memmove.
56121         * m4/memmove.m4: New file.
56122
56123         Module memset.
56124         * m4/memset.m4: New file.
56125
56126         Module strcspn.
56127         * m4/strcspn.m4: New file.
56128
56129         Module strpbrk.
56130         * m4/strpbrk.m4: New file.
56131
56132         Module strstr.
56133         * m4/strstr.m4: New file.
56134
56135         Module strerror.
56136         * m4/strerror.m4: New file.
56137
56138         Module mktime.
56139         * m4/mktime.m4: Renamed from jm-mktime.m4.
56140         (gl_PREREQ_MKTIME): New macro.
56141         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
56142
56143         Module malloc.
56144         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
56145         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
56146         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
56147
56148         Module realloc.
56149         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
56150         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
56151         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
56152
56153         Module strftime.
56154         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
56155         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
56156         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
56157         gl_TM_GMTOFF.
56158         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
56159
56160         Module xalloc.
56161         * m4/xalloc.m4: New file.
56162
56163         Module alloca.
56164         * m4/alloca.m4: New file.
56165
56166         Module putenv.
56167         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
56168         (jm_FUNC_PUTENV): Invoke it.
56169
56170         Module setenv.
56171         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
56172         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
56173         when invoked twice.
56174         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
56175         gt_FUNC_SETENV.
56176
56177         Module memrchr.
56178         * m4/memrchr.m4: New file.
56179
56180         Module stpcpy.
56181         * m4/stpcpy.m4: New file.
56182
56183         Module strcase.
56184         * m4/strcase.m4: New file.
56185
56186         Module strdup.
56187         * m4/strdup.m4: New file.
56188
56189         Module strnlen.
56190         * m4/strnlen.m4: New file.
56191
56192         Module strndup.
56193         * m4/strndup.m4: New file.
56194
56195         Module xstrtod.
56196         * m4/xstrtod.m4: New file.
56197
56198         Module xstrtol.
56199         * m4/xstrtol.m4: New file.
56200
56201         Module getdate.
56202         * m4/getdate.m4: New file.
56203
56204         Module unlocked-io.
56205         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
56206         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
56207         * m4/jm-glibc-io.m4n: Remove file.
56208
56209         Module long-options.
56210         * m4/long-options.m4: New file.
56211
56212         Module md5.
56213         * m4/md5.m4: New file.
56214
56215         Module sha.
56216         * m4/sha.m4: New file.
56217
56218         Module getstr.
56219         * m4/getstr.m4: New file.
56220
56221         Module getline.
56222         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
56223         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
56224         <sys/types.h>, for size_t. Use the function name gnu_getline, not
56225         simply getline. Infoke gl_PREREQ_GETLINE.
56226
56227         Module obstack.
56228         * m4/obstack.m4: New file.
56229
56230         Module hash.
56231         * m4/hash.m4: New file.
56232
56233         Module readtokens.
56234         * m4/readtokens.m4: New file.
56235
56236         Module strverscmp.
56237         * m4/strverscmp.m4: New file.
56238
56239         Module stdbool.
56240         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
56241         OSF/1.
56242
56243         Module strtoll.
56244         * m4/strtoll.m4: New file.
56245
56246         Module strtoull.
56247         * m4/strtoull.m4: New file.
56248
56249         Module strtoimax.
56250         * m4/strtoimax.m4: New file.
56251
56252         Module strtoumax.
56253         * m4/strtoumax.m4: New file.
56254
56255         Module xstrtoimax.
56256         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
56257         jm_AC_PREREQ_XSTRTOIMAX.
56258         Moved the strtol prerequisites to strtol.m4.
56259         Moved the strtoll prerequisites to strtoll.m4.
56260         Moved the strtoimax prerequisites to strtoimax.m4.
56261
56262         Module xstrtoumax.
56263         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
56264         jm_AC_PREREQ_XSTRTOUMAX.
56265         Moved the strtoul prerequisites to strtoul.m4.
56266         Moved the strtoull prerequisites to strtoull.m4.
56267         Moved the strtoumax prerequisites to strtoumax.m4.
56268
56269         Module chown.
56270         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
56271         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
56272
56273         Module dup2.
56274         * m4/dup2.m4: New file.
56275
56276         Module ftruncate.
56277         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
56278         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
56279
56280         Module getgroups.
56281         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
56282         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
56283
56284         Module gettimeofday.
56285         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
56286         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
56287         gl_PREREQ_GETTIMEOFDAY.
56288
56289         Module mkdir.
56290         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
56291         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
56292
56293         Module mkstemp.
56294         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
56295         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
56296         jm_AC_TYPE_UINTMAX_T.
56297         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
56298
56299         Module stat.
56300         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
56301         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
56302
56303         Module lstat.
56304         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
56305         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
56306
56307         Module timespec.
56308         * m4/timespec.m4 (gl_TIMESPEC): New macro.
56309         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
56310         * m4/st_mtim.m4: Indentation.
56311
56312         Module nanosleep.
56313         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
56314         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
56315         gl_PREREQ_NANOSLEEP.
56316
56317         Module regex.
56318         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
56319         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
56320         (gl_REGEX): New macro.
56321
56322         Module rename.
56323         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
56324         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
56325
56326         Module rmdir.
56327         * m4/rmdir.m4: New file.
56328
56329         Module utime.
56330         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
56331         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
56332         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
56333
56334         Module dirname.
56335         * m4/dirname.m4: New file.
56336
56337         Module getopt.
56338         * m4/getopt.m4: New file.
56339
56340         Module unistd-safer.
56341         * m4/unistd-safer.m4: New file.
56342
56343         Module fnmatch.
56344         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
56345         declaration.
56346         (gl_PREREQ_FNMATCH_EXTRA): New macro.
56347         (gl_FUNC_FNMATCH_POSIX): New macro.
56348         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
56349         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
56350         simply fnmatch.
56351
56352         Module exclude.
56353         * m4/exclude.m4: New file.
56354
56355         Module human.
56356         * m4/human.m4: New file.
56357
56358         Module acl.
56359         * m4/acl.m4: Nop.
56360
56361         Module backupfile.
56362         * m4/backupfile.m4: New file.
56363         * m4/d-ino.m4: Indentation.
56364
56365         Module fsusage.
56366         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
56367         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
56368         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
56369
56370         Module dirfd.
56371         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
56372         requirements.
56373
56374         Module euidaccess.
56375         * m4/euidaccess.m4: New file.
56376
56377         Module file-type.
56378         * m4/file-type.m4: New file.
56379
56380         Module fileblocks.
56381         * m4/fileblocks.m4: New file.
56382
56383         Module filemode.
56384         * m4/filemode.m4: New file.
56385
56386         Module isdir.
56387         * m4/isdir.m4: New file.
56388
56389         Module lchown.
56390         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
56391         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
56392
56393         Module makepath.
56394         * m4/makepath.m4: New file.
56395
56396         Module modechange.
56397         * m4/modechange.m4: New file.
56398
56399         Module mountlist.
56400         * m4/mountlist.m4: New file.
56401         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
56402         Indentation.
56403
56404         Module path-concat.
56405         * m4/path-concat.m4: New file.
56406
56407         Module pathmax.
56408         * m4/pathmax.m4: New file.
56409
56410         Module same.
56411         * m4/same.m4: New file.
56412
56413         Module save-cwd.
56414         * m4/save-cwd.m4: New file.
56415
56416         Module savedir.
56417         * m4/savedir.m4: New file.
56418
56419         Module xgetcwd.
56420         * m4/xgetcwd.m4: New file.
56421         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
56422
56423         Module xreadlink.
56424         * m4/xreadlink.m4: New file.
56425
56426         Module safe-read.
56427         * m4/safe-read.m4: New file.
56428
56429         Module safe-write.
56430         * m4/safe-write.m4: New file.
56431
56432         Module closeout.
56433         * m4/closeout.m4: New file.
56434
56435         Module stdio-safer.
56436         * m4/stdio-safer.m4: New file.
56437
56438         Module getpass.
56439         * m4/getpass.m4: New file.
56440
56441         Module getugroups.
56442         * m4/getugroups.m4: New file.
56443
56444         Module group-member.
56445         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
56446         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
56447
56448         Module idcache.
56449         * m4/idcache.m4: New file.
56450
56451         Module userspec.
56452         * m4/userspec.m4: New file.
56453
56454         Module gettime.
56455         * m4/clock_time.m4: New file.
56456         * m4/gettime.m4: New file.
56457
56458         Module settime.
56459         * m4/settime.m4: New file.
56460
56461         Module posixtm.
56462         * m4/posixtm.m4: New file.
56463
56464         Module gethostname.
56465         * m4/gethostname.m4: New file.
56466
56467         Module canon-host.
56468         * m4/canon-host.m4: New file.
56469
56470         Module gettext.
56471         * m4/codeset.m4: New file, from gettext-0.11.5.
56472         * m4/gettext.m4: New file, from gettext-0.11.5.
56473         * m4/glibc21.m4: New file, from gettext-0.11.5.
56474         * m4/iconv.m4: New file, from gettext-0.11.5.
56475         * m4/intdiv0.m4: New file, from gettext-0.11.5.
56476         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
56477         * m4/inttypes.m4: New file, from gettext-0.11.5.
56478         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
56479         * m4/isc-posix.m4: New file, from gettext-0.11.5.
56480         * m4/lcmessage.m4: New file, from gettext-0.11.5.
56481         * m4/lib-ld.m4: New file, from gettext-0.11.5.
56482         * m4/lib-link.m4: New file, from gettext-0.11.5.
56483         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
56484         * m4/progtest.m4: New file, from gettext-0.11.5.
56485         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
56486         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
56487         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
56488
56489         Module localcharset.
56490         * m4/localcharset.m4: New file.
56491
56492         Module hard-locale.
56493         * m4/hard-locale.m4: New file.
56494
56495         Module mbswidth.
56496         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
56497         onceonly macros.
56498         * m4/mbrtowc.m4: Add comment.
56499
56500         Module memcasecmp.
56501         * m4/memcasecmp.m4: New file.
56502
56503         Module memcoll.
56504         * m4/memcoll.m4: New file.
56505
56506         Module unicodeio.
56507         * m4/unicodeio.m4: New file.
56508
56509         Module rpmatch.
56510         * m4/rpmatch.m4: New file.
56511
56512         Module yesno.
56513         * m4/yesno.m4: New file.
56514
56515         Module exitfail.
56516         * m4/exitfail.m4: New file.
56517
56518         Module c-stack.
56519         * m4/c-stack.m4 (gl_C_STACK): New macro.
56520         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
56521
56522         Module error.
56523         * m4/error.m4 (gl_ERROR): New macro.
56524         (jm_PREREQ_ERROR): Use onceonly macros.
56525
56526         Module fatal.
56527         * m4/fatal.m4: New file.
56528
56529         Module getloadavg.
56530         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
56531         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
56532
56533         Module getpagesize.
56534         * m4/getpagesize.m4: New file.
56535
56536         Module getusershell.
56537         * m4/getusershell.m4: New file.
56538
56539         Module physmem.
56540         * m4/physmem.m4: New file.
56541
56542         Module posixver.
56543         * m4/posixver.m4: New file.
56544
56545         Module quotearg.
56546         * m4/quotearg.m4: New file.
56547
56548         Module quote.
56549         * m4/quote.m4: New file.
56550
56551         Module readutmp.
56552         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
56553
56554         Module sig2str.
56555         * m4/sig2str.m4: New file.
56556
56557         Other.
56558         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
56559         ulonglong.m4.
56560         * m4/intmax_t.m4: New file.
56561         * m4/d-type.m4: Indentation.
56562         * m4/jm-macros.m4: Update.
56563         * m4/prereq.m4 (jm_PREREQ): Update.
56564         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
56565         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
56566         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
56567         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
56568         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
56569         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
56570         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
56571         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
56572         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
56573         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
56574         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
56575         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
56576         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
56577         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
56578         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
56579         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
56580         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
56581         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
56582         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
56583
56584 2002-12-24  Bruno Haible  <bruno@clisp.org>
56585
56586         * MODULES.txt: Update according to m4/ changes.
56587
56588         Module gettext.
56589         * config.rpath: New file, from gettext-0.11.5.
56590
56591         * modules/*: New module descriptions.
56592         * gnulib-tool: New file.
56593         * MODULES.html.sh: New file.
56594
56595 2002-12-21  Karl Berry  <karl@gnu.org>
56596
56597         * doc/fdl.texi: update to version 1.2.
56598
56599 2002-12-19  Karl Berry  <karl@gnu.org>
56600
56601         * config/config.guess: update from prep.
56602
56603 2002-12-18  Bruno Haible  <bruno@clisp.org>
56604
56605         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
56606         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
56607
56608 2002-12-17  Bruno Haible  <bruno@clisp.org>
56609
56610         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
56611         stdlib.h, string.h.
56612
56613 2002-12-17  Bruno Haible  <bruno@clisp.org>
56614
56615         * lib/canon-host.c (strdup): Remove unused declaration.
56616
56617         * lib/fsusage.c: Include full_read.h.
56618         (get_fs_usage): Use full_read instead of safe_read.
56619
56620         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
56621
56622 2002-12-12  Karl Berry  <karl@gnu.org>
56623
56624         * config/config.guess: update from prep.
56625
56626 2002-12-11  Bruno Haible  <bruno@clisp.org>
56627
56628         * m4/setenv.m4: New file, from gettext-0.11.5.
56629
56630 2002-12-11  Bruno Haible  <bruno@clisp.org>
56631
56632         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
56633         not unsetenv().
56634         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
56635         modifications:
56636
56637         2002-12-11  Bruno Haible  <bruno@clisp.org>
56638
56639                 * setenv.c (alloca): Fall back to malloc.
56640                 (freea): New macro.
56641                 (setenv): Use freea() to free memory allocated with alloca().
56642
56643         2002-11-13  Bruno Haible  <bruno@clisp.org>
56644
56645                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
56646                 function declarations.
56647                 * unsetenv.c (unsetenv): Likewise.
56648
56649         2002-03-04  Bruno Haible  <bruno@clisp.org>
56650
56651                 Portability to AIX 4.3.3.
56652                 * unsetenv.c: New file, extracted from setenv.c.
56653                 * setenv.c: Move the unsetenv() function to unsetenv.c.
56654
56655         2001-12-20  Bruno Haible  <bruno@clisp.org>
56656
56657                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
56658                 use malloc instead. For SunOS 4.
56659
56660         2001-12-11  Bruno Haible  <bruno@clisp.org>
56661
56662                 * setenv.c: Declare alloca.
56663                 (compar_fn_t): New typedef.
56664                 (KNOWN_VALUE, STORE_VALUE): Use it.
56665
56666         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
56667         setenv.h.
56668
56669 2002-12-10  Paul Eggert  <eggert@twinsun.com>
56670
56671         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
56672         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
56673         Choose values that are less likely to collide with system fnmatch
56674         options.
56675         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
56676         defined (e.g., a pure POSIX system).
56677         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
56678         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
56679
56680 2002-12-06  Paul Eggert  <eggert@twinsun.com>
56681
56682         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
56683         a pain in practice to deal with generated m4 files.  This change
56684         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
56685
56686         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
56687         and jm-glibc-io.m4, as they are no longer a special case.
56688         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
56689         kludge and the auto-generation stuff.  Check only whether the
56690         functions are declared, not whether they exist, since older hosts
56691         that don't declare the functions can't use the optimization anyway.
56692
56693 2002-12-06  Jim Meyering  <jim@meyering.net>
56694
56695         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
56696
56697         Merge in changes from libc's misc/error.c, in preparation
56698         for the merge of gnulib's changes back into libc.
56699
56700         * lib/error.c (_): Define only if not already defined.
56701         Move definition to follow all #include directives.
56702         Include unlocked-io.h only if !_LIBC.
56703         [_LIBC]: Include <libio/libioP.h>.
56704         [USE_IN_LIBIO]: Include <libio/iolibio.h>
56705         (fflush): Tweak definition to use INTUSE.
56706         (putc): Define.
56707
56708 2002-12-05  Paul Eggert  <eggert@twinsun.com>
56709
56710         * lib/alloca.c [defined emacs]: Include "lisp.h".
56711         (xalloc_die) [defined emacs]: New macro.
56712         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
56713         [! defined emacs]: Include <xalloc.h>.
56714         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
56715         (pointer): Typedef to POINTER_TYPE *.
56716         (malloc): Remove decl; we now always use xmalloc.
56717         (alloca): Use old-style definition, since Emacs needs this.
56718         Check for arithmetic overflow when computing combined size.
56719
56720 2002-12-04  Paul Eggert  <eggert@twinsun.com>
56721
56722         Do not generate unlocked-io.h automatically, since it's easier to
56723         maintain it by hand.
56724
56725         * lib/unlocked-io.h: New file, from GNU diffutils,
56726         but with proper copyright notice and attribution.
56727         * lib/gen-uio: Remove.
56728         * lib/Makefile.am: Add copyright notice.
56729         (libfetish_a_SOURCES): Add unlocked-io.h.
56730         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
56731         (DISTCLEANFILES, io_functions): Remove macros.
56732         (EXTRA_DIST): Remove gen_uio.
56733         (unlocked-io.h): Remove rule.
56734
56735 2002-12-04  Jim Meyering  <jim@meyering.net>
56736
56737         Reflect the fact that stat.c and lstat.c are no longer generated.
56738         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
56739         (DISTCLEANFILES): Likewise.
56740         (EXTRA_DIST): Likewise.
56741         (all_local): Don't depend on stat.c or lstat.c.
56742         (stat.c, lstat.c): Remove rules.
56743         (EXTRA_DIST): Remove xstat.in.
56744
56745         * lib/xstat.in: Remove file.  Contents moved into stat.c.
56746         * lib/stat.c: New file.  Contents mostly from xstat.in.
56747         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
56748         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
56749
56750         * lib/safe-read.c: Rework so that it may serve to define safe_write,
56751         too.
56752         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
56753
56754 2002-12-03  Jim Meyering  <jim@meyering.net>
56755
56756         * lib/safe-read.c, safe-write.c: Change variable names and comments,
56757         but not semantics, to minimize the differences between these two files.
56758         (safe_read): Change comment to mention SAFE_READ_ERROR.
56759
56760         * lib/safe-read.c (IS_EINTR): Define.
56761         (safe_read): Use IS_EINTR in place of in-function cpp directives.
56762
56763 2002-12-02  Jim Meyering  <jim@meyering.net>
56764
56765         * lib/safe-read.c (EINTR): Define.
56766         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
56767         (INT_MAX): Provide fallback.
56768         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
56769
56770         * lib/safe-read.h (SAFE_READ_ERROR): Define.
56771
56772 2002-12-02  Bruno Haible  <bruno@clisp.org>
56773
56774         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
56775         Define, taken from safe-read.c.
56776         (INT_MAX): Provide fallback.
56777         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
56778         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
56779
56780         * lib/safe-read.c (EINTR): Remove definition.
56781         (safe_read): Don't use EINTR if it is absent.
56782
56783 2002-12-01  Jim Meyering  <jim@meyering.net>
56784
56785         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
56786         zero.
56787         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
56788
56789 2002-11-27  Paul Eggert  <eggert@twinsun.com>
56790
56791         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
56792         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
56793         with `if (! (value < limit)) abort ();', for readability.
56794
56795 2002-11-26  Karl Berry  <karl@gnu.org>
56796
56797         * lib/strdup.c: copy from libc again, with jim's ok.
56798         * lib/.cppi-disable: re-add strdup.c
56799
56800 2002-11-25  Karl Berry  <karl@gnu.org>
56801
56802         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
56803         instead of "strtol.c".
56804
56805 2002-11-25  Karl Berry  <karl@gnu.org>
56806
56807         * config/install-sh: update from automake for variable quoting, $0 in
56808         error msgs, etc.
56809
56810         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
56811         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
56812         entry.
56813
56814 2002-11-25  Jim Meyering  <jim@meyering.net>
56815
56816         * lib/mktime.c: Sync from libc, now that it has the latest fix.
56817
56818 2002-11-24  Karl Berry  <karl@gnu.org>
56819
56820         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
56821         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
56822
56823 2002-11-24  Jim Meyering  <jim@meyering.net>
56824
56825         Update from coreutils:
56826
56827         * lib/mktime.c: Merge in changes from libc.
56828
56829         Avoid a link-time failure on some Linux systems.
56830         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
56831         (otherwise).
56832         (__mon_yday): Declare with the STATIC attribute.
56833         (__mktime_internal): Likewise.
56834         Based on a report from Greg Schafer.
56835
56836 2002-11-23  Jim Meyering  <jim@meyering.net>
56837
56838         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
56839         Use `unsigned', not `int', as type of index.
56840
56841         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
56842
56843         * lib/fsusage.c: Remove unneeded parentheses around operands of
56844         `defined'.
56845
56846 2002-11-22  Paul Eggert  <eggert@twinsun.com>
56847
56848         * lib/quotearg.h: Allow multiple inclusion by surrounding with
56849         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
56850         so that we can be included first.
56851         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
56852         * lib/quotearg.c: Include quotearg.h immediately after config.h.
56853         No need to include stddef.h or sys/types.h any more.
56854         Surround local include files with "", not "<>".
56855         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
56856         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
56857         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
56858         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
56859         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
56860         (ISPRINT): Remove; no longer needed now that we assume C89.
56861
56862         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
56863         Preserve errno.
56864
56865         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
56866         quotearg_char): Use SIZE_MAX rather than
56867         (size_t) -1 when we are talking about "infinity".
56868
56869         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
56870
56871 2002-11-22  Paul Eggert  <eggert@twinsun.com>
56872
56873         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
56874         hint that one should use `if (! x) abort ();' rather than `assert
56875         (x);', and anyway it's one less thing to worry about configuring.
56876         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
56877         hash_rehash, hash_insert): Use abort rather than assert.
56878
56879 2002-11-22  Bruno Haible  <bruno@clisp.org>
56880
56881         * lib/safe-read.h: Assume C89. Add comments.
56882         (safe_read): Change return type to size_t.
56883         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
56884         byte counts > SSIZE_MAX correctly.
56885         * lib/safe-write.h: New file.
56886         * lib/safe-write.c: New file.
56887         * lib/full-read.h: New file.
56888         * lib/full-read.c: New file.
56889         * lib/full-write.h: Assume C89. Add comments.
56890         * lib/full-write.c: Include safe-write.h.
56891         (full_write): Rewritten to use safe_write.
56892         Suggested by Jim Meyering and Paul Eggert.
56893
56894 2002-11-21  Jim Meyering  <jim@meyering.net>
56895
56896         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
56897
56898         Merge in changes from the coreutils.
56899
56900         2002-09-25  Paul Eggert  <eggert@twinsun.com>
56901         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
56902         <stdint.h>.
56903         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
56904         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
56905         int.  Work more efficiently if X is the same width as uintmax_t.
56906         Do not compare X to -1, to avoid bogus compiler warning.
56907         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
56908         Don't assume that f_frsize and f_bsize are the same type.
56909
56910         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
56911         warning on FreeBSD.
56912
56913         * lib/makepath.c (make_path): Restore umask *before* creating the final
56914         component.
56915         (make_path): Minor reformatting.
56916
56917         * lib/xmalloc.c: Adjust to work with new autoconf macros,
56918         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
56919         HAVE_MALLOC/HAVE_REALLOC.
56920
56921         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
56922         dummy ones.  At least on GNU/Linux systems, `auto' means something
56923         else.
56924         From Michael Stone.
56925
56926 2002-11-21  Bruno Haible  <bruno@clisp.org>
56927
56928         Remove case insensitive option matching.
56929         * lib/argmatch.h (argcasematch): Remove declaration.
56930         (ARGCASEMATCH): Remove macro.
56931         (__xargmatch_internal): Remove case_sensitive argument.
56932         (XARGMATCH): Update.
56933         (XARGCASEMATCH): Remove macro.
56934         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
56935         case_sensitive argument.
56936         (argcasematch): Remove function.
56937         (__xargmatch_internal): Remove case_sensitive argument.
56938         (main): Use XARGMATCH instead of XARGCASEMATCH.
56939
56940         * lib/xmalloc.c: Change compile-time error message. Add comment about
56941         required autoconf version.
56942
56943 2002-11-20  Paul Eggert  <eggert@twinsun.com>
56944
56945         Merge argmatch cleanups from Bison.  Assume C89.
56946
56947         * lib/argmatch.c: Include config.h here, not in argmatch.h.
56948         Include stdlib.h, for EXIT_FAILURE.
56949         Always include <string.h>, since we assume C89.
56950         (EXIT_FAILURE): Remove pre-C89 bug workaround.
56951         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
56952         Include <stddef.h> instead, since it's all we need for size_t.
56953         (PARAMS): Remove.  All uses removed.
56954         (ARRAY_CARDINALITY): Do not bother to #undef.
56955         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
56956         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
56957         Remove unnecessary parentheses.
56958         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
56959         Insert necessary parentheses.
56960         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
56961         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
56962
56963 2002-11-19  Bruno Haible  <bruno@clisp.org>
56964
56965         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
56966         * lib/mbswidth.h: Include <stddef.h>, for size_t.
56967
56968         * lib/mbswidth.h (PARAMS): Remove macro.
56969         (mbswidth, mbsnwidth): Use ANSI C function declarations.
56970         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
56971
56972         * lib/gcd.h (PARAMS): Remove macro.
56973         (gcd): Use ANSI C function declarations.
56974         * lib/gcd.c (gcd): Likewise.
56975
56976 2002-11-15  Bruno Haible  <bruno@clisp.org>
56977
56978         * lib/strcspn.c: Include <stddef.h>.
56979         (strcspn): Use ANSI C function declaration. Change return type to
56980         size_t. Use NULL.
56981         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
56982         (strpbrk): Use NULL.
56983         * lib/strpbrk.h (PARAMS): Remove macro.
56984         (strpbrk): Use ANSI C function declaration.
56985         * lib/strstr.c: Don't include <sys/types.h>.
56986         * lib/strstr.h (PARAMS): Remove macro.
56987         (strstr): Use ANSI C function declarations.
56988
56989 2002-11-14  Karl Berry  <karl@gnu.org>
56990
56991         * config/mkinstalldirs: `do' on separate line, instead of
56992         `for var; do'.
56993
56994 2002-11-06  Bruno Haible  <bruno@clisp.org>
56995
56996         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
56997         * lib/gcd.c (gcd): Likewise.
56998
56999 2002-11-05  Bruno Haible  <bruno@clisp.org>
57000
57001         * lib/gcd.h: New file, from gettext-0.11.5.
57002         * lib/gcd.c: New file, from gettext-0.11.5.
57003
57004 2002-11-05  Bruno Haible  <bruno@clisp.org>
57005
57006         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
57007         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
57008         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
57009         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
57010
57011         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
57012         <libintl.h>.
57013         * lib/makepath.c: Include gettext.h instead of <locale.h> and
57014         <libintl.h>.
57015
57016         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
57017         * lib/human.c: Include gettext.h instead of <libintl.h>.
57018         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
57019         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
57020         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
57021         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
57022         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
57023         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
57024         (textdomain): Remove definition.
57025         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
57026
57027         * lib/long-options.c: Remove include of <libintl.h> and definition of
57028         _.
57029         * lib/same.c: Remove include of <libintl.h> and definition of _.
57030
57031 2002-11-04  Owen Taylor  <otaylor@redhat.com>
57032
57033         * lib/config.charset: A few additions for Solaris.
57034
57035 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
57036
57037         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
57038         * lib/localcharset.c (locale_charset): Declare as extern "C".
57039
57040 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
57041
57042         * lib/config.charset: msdos in uk_UA uses CP1125.
57043
57044 2002-11-04  Bruno Haible  <bruno@clisp.org>
57045
57046         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
57047         * lib/strcase.h: New file, from GNU gettext-0.11.5.
57048         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
57049         * lib/strstr.h: New file, from GNU gettext-0.11.5.
57050         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
57051
57052 2002-11-04  Bruno Haible  <bruno@clisp.org>
57053
57054         * lib/localcharset.c (locale_charset): Don't return an empty string.
57055
57056 2002-11-04  Bruno Haible  <bruno@clisp.org>
57057
57058         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
57059         aliases.
57060
57061 2002-11-04  Bruno Haible  <bruno@clisp.org>
57062
57063         * lib/config.charset: Update for newest glibc. Add canonical names
57064         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
57065
57066 2002-11-04  Bruno Haible  <bruno@clisp.org>
57067
57068         * lib/config.charset: Add support for NetBSD.
57069
57070 2002-11-04  Bruno Haible  <bruno@clisp.org>
57071
57072         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
57073
57074 2002-11-01  Bruno Haible  <bruno@clisp.org>
57075
57076         * configure.in: Add AC_CONFIG_AUX_DIR call.
57077         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
57078         test/Makefile.
57079         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
57080
57081 2002-09-28  Karl Berry  <karl@gnu.org>
57082
57083         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
57084         installed automake until the next release, since changes have been
57085         made.
57086
57087 2002-09-25  Karl Berry  <karl@gnu.org>
57088
57089         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
57090         * lib/getopt*: copy from libc/posix.
57091         * lib/gettext.h: copy from gettext.
57092         * lib/.cppi-disable: add strdup.c, gettext.h.
57093
57094 2002-09-25  Karl Berry  <karl@gnu.org>
57095
57096         * config/srclist.txt: enable gettext.h check.
57097         * config/config.{guess,sub}: update from prep.
57098         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
57099                 from automake 1.6.3.
57100         See srclist*.
57101
57102 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
57103
57104         * regex.c (PATFETCH): Remove the translating fetch.
57105         (PATFETCH_RAW): Rename to PATFETCH.
57106         (set_image_of_range): New fun.
57107         (SET_RANGE_TABLE_WORK_AREA): Use it.
57108         (regex_compile): Don't translate the pattern chars so eagerly.
57109         Only do it when inserting an `exactn' bytecode or when handling
57110         a char-range.
57111         (mutually_exclusive_p): Avoid empty statement.
57112
57113 2002-07-06  Jim Meyering  <meyering@lucent.com>
57114
57115         * m4/README: Don't mention Makefile.am.in.
57116         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
57117
57118 2002-07-01  Jim Meyering  <meyering@lucent.com>
57119
57120         * lib/c-stack.c: Include sys/time.h.
57121         From Volker Borchert.
57122
57123 2002-06-26  Paul Eggert  <eggert@twinsun.com>
57124
57125         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
57126
57127 2002-06-26  Paul Eggert  <eggert@twinsun.com>
57128
57129         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
57130         New macro.  Use it uniformly instead of
57131         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
57132         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
57133         reported by Vin Shelton.
57134
57135 2002-06-22  Paul Eggert  <eggert@twinsun.com>
57136
57137         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
57138         Do not assume SA_SIGINFO behavior.
57139         Bug reported by Jim Meyering on NetBSD 1.5.2.
57140
57141 2002-06-22  Jim Meyering  <meyering@lucent.com>
57142
57143         * m4/c-stack.m4: New file, from diffutils-2.8.2.
57144         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
57145
57146         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
57147         now that configure.ac uses AC_GNU_SOURCE.
57148         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
57149         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
57150
57151         Update to latest tools.  Suggestions from Paul Eggert.
57152         * m4/stdbool.m4: New file, from diffutils-2.8.2.
57153         * m4/gnu-source.m4: Update from diffutils-2.8.2.
57154         * m4/fnmatch.m4: Likewise.
57155         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
57156         to AC_HEADER_STDBOOL
57157
57158 2002-06-22  Jim Meyering  <meyering@lucent.com>
57159
57160         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
57161         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
57162
57163 2002-06-22  Jim Meyering  <meyering@lucent.com>
57164
57165         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
57166
57167         * lib/exitfail.c, exitfail.h: Likewise.
57168         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
57169
57170         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
57171         of fnmatch.h.
57172         (EXTRA_DIST): Add fnmatch_loop.c.
57173         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
57174
57175         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
57176         * lib/fnmatch.c: Update from diffutils-2.8.2.
57177         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
57178         * lib/fnmatch.h: Remove file.
57179
57180 2002-06-21  Jim Meyering  <meyering@lucent.com>
57181
57182         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
57183         * m4/mbrtowc.m4: Likewise.
57184
57185         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
57186         * m4/mbswidth.m4: Reflect name change:
57187         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
57188         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
57189
57190         * m4/lib-link.m4: Update from gettext-0.11.2.
57191         * m4/gettext.m4: Likewise.
57192
57193         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
57194         From Alfred M. Szmidt.
57195
57196 2002-06-18  Paul Eggert  <eggert@twinsun.com>
57197
57198         * lib/file-type.h: Report an error if neither S_ISREG nor
57199         S_IFREG is defined, instead of using a test specific to glibc
57200         2.2.  This should be safe, since POSIX requires S_ISREG and
57201         Unix Version 7 had S_IFREG.  We don't need to check for
57202         <sys/types.h> since we don't use any symbols that it defines.
57203
57204 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
57205
57206         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
57207         $@-t, so that each temporary file name is unique and valid in the first
57208         8 characters, for operation under DOS.
57209
57210 2002-06-15  Paul Eggert  <eggert@twinsun.com>
57211
57212         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
57213
57214 2002-06-15  Jim Meyering  <meyering@lucent.com>
57215
57216         Work even with DJGPP 2.03, which lacks support for symlinks.
57217         From Richard Dawe.
57218         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
57219         is defined.
57220         * lib/lchown.c (S_ISLNK): Likewise.
57221
57222 2002-06-15  Jim Meyering  <meyering@lucent.com>
57223
57224         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
57225         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
57226         have been included before this file.
57227
57228 2002-06-14  Jim Meyering  <meyering@lucent.com>
57229
57230         * lib/file-type.h: Use the version from diffutils-2.8.2.
57231         * lib/file-type.c: Likewise.
57232
57233 2002-06-07  Jim Meyering  <meyering@lucent.com>
57234
57235         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
57236         They're needed at least for NetBSD 1.5.2.
57237         ($statxfs_includes): Include those same headers.
57238         ($statxfs_includes): Include sys/vfs.h if available.
57239         ($statxfs_includes): Likewise for sys/statvfs.h.
57240         Check for the following members in both structs statfs and statvfs:
57241         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
57242
57243 2002-06-01  Jim Meyering  <meyering@lucent.com>
57244
57245         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
57246         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
57247
57248 2002-05-28  Jim Meyering  <meyering@lucent.com>
57249
57250         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
57251         Reported by Volker Borchert.
57252
57253 2002-05-27  Jim Meyering  <meyering@lucent.com>
57254
57255         Fix a problem seen only on nonconforming systems whereby ls.c's
57256         use of localtime, and then of gettimeofday would cause trouble:
57257         the localtime call used to initialize rpl_gettimeofday's save
57258         mechanism would clobber ls's current local time information so
57259         that in any long listing the first file would always be listed
57260         with date 1970-01-01.  Analysis by Volker Borchert.
57261
57262         * lib/gettimeofday.c (localtime): Undefine.
57263         (rpl_localtime): New function.
57264
57265 2002-05-27  Jim Meyering  <meyering@lucent.com>
57266
57267         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
57268         localtime.
57269
57270         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
57271         use the replacement function; it wouldn't resolve at link time.
57272         Reported by Volker Borchert.
57273
57274 2002-05-22  Jim Meyering  <meyering@lucent.com>
57275
57276         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
57277         file-type.h.
57278         * lib/file-type.h: New file.
57279         * lib/file-type.c (file_type): New file/function.  Extracted from
57280         diffutils.
57281
57282 2002-04-30  Jim Meyering  <meyering@lucent.com>
57283
57284         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
57285
57286 2002-04-29  Paul Eggert  <eggert@twinsun.com>
57287
57288         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
57289
57290 2002-04-29  Paul Eggert  <eggert@twinsun.com>
57291
57292         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
57293         Do not check for alloca.h (no longer used) or stdbool.h (was never
57294         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
57295
57296 2002-04-29  Paul Eggert  <eggert@twinsun.com>
57297
57298         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
57299
57300 2002-04-29  Jim Meyering  <meyering@lucent.com>
57301
57302         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
57303         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
57304         Use AC_FUNC_STRNLEN here instead.
57305
57306         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
57307         With autoconf-2.53a, it's part of AC_PROG_CC.
57308
57309 2002-04-28  Paul Eggert  <eggert@twinsun.com>
57310
57311         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
57312         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
57313
57314 2002-04-28  Paul Eggert  <eggert@twinsun.com>
57315
57316         * lib/sig2str.h, lib/sig2str.c: New files.
57317         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
57318
57319 2002-04-28  Paul Eggert  <eggert@twinsun.com>
57320
57321         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
57322         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
57323         of 127, since 64 is the largest conceivable number for ancient
57324         nonstandard hosts.
57325         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
57326
57327 2002-04-28  Jim Meyering  <meyering@lucent.com>
57328
57329         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
57330
57331 2002-04-24  Jim Meyering  <meyering@lucent.com>
57332
57333         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
57334         (jm_PREREQ): Use it.
57335
57336         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
57337         mach/mach.h fcntl.h.
57338         Check for this function: setlocale.
57339
57340 2002-04-24  Jim Meyering  <meyering@lucent.com>
57341
57342         * lib/gettext.h: New file, from Gettext.
57343         * lib/Makefile.am (INCLUDES): Remove -I../intl.
57344         (libfetish_a_SOURCES): Add gettext.h.
57345
57346 2002-04-16  Jim Meyering  <meyering@lucent.com>
57347
57348         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
57349         ut_pid, ut_id, ut_exit.
57350
57351 2002-04-16  Jim Meyering  <meyering@lucent.com>
57352
57353         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
57354         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
57355         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
57356
57357 2002-04-12  Jim Meyering  <meyering@lucent.com>
57358
57359         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
57360         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
57361         existence of the getmntinfo function.  Needed for Darwin 5.3.
57362
57363         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
57364         This is necessary at least on Darwin 5.3.
57365
57366         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
57367         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
57368         strnlen.o in the library, and that makes some versions of ranlib
57369         object.
57370
57371 2002-04-12  Jim Meyering  <meyering@lucent.com>
57372
57373         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
57374
57375 2002-04-09  Jim Meyering  <meyering@lucent.com>
57376
57377         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
57378         to be more precise.  Rather than saying we're checking whether the
57379         function `works', say what we're testing.
57380         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
57381         Reported by Bruno Haible.
57382
57383 2002-03-10  Jim Meyering  <meyering@lucent.com>
57384
57385         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
57386         Suggestion from Santiago Vila.
57387
57388 2002-03-08  Jim Meyering  <meyering@lucent.com>
57389
57390         * lib/rename.c: Mention that this wrapper is needed also on
57391         mips-dec-ultrix4.4 systems.
57392
57393 2002-03-02  Jim Meyering  <meyering@lucent.com>
57394
57395         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
57396         not HAVE_CLOCK_SETTIME.
57397
57398 2002-02-27  Paul Eggert  <eggert@twinsun.com>
57399
57400         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
57401         Check for clock_settime.
57402
57403 2002-02-27  Paul Eggert  <eggert@twinsun.com>
57404
57405         * lib/nanosleep.h: Rename to....
57406         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
57407
57408         * lib/gettime.c: New file.
57409         * lib/settime.c: New file.
57410         * lib/stime.c: Remove.
57411
57412         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
57413         timespec.h.  Remove nanosleep.h.
57414
57415 2002-02-25  Paul Eggert  <eggert@twinsun.com>
57416
57417         * m4/acl.m4: New file.
57418         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
57419         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
57420
57421 2002-02-25  Paul Eggert  <eggert@twinsun.com>
57422
57423         * lib/acl.c, lib/acl.h: New files.
57424         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
57425
57426 2002-02-24  Jim Meyering  <meyering@lucent.com>
57427
57428         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
57429         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
57430         cause trouble.  Reported by Nelson Beebe.
57431
57432 2002-02-23  Paul Eggert  <eggert@twinsun.com>
57433
57434         * lib/path-concat.c (xpath_concat): Reorder code to pacify
57435         compilers that don't know that xalloc_die never returns.
57436
57437 2002-02-20  Jim Meyering  <meyering@lucent.com>
57438
57439         * lib/getdate.c: Regenerate using bison-1.33.
57440
57441 2002-02-17  Jim Meyering  <meyering@lucent.com>
57442
57443         * config/config.guess (main): Don't use `head -1'; it's no longer
57444         portable. Use `sed 1q' instead.
57445
57446 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
57447
57448         * m4/codeset.m4: Upgrade to gettext-0.11.
57449         * m4/gettext.m4: Upgrade to gettext-0.11.
57450         * m4/glibc21.m4: Upgrade to gettext-0.11.
57451         * m4/iconv.m4: Upgrade to gettext-0.11.
57452         * m4/isc-posix.m4: Upgrade to gettext-0.11.
57453         * m4/lcmessage.m4: Upgrade to gettext-0.11.
57454         * m4/lib-ld.m4: New file, from gettext-0.11.
57455         * m4/lib-link.m4: New file, from gettext-0.11.
57456         * m4/lib-prefix.m4: New file, from gettext-0.11.
57457         * m4/progtest.m4: Upgrade to gettext-0.11.
57458
57459 2002-02-15  Paul Eggert  <eggert@twinsun.com>
57460
57461         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
57462         (jm_PREREQ): Use it.
57463
57464 2002-02-15  Paul Eggert  <eggert@twinsun.com>
57465
57466         * lib/posixver.c, lib/posixver.h: New files.
57467         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
57468
57469 2002-02-02  Paul Eggert  <eggert@twinsun.com>
57470             Bruno Haible  <bruno@clisp.org>
57471
57472         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
57473         (fwrite_success_callback): New declaration.
57474         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
57475         print_unicode_char. Call failure callback instead of error.
57476         (fwrite_success_callback): New function.
57477         (exit_failure_callback): New function.
57478         (fallback_failure_callback): New function.
57479         (print_unicode_char): Call unicode_to_mb.
57480
57481 2002-01-26  Jim Meyering  <meyering@lucent.com>
57482
57483         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
57484         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
57485
57486 2002-01-26  Jim Meyering  <meyering@lucent.com>
57487
57488         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
57489
57490 2002-01-22  Paul Eggert  <eggert@twinsun.com>
57491
57492         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
57493
57494 2002-01-22  Jim Meyering  <meyering@lucent.com>
57495
57496         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
57497         Otherwise, some versions of automake would omit the rule that makes
57498         Makefile from Makefile.in.
57499
57500 2002-01-21  Paul Eggert  <eggert@twinsun.com>
57501
57502         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
57503         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
57504         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
57505         (memcoll): Set errno to zero if there is no error.
57506
57507         * lib/quotearg.c (quotearg_buffer_restyled):
57508         Fix bug with quoting buffers containing NUL when backslashing escapes.
57509         This bug was exposed by the other changes in this patch.
57510         (quotearg_n_options): New arg ARGSIZE.
57511         All callers changed.
57512         (quoting_options_from_style): New function.
57513         (quotearg_n_style): Use it.
57514         (quotearg_n_style_mem): New function.
57515
57516         * lib/quotearg.h (quotearg_n_style_mem): New function.
57517
57518 2002-01-19  Jim Meyering  <meyering@lucent.com>
57519
57520         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
57521         Remove useless quotes: DF_PROG="df".
57522         * m4/strnlen.m4: New file.
57523
57524 2002-01-16  Paul Eggert  <eggert@twinsun.com>
57525
57526         * lib/backupfile.c (ISDIGIT): Comment fix.
57527         * lib/getdate.y (ISDIGIT): Likewise.
57528         * lib/posixtm.c (ISDIGIT, year): Likewise.
57529         * lib/strverscmp.c (ISDIGIT): Likewise.
57530         * lib/userspec.c (ISDIGIT): Likewise.
57531
57532 2002-01-16  Jim Meyering  <meyering@lucent.com>
57533
57534         * lib/getdate.y: Add three semicolons, each just before a closing
57535         brace. Bison (as of version 1.31) no longer papers over that mistake.
57536
57537 2002-01-05  Jim Meyering  <meyering@lucent.com>
57538
57539         * lib/version-etc.c (version_etc_copyright): Update copyright year.
57540
57541 2001-12-19  Paul Eggert  <eggert@twinsun.com>
57542
57543         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
57544         not silently exit merely because the output buffer happens to
57545         have nothing pending.
57546
57547 2001-12-18  Paul Eggert  <eggert@twinsun.com>
57548
57549         See the big note in ../ChangeLog.
57550         * lib/human.c (suffixes): Prefer K to k for 1024.
57551         (generate_suffix_backwards): New function.
57552         (human_readable_inexact): Use it.
57553         * lib/xstrtol.c (__xstrtol): If there is no number but there
57554         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
57555         Accept 'K' as well as 'k'.
57556
57557 2001-12-15  Jim Meyering  <meyering@lucent.com>
57558
57559         * lib/regex.h (__restrict_arr): Update from libc.
57560
57561         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
57562         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
57563         (STREQ): Define.
57564
57565 2001-12-14  Jim Meyering  <meyering@lucent.com>
57566
57567         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
57568         Suggestion from Bruno Haible.
57569
57570 2001-12-10  Jim Meyering  <meyering@lucent.com>
57571
57572         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
57573         xrealloc, Instead, include "xalloc.h".
57574         (initbuffer): Don't cast xmalloc return value to char*.
57575         (readline): Reword comment.
57576         Don't cast xrealloc return value to char*
57577         Return NULL, not 0.
57578
57579 2001-12-09  Jim Meyering  <meyering@lucent.com>
57580
57581         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
57582         about `signed and unsigned type in conditional expression'.
57583         * lib/posixtm.c (posix_time_parse): Likewise.
57584
57585         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
57586
57587         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
57588         to avoid a pedantic warning.
57589
57590         * lib/getstr.c: Don't include assert.h.
57591         (getstr): Remove warning-evoking assertions.
57592         Return -1 if offset parameter is out of bounds.
57593         Change the type of a local from int to size_t.
57594
57595         * lib/strftime.c (my_strftime_localtime_r): Include this function
57596         definition in the `#if ! HAVE_TM_GMTOFF' block.
57597
57598         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
57599         Include xalloc.h instead.
57600
57601 2001-12-02  Jim Meyering  <meyering@lucent.com>
57602
57603         * lib/tempname.c: Don't declare getenv, thus reverting the change of
57604         2001-11-18.  It's no longer necessary, now that stdlib.h is always
57605         included.
57606
57607         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
57608         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
57609
57610 2001-11-30  Akim Demaille  <akim@epita.fr>
57611
57612         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
57613         before being defined.
57614
57615 2001-11-27  Paul Eggert  <eggert@twinsun.com>
57616
57617         * lib/quotearg.h (quotearg_n, quotearg_n_style):
57618         First arg is int, not unsigned.
57619         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
57620         (SIZE_MAX, UINT_MAX): New macros.
57621         (quotearg_n_options): Abort if N is negative.
57622         Avoid overflow check on hosts where size_t is 64 bits and int
57623         is 32 bits, as overflow is impossible there.
57624         Fix off-by-one typo that caused unnecessary reallocation.
57625
57626 2001-11-27  Jim Meyering  <meyering@lucent.com>
57627
57628         * lib/tempname.c: Merge with version from libc.
57629         * lib/regex.c: Likewise.
57630
57631         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
57632         systems for which STDC_HEADERS is 0, it was not included, resulting in
57633         a warning about an integer-to-pointer conversion problem with getenv.
57634         Reported by Volker Borchert.
57635
57636 2001-11-26  Jim Meyering  <meyering@lucent.com>
57637
57638         * lib/gtod.h: Remove file.
57639         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
57640         * lib/gettimeofday.c: Don't include gtod.h.
57641         (GTOD_init): Remove function.
57642         (rpl_gettimeofday): Do its job here instead, rather than aborting.
57643         Suggestion from Volker Borchert.
57644
57645 2001-11-23  Jim Meyering  <meyering@lucent.com>
57646
57647         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
57648         it.
57649         * lib/hash.c (struct hash_table): Define it here instead.
57650
57651 2001-11-22  Jim Meyering  <meyering@lucent.com>
57652
57653         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
57654
57655 2001-11-20  Jim Meyering  <meyering@lucent.com>
57656
57657         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
57658         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
57659
57660 2001-11-19  Jim Meyering  <meyering@lucent.com>
57661
57662         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
57663         directory.  Use "conftestXXXXXX" as the template.
57664         Suggestion from Paul Eggert.
57665
57666         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
57667         immediately, so the test doesn't mistakenly hit the max-open-files
57668         limit.
57669
57670 2001-11-18  Paul Eggert  <eggert@twinsun.com>
57671
57672         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
57673         (TEMPORARIES): New macro.
57674         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
57675         removes an artificial limitation (e.g. HP-UX 10.20, where
57676         TMP_MAX is 17576).
57677
57678 2001-11-18  Jim Meyering  <meyering@lucent.com>
57679
57680         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
57681
57682 2001-11-18  Jim Meyering  <meyering@lucent.com>
57683
57684         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
57685         on SunOS 4.
57686
57687         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
57688         files will be created before anything else.
57689
57690 2001-11-17  Paul Eggert  <eggert@twinsun.com>
57691
57692         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
57693         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
57694
57695 2001-11-17  Jim Meyering  <meyering@lucent.com>
57696
57697         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
57698         Prompted by a report from Bob Proulx.
57699
57700         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
57701         Instead, require UTILS_FUNC_MKSTEMP.
57702
57703 2001-11-17  Jim Meyering  <meyering@lucent.com>
57704
57705         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
57706         Now, that's done as part of AC_FUNC_STRTOD.
57707
57708 2001-11-17  Jim Meyering  <meyering@lucent.com>
57709
57710         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
57711         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
57712         rather than group writable.  Patch by Juan F. Codagnone.
57713
57714         * lib/readtokens.c: Remove explicit declarations of xmalloc and
57715         xrealloc, Instead, include "xalloc.h".
57716
57717         * lib/mountlist.c: Include unlocked-io.h after all system headers.
57718         Remove explicit declarations of xmalloc, xrealloc,
57719         and xstrdup.  Instead, include "xalloc.h".
57720
57721         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
57722         unlocked-io.h.
57723         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
57724         Likewise.
57725         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
57726
57727         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
57728         Reported by Padraig Brady.
57729
57730         * lib/mkstemp.c: #undef mkstemp.
57731         Include config.h.
57732         (rpl_mkstemp): Rename from mkstemp.
57733         Protoize.
57734
57735 2001-11-16  Jim Meyering  <meyering@lucent.com>
57736
57737         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
57738         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
57739         determine the amount of total physical memory, use pstat_getstatic.
57740         HPUX-11 doesn't define _SC_PHYS_PAGES.
57741         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
57742         If sysconf couldn't be used to determine the amount of available
57743         physical memory, use both pstat_getstatic and pstat_getdynamic.
57744         Based on a patch from Bob Proulx.
57745
57746 2001-11-10  Jim Meyering  <meyering@lucent.com>
57747
57748         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
57749         (jm_PREREQ): Use it.
57750
57751 2001-11-09  Jim Meyering  <meyering@lucent.com>
57752
57753         * m4/jm-macros.m4: Require autoconf-2.52f.
57754         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
57755         Use these AC_-prefixed names, not the AM_-prefixed ones.
57756
57757         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
57758
57759 2001-11-05  Jim Meyering  <meyering@lucent.com>
57760
57761         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
57762
57763 2001-11-04  Jim Meyering  <meyering@lucent.com>
57764
57765         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
57766         $DEFS.
57767
57768 2001-11-03  Jim Meyering  <meyering@lucent.com>
57769
57770         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
57771         of AC_DEFUN.
57772
57773         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
57774         know the name of the variable in the macro definition.
57775
57776 2001-11-03  Jim Meyering  <meyering@lucent.com>
57777
57778         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
57779         in argmatch_to_argument call.
57780
57781         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
57782         argument.
57783
57784         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
57785         e.g., a fault due to an attempt to free a NULL pointer.
57786
57787 2001-11-01  Jim Meyering  <meyering@lucent.com>
57788
57789         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
57790         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
57791
57792 2001-11-01  Jim Meyering  <meyering@lucent.com>
57793
57794         * lib/dirfd.c, lib/dirfd.h: New files.
57795         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
57796
57797         * lib/hash.c (hash_print) [TESTING]: Clean up.
57798
57799 2001-10-22  Paul Eggert  <eggert@twinsun.com>
57800
57801         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
57802         to avoid a warning if -Wall.
57803
57804 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
57805
57806         * README: New file
57807         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
57808         (per RMS's instructions, this is now the canonical source)
57809         * lgpl/, gpl/: New directories.
57810
57811 2001-10-21  Paul Eggert  <eggert@twinsun.com>
57812
57813         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
57814
57815 2001-10-21  Jim Meyering  <meyering@lucent.com>
57816
57817         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
57818         this code would end up calling gettext even in packages built
57819         with --disable-nls.
57820         * lib/getopt.c (_): Likewise.
57821         * lib/regex.c (_): Likewise.
57822
57823 2001-10-20  Paul Eggert  <eggert@twinsun.com>
57824
57825         * m4/error.m4 (jm_PREREQ_ERROR):
57826         Do not invoke AC_CHECK_FUNCS with strerror_r, as
57827         AC_FUNC_STRERROR_R does that.
57828         Check for strerror declaration.
57829
57830         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
57831         are supposed to have them these days.
57832         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
57833         Merge changes from latest Autoconf CVS.
57834         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
57835         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
57836         POSIX decided to standardize on the int flavor of strerror_r.
57837
57838 2001-10-20  Paul Eggert  <eggert@twinsun.com>
57839
57840         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
57841         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
57842         Use strerror_r that is only a macro, even if it is not a function.
57843         (strerror): Check for HAVE_DECL_STRERROR before declaring.
57844         (private_strerror): Use prototypes, not old-style function definition.
57845         (print_errno_message): New function.
57846         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
57847         char*-flavored one.
57848         (error_tail, error, error_at_line): Use it.
57849
57850 2001-10-11  Jim Meyering  <meyering@lucent.com>
57851
57852         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
57853         and quote_n (1, ... to avoid clobbering a buffer.
57854
57855 2001-10-05  Jim Meyering  <meyering@lucent.com>
57856
57857         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
57858         hash-pjw.h.
57859         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
57860         * lib/hash-pjw.h: New file.
57861
57862 2001-09-30  Jim Meyering  <meyering@lucent.com>
57863
57864         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
57865         `struct fsstat' has the `f_fstypename' member.
57866         Use that to define FS_TYPE, which is now used to make
57867         the getfsstat link test tighter.
57868
57869 2001-09-30  Jim Meyering  <meyering@lucent.com>
57870
57871         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
57872         Include <sys/ucred.h>, for Apple Darwin.
57873         Include sys/mount.h and sys/fs_types.h only if available.
57874         (FS_TYPE): Define.
57875         (read_filesystem_list): Use FS_TYPE.
57876
57877 2001-09-29  Paul Eggert  <eggert@twinsun.com>
57878
57879         * lib/exclude.c (excluded_filename): 0 -> false, since it's
57880         a boolean context.
57881
57882 2001-09-29  Jim Meyering  <meyering@lucent.com>
57883
57884         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
57885         [one-argument getmntent function]): Include stdio.h before mntent.h.
57886         SunOS 4.1.x needs it for the declaration of `FILE'.
57887         Patch by Volker Borchert.
57888
57889         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
57890         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
57891         sys/fs_types.h, and make the link-test for getfsstat guard #include
57892         directives with appropriate #if HAVE_*_H tests so that we can
57893         detect getfsstat on Apple Darwin1.3.7 systems.
57894         Reported by Nelson Beebe.
57895         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
57896
57897 2001-09-28  Paul Eggert  <eggert@twinsun.com>
57898
57899         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
57900         #defines strtoimax.  Also treat the other strto* functions
57901         like strtoimax.
57902
57903         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
57904         Check for strtoul and strtoumax,
57905         as those declarations are made even in the signed case.
57906         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
57907         Likewise, for strtol and strtoimax.
57908
57909 2001-09-28  Paul Eggert  <eggert@twinsun.com>
57910
57911         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
57912         #defines strtoimax.  Also treat the other strto* functions
57913         like strtoimax.
57914
57915         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
57916         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
57917         (strtoimax, strtoumax): Do not declare if already defined as a macro.
57918
57919 2001-09-26  Jim Meyering  <meyering@lucent.com>
57920
57921         Most macros in unlocked-io.h had the wrong number of arguments.
57922         * lib/gen-uio: New script.
57923         (USE_UNLOCKED_IO): Define to 1 if not already defined.
57924         * lib/unlocked-io.hin: Remove file.
57925         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
57926         rather than trying to embed it here.
57927         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
57928         Reported by Padraig Brady.
57929
57930 2001-09-25  Volker Borchert  <bt@teknon.de>
57931
57932         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
57933         `result'.
57934
57935 2001-09-24  Jim Meyering  <meyering@lucent.com>
57936
57937         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
57938
57939 2001-09-23  Jim Meyering  <meyering@lucent.com>
57940
57941         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
57942         instead of the mere test for existence of mntent.h.  The latter
57943         would get a false-positive on AIX 3.4 systems.
57944         In the outer getmntent if-block, don't die if neither of the getmntent
57945         tests succeeds.  Instead, just fall through and continue with the
57946         remaining tests.
57947
57948 2001-09-23  Jim Meyering  <meyering@lucent.com>
57949
57950         * lib/mountlist.c: Remove useless parentheses in #if directives.
57951         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
57952         the deprecated MOUNTED symbol is no longer defined in mntent.h.
57953
57954 2001-09-22  Jim Meyering  <meyering@lucent.com>
57955
57956         * m4/gettext.m4: New file.  From gettext.
57957         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
57958         * m4/progtest.m4: Likewise
57959         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
57960         * m4/glibc21.m4: Likewise.
57961
57962         * m4/libintl.m4: Remove.  No longer used.
57963
57964 2001-09-22  Jim Meyering  <meyering@lucent.com>
57965
57966         * lib/localcharset.c: Update from latest gettext.
57967         * lib/config.charset: Likewise.
57968
57969 2001-09-20  Jim Meyering  <meyering@lucent.com>
57970
57971         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
57972         strtoimax.
57973         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
57974         strtoumax.
57975
57976 2001-09-20  Jim Meyering  <meyering@lucent.com>
57977
57978         * lib/xstrtol.c (strtoimax): Guard declaration with
57979         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
57980         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
57981         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
57982         (strtoumax): Likewise, for completeness (it wasn't necessary).
57983
57984 2001-09-17  Paul Eggert  <eggert@twinsun.com>
57985
57986         * lib/strtoimax.c (HAVE_LONG_LONG):
57987         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
57988         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
57989         to work around bug in IBM C compiler.
57990
57991 2001-09-17  Jim Meyering  <meyering@lucent.com>
57992
57993         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
57994         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
57995         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
57996         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
57997         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
57998         whenever the right hand side need not be expanded by the shell.
57999
58000 2001-09-16  Paul Eggert  <eggert@twinsun.com>
58001
58002         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
58003         library.  It's not correct, as some older glibcs are buggy.
58004         fnmatch wasn't fixed until glibc 2.2.
58005
58006         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
58007         special shell magic here.
58008
58009 2001-09-16  Jim Meyering  <meyering@lucent.com>
58010
58011         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
58012         * m4/jm-macros.m4: Require it.
58013
58014 2001-09-16  Jim Meyering  <meyering@lucent.com>
58015
58016         * lib/mkdir.c: New file.
58017
58018 2001-09-15  Jim Meyering  <meyering@lucent.com>
58019
58020         * m4/jm-macros.m4: Check for help2man.
58021
58022 2001-09-11  Jim Meyering  <meyering@lucent.com>
58023
58024         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
58025         The body, by Paul Eggert, was moved here from configure.in.
58026         * m4/jm-macros.m4: Require UTILS_HOST_OS.
58027
58028 2001-09-04  Paul Eggert  <eggert@twinsun.com>
58029
58030         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
58031         (jm_PREREQ): Use it.
58032
58033 2001-09-04  Paul Eggert  <eggert@twinsun.com>
58034
58035         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
58036         Use ssize_t, not int, to store result of readlink.
58037         Check for ssize_t overflow as well as size_t overflow,
58038         as POSIX says the result of readlink is implementation-defined
58039         when ssize_t overflows.
58040         Remove unnecessary cast to char*.
58041         Use free+malloc instead of realloc, as the storage doesn't need
58042         to be preserved and it's clearer and can be more efficient that way.
58043         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
58044         * lib/xreadlink.h (xreadlink): Update prototype.
58045
58046 2001-09-04  Paul Eggert  <eggert@twinsun.com>
58047
58048         * lib/xgetcwd.c: Revert some of the previous change; intead,
58049         fix the HAVE_GETCWD_NULL code to behave more like the
58050         !HAVE_GETCWD_NULL code used to.
58051
58052         Include "xalloc.h".
58053         (xgetcwd): Do not return NULL when memory is exhausted; instead,
58054         invoke xalloc_die.
58055
58056 2001-09-03  Paul Eggert  <eggert@twinsun.com>
58057
58058         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
58059         sys/param.h, as pathmax.h includes them.
58060
58061 2001-09-03  Paul Eggert  <eggert@twinsun.com>
58062
58063         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
58064         (jm_PREREQ_XGETCWD): New macro.
58065
58066         * m4/getcwd.m4: New file.
58067
58068 2001-09-03  Paul Eggert  <eggert@twinsun.com>
58069
58070         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
58071         like the HAVE_GETCWD_NULL code.
58072         Include pathmax.h if not HAVE_GETCWD.
58073         Do not include xalloc.h.
58074         (INITIAL_BUFFER_SIZE): New symbol.
58075         Do not use xmalloc / xrealloc, since the caller is responsible for
58076         handling errors.  Preserve errno around `free' during failure.
58077         Do not overrun buffer when using getwd.
58078
58079 2001-09-03  Paul Eggert  <eggert@twinsun.com>
58080
58081         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
58082         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
58083         getcwd (NULL, 0).
58084
58085 2001-09-03  Paul Eggert  <eggert@twinsun.com>
58086
58087         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
58088         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
58089         spotted by Jim Meyering.
58090
58091 2001-09-03  Jim Meyering  <meyering@lucent.com>
58092
58093         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
58094         failure.
58095
58096 2001-09-02  Jim Meyering  <meyering@lucent.com>
58097
58098         * lib/error.c: Update from GNU libc.
58099
58100 2001-09-01  Jim Meyering  <meyering@lucent.com>
58101
58102         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
58103         Used by df.
58104
58105 2001-09-01  Jim Meyering  <meyering@lucent.com>
58106
58107         * lib/xreadlink.c: New file.
58108         * lib/xreadlink.h: New file.
58109         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
58110         xreadlink.h.
58111
58112         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
58113         doesn't conflict with sparc Solaris 7's definition in
58114         /usr/include/sys/int_types.h.
58115
58116         * lib/exclude.c: Use `""', not `<>' to #include non-system header
58117         files.
58118         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
58119         and strncasecmp as r-values.  Unixware didn't have declarations.
58120
58121 2001-08-31  Paul Eggert  <eggert@twinsun.com>
58122
58123         * lib/xstrtol.h: Add copyright notice.
58124         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
58125         LONGINT_INVALID_SUFFIX_CHAR.
58126
58127 2001-08-31  Paul Eggert  <eggert@twinsun.com>
58128
58129         * lib/xstrtol.c (strtoimax): New decl.
58130
58131 2001-08-31  Paul Eggert  <eggert@twinsun.com>
58132
58133         * lib/xgetcwd.c: Don't include pathmax.h.
58134         Include stdlib.h and unistd.h if available.
58135         Include xalloc.h.
58136         (xmalloc, xstrdup, free): Remove decls.
58137         (xgetcwd): Don't assume sizes fit in unsigned.
58138         Check for overflow when computing sizes.
58139         Simplify reallocation code.
58140
58141 2001-08-31  Paul Eggert  <eggert@twinsun.com>
58142
58143         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
58144         a directory's st_size can have an arbitrary value, so the old
58145         usage could waste an arbitrary amount of memory.  All uses
58146         changed.
58147         * lib/savedir.h: Update prototype.
58148
58149 2001-08-31  Paul Eggert  <eggert@twinsun.com>
58150
58151         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
58152
58153         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
58154         old strtoimax.c.
58155
58156         Also, make the following further changes to make this file's
58157         configuration more similar to that of strtol.c:
58158         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
58159         (strtoumax, uintmax_t, strtoull, strtol): Remove.
58160         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
58161         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
58162         changed to signed values.
58163
58164         And make the following changes as well:
58165         Fix copyright notice, as 1999 was missing.
58166         (verify): New macro.
58167         (strtoimax): Check sizes at compile-time, not run-time.
58168         Prefer strtol to strtoll if both work.
58169         (main): Remove; it was not that useful and was a pain to maintain.
58170
58171         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
58172
58173 2001-08-31  Jim Meyering  <meyering@lucent.com>
58174
58175         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
58176         Use an initial, malloc'd, buffer of length 128 rather than
58177         a statically allocated one of length 1024.
58178
58179 2001-08-30  Paul Eggert  <eggert@twinsun.com>
58180
58181         Simplify code, partly by assuming autoconf 2.52 semantics.
58182
58183         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
58184
58185         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
58186         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
58187         All uses removed.
58188         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
58189         Move AC_REQUIRE to next-to-top level, to avoid confusion.
58190         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
58191         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
58192         jm_AC_HEADER_INTTYPES_H.
58193         * m4/jm-macros.m4 (jm_MACROS): Likewise.
58194
58195         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
58196
58197         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
58198         Quote first arg of AC_DEFUN.
58199         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
58200         since they are needed to parse the include file even if we need
58201         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
58202         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
58203         but with opposite signedness.
58204
58205 2001-08-30  Paul Eggert  <eggert@twinsun.com>
58206
58207         Merge 'exclude' changes from tar 1.13.22.
58208         This fixes one or two unlikely storage allocation overflow bugs,
58209         but doesn't change user-visible behavior otherwise.
58210
58211 2001-08-30  Paul Eggert  <eggert@twinsun.com>
58212
58213         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
58214         (jm_PREREQ_EXCLUDE): New macro.
58215
58216 2001-08-30  Paul Eggert  <eggert@twinsun.com>
58217
58218         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
58219         tm to be declared.
58220
58221 2001-08-30  Paul Eggert  <eggert@twinsun.com>
58222
58223         * lib/hash.c: Remove '2001' from copyright notice.
58224
58225 2001-08-30  Paul Eggert  <eggert@twinsun.com>
58226
58227         * lib/full-write.h: New file.
58228         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
58229         * lib/full-write.c: Correct credits, as cccp.c no longer
58230         exists and anyway it was so heavily changed from the old cccp
58231         code as to be unrecognizable.  Include full-write.h.
58232         (full_write) Return size_t, with short writes meaning failure.
58233         All callers changed.  This fixes a bug with large buffers
58234         on 64-bit hosts.
58235         * lib/utime.c: Include full-write.h.
58236
58237 2001-08-30  Paul Eggert  <eggert@twinsun.com>
58238
58239         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
58240         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
58241         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
58242         Include if available.
58243         (<xalloc.h>): Include
58244         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
58245         (verify): New macro.  Use it to verify that EXCLUDE macros do not
58246         collide with FNM macros.
58247         (struct patopts): New struct.
58248         (struct exclude): Use it, as exclude patterns now come with options.
58249         (new_exclude): Support above changes.
58250         (new_exclude, add_exclude_file):
58251         Initial size must now be a power of two to simplify overflow checking.
58252         (free_exclude, fnmatch_no_wildcards): New function.
58253         (excluded_filename): No longer requires options arg, as the options
58254         are determined by add_exclude.  Now returns bool, not int.
58255         (excluded_filename, add_exclude):
58256         Add support for the fancy new exclusion options.
58257         (add_exclude, add_exclude_file): Now takes int options arg.
58258         Check for arithmetic overflow when computing sizes.
58259         (add_exclude_file): xrealloc might modify errno, so don't
58260         realloc until after errno might be used.
58261
58262         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
58263         New macros.
58264         (free_exclude): New decl.
58265         (add_exclude, add_exclude_file): Now takes int options arg.
58266         (excluded_filename): No longer requires options arg, as the options
58267         are determined by add_exclude.  Now returns bool, not int.
58268
58269 2001-08-30  Paul Eggert  <eggert@twinsun.com>
58270
58271         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
58272
58273 2001-08-27  Jim Meyering  <meyering@lucent.com>
58274
58275         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
58276
58277         * lib/version-etc.c (N_): Remove definition.
58278         Revert most of last change.
58279         Instead, simply don't mark the `Copyright...' string for translation.
58280         Based on advice from Paul Eggert.
58281
58282         * lib/strtoxmax.c: Tweak comment.
58283
58284 2001-08-26  Jim Meyering  <meyering@lucent.com>
58285
58286         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
58287
58288         * m4/xstrtoimax.m4: New file.
58289         * m4/xstrtoumax.m4: Add comments explaining why we
58290         AC_REPLACE_FUNCS(strtol).
58291
58292 2001-08-26  Jim Meyering  <meyering@lucent.com>
58293
58294         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
58295         of copyright with `%s' so translators don't get an untranslated
58296         message in 2002.
58297         (COPYRIGHT_YEAR): Define.
58298         (version_etc): Use fprintf rather than fputs.
58299         Suggestion from Ulrich Drepper.
58300
58301         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
58302
58303         * lib/strtoll.c: New file, from GNU libc.
58304         * lib/xstrtoimax.c: New file.
58305
58306         * lib/xstrtol.h: Add xstrtoimax.
58307         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
58308         * lib/strtoimax.c: New file.  Likewise, but first define
58309         STRTOUXMAX_SIGNED.
58310
58311         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
58312         ...
58313         * lib/strtoxmax.c: ... then renamed to this.
58314
58315 2001-08-18  Paul Eggert  <eggert@twinsun.com>
58316
58317         * m4/inttypes.m4: Add AC_PREREQ(2.13).
58318         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
58319         (jm_AC_TYPE_INTMAX_T): New macro.
58320         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
58321
58322         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
58323
58324         * m4/longlong.m4: Renamed from ulonglong.m4.
58325         * m4/inttypes.m4: Renamed from inttypes_h.m4.
58326         * m4/uintmax_t.m4: Removed.
58327
58328 2001-08-13  Paul Eggert  <eggert@twinsun.com>
58329
58330         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
58331         Port to Solaris 8, where 'sed' requires a space after the 'r'
58332         command, and where sh dislikes "$/".  Clean up the spacing a bit.
58333         Redirect output to $tmp just once.
58334
58335 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
58336
58337         * lib/addext.c (<errno.h>): Include.
58338         (errno): Declare if not defined.
58339         (addext): Work correctly when pathconf returns -1 and leaves
58340         errno alone because there is no limit.  Also, work even if
58341         pathconf returns a value greater than SIZE_MAX.
58342
58343 2001-08-12  Jim Meyering  <meyering@lucent.com>
58344
58345         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
58346         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
58347         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
58348         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
58349         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
58350         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
58351         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
58352         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
58353         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
58354         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
58355         utime.m4, utimes.m4, xstrtoumax.m4:
58356         Quote the first argument in each use of AC_DEFUN.
58357
58358 2001-08-12  Jim Meyering  <meyering@lucent.com>
58359
58360         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
58361         Simply `return getcwd (NULL, 0);'.
58362         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
58363         Use 1300 as initial value for length, not PATH_MAX.
58364
58365         * lib/pathmax.h: Clean up cpp syntax.
58366
58367 2001-08-12  Jim Meyering  <meyering@lucent.com>
58368
58369         * lib/gettimeofday.c: New file.
58370         * lib/gtod.h: New file.
58371         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
58372
58373 2001-08-05  Jim Meyering  <meyering@lucent.com>
58374
58375         * m4/jm-macros.m4: Require autoconf-2.52.
58376
58377 2001-08-04  Jim Meyering  <meyering@lucent.com>
58378
58379         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
58380         stmt, to get in sync with glibc.
58381
58382 2001-08-03  Paul Eggert  <eggert@twinsun.com>
58383
58384         The following changes are from gettext 0.10.39 as maintained by
58385         Bruno Haible.
58386
58387         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
58388         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
58389         with inverted sense.  All uses changed.
58390
58391         * lib/mbswidth.c: Don't include <limits.h>.
58392         Include <stdlib.h> and <string.h> unconditionally.
58393         (iswcntrl, mbsinit, ISCNTRL): New macros.
58394         (mbsnwidth): Use K&R style function declarations.
58395         Don't bother checking for MB_LEN_MAX == 1, since the compiler
58396         can optimize it when MB_CUR_MAX == 1.
58397         The width of control characters is zero, not 1.
58398
58399 2001-08-03  Paul Eggert  <eggert@twinsun.com>
58400
58401         The following changes are from gettext 0.10.39 as maintained by
58402         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
58403
58404         * m4/codeset.m4: Upgrade to serial AM1.
58405         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
58406         all uses changed.  Quote first arg of AC_DEFUN.
58407         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
58408
58409         * m4/iconv.m4: Upgrade to serial AM2.
58410         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
58411         Add --with-libconv-prefix.
58412         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
58413         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
58414         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
58415         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
58416         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
58417
58418         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
58419         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
58420         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
58421         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
58422         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
58423         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
58424         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
58425         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
58426         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
58427
58428         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
58429         string.h any more.
58430
58431         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
58432         not the default value.
58433
58434         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
58435         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
58436         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
58437         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
58438         Also check for iswcntrl, used for wcwidth fallback.
58439         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
58440         to Autoconf 2.13.
58441
58442 2001-08-03  Jim Meyering  <meyering@lucent.com>
58443
58444         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
58445         as it was in the original.  Reported by Paul Eggert.
58446
58447 2001-07-16  Jim Meyering  <meyering@lucent.com>
58448
58449         * m4/gettimeofday.m4: New file.
58450         Prompted by a report from Bernhard Baehr.
58451
58452 2001-07-15  Jim Meyering  <meyering@lucent.com>
58453
58454         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
58455         stuff. Now it's in ../Makefile.cfg.
58456
58457 2001-07-15  Jim Meyering  <meyering@lucent.com>
58458
58459         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
58460         (BUILT_SOURCES): Add unlocked-io.h.
58461         (io_functions): Define.
58462         (unlocked-io.h): New rule.
58463         (DISTCLEANFILES): Add unlocked-io.h.
58464         (all-local): Depend on unlocked-io.h, to ensure it is created.
58465
58466         * lib/unlocked-io.hin: New file
58467
58468         * lib/regex.c: Update from glibc.
58469
58470 2001-07-05  Jim Meyering  <meyering@lucent.com>
58471
58472         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
58473         recommendation.
58474         (libfetish_a_SOURCES): Put all .h files here instead.
58475         Remove a thus-exposed (better checks in automake) duplicate and
58476         two unnecessary .h files.
58477
58478 2001-07-04  Jim Meyering  <meyering@lucent.com>
58479
58480         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
58481         that generates jm-glibc-io.m4 so that it doesn't trigger any make
58482         distcheck failure.
58483
58484 2001-07-02  Jim Meyering  <meyering@lucent.com>
58485
58486         The following changes were prompted by suggestions from Bruno Haible.
58487
58488         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
58489         is now generated.
58490         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
58491         definition of EXTRA_DIST.
58492         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
58493         ensure that the generated file is created/updated whenever the list
58494         of $(unlocked_functions) is changed.
58495         (jm-glibc-io.m4): New rule.
58496         (unlocked-io.h): New rule -- currently unused.
58497
58498 2001-06-24  Jim Meyering  <meyering@lucent.com>
58499
58500         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
58501         unmatched right bracket, rather than kludging it with an extra,
58502         falsely-matching quote in a comment.  Patch by Akim Demaille.
58503
58504 2001-06-11  Jim Meyering  <meyering@lucent.com>
58505
58506         * lib/regex.c: Update from GNU libc.
58507
58508 2001-05-27  Jim Meyering  <meyering@lucent.com>
58509
58510         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
58511         Check for ut_type in struct utmp.
58512
58513 2001-05-27  Jim Meyering  <meyering@lucent.com>
58514
58515         * lib/readutmp.h (UT_TYPE): Define.
58516
58517 2001-05-24  Jim Meyering  <meyering@lucent.com>
58518
58519         * lib/argmatch.c: Include "quote.h".
58520         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
58521         quote function.  Reported by Göran Uddeborg.
58522
58523 2001-05-22  Jim Meyering  <meyering@lucent.com>
58524
58525         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
58526         now that we use the package-supplied version unconditionally.
58527         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
58528
58529 2001-05-21  Jim Meyering  <meyering@lucent.com>
58530
58531         * m4/regex.m4: Change a couple backticks to single quotes to avoid
58532         shell syntax errors.
58533
58534 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
58535
58536         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
58537
58538 2001-05-20  Paul Eggert  <eggert@twinsun.com>
58539
58540         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
58541         Don't bother to check library strftime, since
58542         we'll be using our own my_strftime function anyway.
58543         Define my_strftime instead of strftime.
58544
58545 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
58546
58547         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
58548         which is not yet declared.
58549
58550 2001-05-15  Jim Meyering  <meyering@lucent.com>
58551
58552         * m4/regex.m4: Use proper quoting so brackets appear in the test
58553         program.
58554         Reported by, and with help from, Bruno Haible.
58555
58556 2001-05-13  Jim Meyering  <meyering@lucent.com>
58557
58558         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
58559         undefined.
58560
58561 2001-05-11  Paul Eggert  <eggert@twinsun.com>
58562
58563         dirname code cleanup.  base_name now behaves more compatibly
58564         with POSIX basename when given file names that have trailing
58565         slashes, and similarly for dir_name.  Add new primitives
58566         base_len and dir_len.  Put the directory-name-related decls
58567         into dirname.h.
58568
58569         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
58570         * lib/backupfile.c (base_name): Likewise.
58571         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
58572         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
58573         * lib/makepath.c (strip_trailing_slashes): Likewise.
58574         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
58575         ISSLASH): Likewise.
58576         * lib/rename.c (strip_trailing_slashes): Likewise.
58577         * lib/same.c (base_name): Likewise.
58578         * lib/stripslash.c (ISSLASH): Likewise.
58579
58580         * lib/addext.c: Include <dirname.h> after size_t is defined.
58581         * lib/backupfile.c: Likewise.
58582
58583         * lib/addext.c (addext): Use base_len to trim redundant
58584         trailing slashes instead of doing it ourselves.
58585         But do not trim the last slash if it is not redundant.
58586
58587         * lib/backupfile.c (find_backup_file_name,
58588         max_backup_version): Use base_len instead of rolling it ourselves.
58589         Handle the case of "" and (on DOS) "C:" correctly.
58590
58591         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
58592         needed. Include <string.h>, <dirname.h>.
58593         (base_name): Allow file names ending in slashes, other than names
58594         that are all slashes.  In this case, return the basename followed
58595         by the slashes.  This is more general, and can be used in places
58596         where the original base_name purposely had an assertion failure.
58597         (base_len): New function.
58598
58599         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
58600         Do not include <assert.h>; no longer needed.
58601         Include xalloc.h.
58602         (memrchr): Remove decl.
58603         (dir_name_r): Remove.
58604         (dir_len): Renamed from dirlen.  All callers changed.
58605         Rewrite in terms of base_name, for simplicity and consistency.
58606         (dir_name): Never return NULL.  All callers changed.
58607         Do not include <stdlib.h> in test program; no longer needed.
58608         return 0; is fine for test program.
58609
58610         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
58611         New macros.
58612         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
58613
58614         * lib/path-concat.c (path_concat): Use base_len to compute
58615         base length, not strlen; this means we cannot rely on memcpy
58616         to null-terminate.
58617
58618         * lib/same.c (STREQ): Remove.
58619         (same_name): Handle the case where the basename ends in trailing '/'.
58620
58621         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
58622         a slash was stripped.  Do not strip the last slash after a
58623         file system prefix.
58624
58625 2001-05-11  Paul Eggert  <eggert@twinsun.com>
58626
58627         * lib/Makefile.am (libfetish_a_SOURCES):
58628         Add strftime.c, since we now compile it on all hosts.
58629
58630         * lib/strftime.c (my_strftime):
58631         Define to nstrftime if emacs, but only if my_strftime is not defined.
58632         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
58633         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
58634         Add one more extra argument: a nanoseconds value.
58635         All uses changed.
58636         (ns): New macro.
58637         (my_strftime function): Add %N format.
58638         (emacs_strftimeu): Renamed from emacs_strftime,
58639         with extra ut argument.
58640
58641 2001-05-09  Paul Eggert  <eggert@twinsun.com>
58642
58643         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
58644
58645 2001-04-21  Jim Meyering  <meyering@lucent.com>
58646
58647         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
58648         doesn't interfere.
58649
58650 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
58651
58652         * m4/ftruncate.m4: Check for chsize.
58653         Link with ftruncate.o unconditionally if ftruncate is missing.
58654         This was required when cross-compiling to i586-mingw32msvc.
58655
58656 2001-04-08  Jim Meyering  <meyering@lucent.com>
58657
58658         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
58659         recomputed; that's necessary when the offset spans a DST transition.
58660         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
58661
58662 2001-04-02  Jim Meyering  <meyering@lucent.com>
58663
58664         * lib/regex.h, regex.c: Update from GNU libc.
58665
58666 2001-03-24  Jim Meyering  <meyering@lucent.com>
58667
58668         * m4/jm-macros.m4: Require autoconf-2.49d.
58669
58670 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
58671
58672         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
58673
58674 2001-03-19  Paul Eggert  <eggert@twinsun.com>
58675
58676         * lib/version-etc.c (version_etc_copyright): Update to 2001.
58677
58678 2001-03-17  Jim Meyering  <meyering@lucent.com>
58679
58680         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
58681         now that the version in autoconf is equivalent.
58682         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
58683
58684         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
58685         Suggestion from Akim Demaille.
58686
58687         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
58688         (jm_PREREQ_TEMPNAME): New function.
58689
58690 2001-03-16  Paul Eggert  <eggert@twinsun.com>
58691
58692         * lib/tempname.c (uint64_t): Define to uintmax_t if
58693         not defined, and if UINT64_MAX is not defined.
58694         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
58695         Reported by John David Anglin.
58696
58697 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
58698
58699         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
58700         resolve alias if codeset is empty.
58701         * lib/config.charset (BeOS): Use wildcard syntax.
58702
58703 2001-03-13  Jim Meyering  <meyering@lucent.com>
58704
58705         * lib/path-concat.c (path_concat)
58706         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
58707         concatenating e.g., `C:' and `foo'.
58708         From Bruno Haible.
58709
58710 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
58711
58712         * lib/localcharset.c (locale_charset): Don't use
58713         setlocale(LC_CTYPE,NULL). Don't return NULL.
58714         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
58715
58716 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
58717
58718         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
58719         support for DOS/DJGPP.
58720
58721 2001-03-01  Paul Eggert  <eggert@twinsun.com>
58722
58723         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
58724         lacks mkstemp.  Compile our own tempname.c if we compile our own
58725         mkstemp.c, as mkstemp relies on tempname.
58726
58727 2001-03-01  Jim Meyering  <meyering@lucent.com>
58728
58729         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
58730         AH_VERBATIM really does output its argument verbatim.
58731
58732 2001-02-28  Paul Eggert  <eggert@twinsun.com>
58733
58734         * lib/Makefile.am (libfetish_a_SOURCES):
58735         Add dup-safer.c, fopen-safer.c.
58736         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
58737
58738         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
58739         * lib/unistd-safer.h: New files.
58740
58741 2001-02-25  Paul Eggert  <eggert@twinsun.com>
58742
58743         The mkstemp replacement is taken from glibc 2.2.2, with some
58744         portability fixes for use outside glibc, as follows:
58745
58746         * lib/tempname.c (struct_stat64): New macro.
58747         (direxists, __gen_tempname): Use it.
58748         This avoids a portability problem with Solaris 8.
58749
58750         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
58751         (<stddef.h>, <stdint.h>, <string.h>):
58752         Include only if STDC_HEADERS || _LIBC.
58753         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
58754         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
58755         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
58756         (__set_errno): Define this macro if <errno.h> doesn't.
58757         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
58758         Define these macros if <stdio.h> doesn't.
58759         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
58760         Define these macros if <sys/stat.h>
58761         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
58762         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
58763         __xstat64): Define if not _LIBC.
58764         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
58765         (__gen_tempname): Invoke gettimeofday only if
58766         HAVE_GETTIMEOFDAY || _LIBC;
58767         otherwise, fall back on plain "time".
58768         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
58769
58770         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
58771
58772         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
58773
58774 2001-02-18  Paul Eggert  <eggert@twinsun.com>
58775
58776         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
58777
58778 2001-02-17  Paul Eggert  <eggert@twinsun.com>
58779
58780         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
58781         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
58782         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
58783         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
58784
58785 2001-02-17  Paul Eggert  <eggert@twinsun.com>
58786
58787         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
58788         Remove workaround macros for hosts that have mbrtowc but not
58789         mbstate_t, as we now insist on proper declarations for both
58790         before using mbrtowc.
58791
58792 2001-02-17  Jim Meyering  <meyering@lucent.com>
58793
58794         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
58795         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
58796         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
58797         UnixWare 7.1.1.
58798
58799         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
58800         rather than AC_CACHE_VAL.
58801
58802 2001-02-17  Jim Meyering  <meyering@lucent.com>
58803
58804         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
58805         around included file name.
58806
58807         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
58808
58809         * lib/strftime.c: Update from GNU libc (the only changes were to
58810         comments).
58811
58812 2001-02-17  Jim Meyering  <meyering@lucent.com>
58813
58814         * lib/regex.c: Update from libc.
58815
58816 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
58817
58818         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
58819         clash.
58820
58821 2001-02-16  Paul Eggert  <eggert@twinsun.com>
58822
58823         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
58824         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
58825         Reported by Mark Hounschell via Paul Eggert.
58826
58827 2001-02-07  Jim Meyering  <meyering@lucent.com>
58828
58829         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
58830
58831 2001-02-05  Jim Meyering  <meyering@lucent.com>
58832
58833         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
58834         it includes the patch required for `large file' support with at least
58835         HP-UX's 10.20 /bin/cc.
58836
58837 2001-02-03  Jim Meyering  <meyering@lucent.com>
58838
58839         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
58840         AS_IF, now that it works once again (mysteriously).
58841         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
58842
58843 2001-01-30  Jim Meyering  <meyering@lucent.com>
58844
58845         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
58846         * m4/chown.m4: Rename conftestchown to conftest.chown.
58847         * m4/rename.m4: s/conftestdir/conftest.d1/ and
58848         s/conftestdir2/conftest.d2/.
58849         * m4/utimes.m4: s/conftestdata/conftest.data/
58850         Inspired by Pavel Roskin's change in autoconf.
58851
58852 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
58853
58854         * lib/config.charset: Update for FreeBSD 4.2.
58855
58856 2001-01-27  Jim Meyering  <meyering@lucent.com>
58857
58858         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
58859         a use of AS_IF.
58860         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
58861
58862 2001-01-26  Jim Meyering  <meyering@lucent.com>
58863
58864         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
58865         quotearg.c includes it.
58866
58867 2001-01-26  Jim Meyering  <meyering@lucent.com>
58868
58869         * lib/quotearg.c: Include stddef.h.
58870         * lib/quote.c: Include stddef.h.
58871         Reported by Axel Kittenberger.
58872
58873         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
58874         line in double quotes so that it evokes a better diagnostic.
58875         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
58876         Reported by Axel Kittenberger.
58877
58878 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
58879
58880         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
58881         as if it was a `charset'.
58882
58883 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
58884
58885         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
58886         has const.
58887
58888 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
58889
58890         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
58891         to avoid a warning.  Add back 'const' to inptr.
58892
58893 2001-01-20  Jim Meyering  <meyering@lucent.com>
58894
58895         Be sure that headers are checked before used in code compiled
58896         for the type checks.
58897         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
58898         In place of that, invoke jm_CHECK_ALL_TYPES.
58899         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
58900         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
58901         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
58902         The check for ssize_t was mistakenly run before the test for unistd.h.
58903
58904         The configure-time check for stdbool.h was missing.
58905         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
58906         (jm_PREREQ_HASH): New function.
58907
58908 2001-01-17  Jim Meyering  <meyering@lucent.com>
58909
58910         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
58911         for autoconf-2.49c.
58912         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
58913
58914 2001-01-16  Jim Meyering  <meyering@lucent.com>
58915
58916         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
58917         From Bruno Haible.
58918
58919 2001-01-14  Jim Meyering  <meyering@lucent.com>
58920
58921         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
58922         foo and bar.  Create conftestdir/ in the script, not in the C code.
58923         Remove directories in the script, not in the C code.
58924         Remove conftestdir{,2} before trying to create the directory.
58925         Make the entire configure script fail if the mkdir fails.
58926
58927 2001-01-14  Jim Meyering  <meyering@lucent.com>
58928
58929         * lib/rename.c: New file.  From Volker Borchert.
58930         Include stdlib.h, string.h or strings.h, and xalloc.h.
58931         Use strip_trailing_slashes rather than open-coding it.
58932
58933 2001-01-03  Paul Eggert  <eggert@twinsun.com>
58934
58935         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
58936
58937 2001-01-03  Jim Meyering  <meyering@lucent.com>
58938
58939         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
58940         of local `inptr' to avoid warning with some system declarations of
58941         iconv.
58942
58943 2001-01-02  Volker Borchert  <bt@teknon.de>
58944
58945         * m4/rename.m4: New file.
58946         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
58947
58948 2001-01-01  Jim Meyering  <meyering@lucent.com>
58949
58950         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
58951         even on systems with utmpx.h.  It's necessary for the declaration of
58952         utmp's ut_user member.  Reported by Andreas Jaeger.
58953
58954         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
58955         available. They are required for the declarations of getgrgid and
58956         getpwuid resp.
58957         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
58958         Reported by Andreas Jaeger.
58959
58960 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
58961
58962         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
58963         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
58964         so `make install' also works in VPATH builds.
58965
58966 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
58967
58968         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
58969         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
58970         can be used in subdirectories.
58971
58972 2000-12-29  Paul Eggert  <eggert@twinsun.com>
58973
58974         * lib/modechange.c: Do not assume that mode_t uses the
58975         traditional octal encoding.  E.g. "chmod 1 FOO" should set
58976         the other-execute bit of FOO even if S_IXOTH != 1.
58977
58978         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
58979         WOTH, XOTH, ALLM): New macros.
58980         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
58981          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
58982         Use them.
58983         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
58984         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
58985         (mode_compile):
58986         No need to use uintmax_t; unsigned long is long enough.
58987         Don't bother to get suffix since we don't use it.
58988
58989 2000-12-26  Jim Meyering  <meyering@lucent.com>
58990
58991         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
58992         better with autoheader.
58993
58994 2000-12-24  Jim Meyering  <meyering@lucent.com>
58995
58996         * lib/hash.c (is_prime): Return explicit boolean values.
58997         (hash_get_first): Return NULL to appease Irix5.6's 89.
58998         Reported by Nelson Beebe.
58999
59000 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
59001
59002         * lib/localcharset.c (locale_charset): Add support for Win32.
59003
59004 2000-12-18  Paul Eggert  <eggert@twinsun.com>
59005
59006         * lib/physmem.h, lib/physmem.c: New files.
59007
59008         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
59009         (noinst_HEADERS): Add physmem.h.
59010
59011         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
59012         't' for compatibility with Solaris 8 sort.
59013
59014 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
59015
59016         * lib/config.charset: Add support for BeOS.
59017
59018 2000-12-17  Jim Meyering  <meyering@lucent.com>
59019
59020         * m4/dos.m4 (jm_AC_DOS): New file and macro.
59021         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
59022
59023 2000-12-16  Jim Meyering  <meyering@lucent.com>
59024
59025         This bug had a serious impact on chown: `chown N:M FILE' (for integer
59026         N and M) would have treated it like `chown N:N FILE'.
59027
59028         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
59029
59030 2000-12-16  Jim Meyering  <meyering@lucent.com>
59031
59032         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
59033         SHELLS_FILE to a file name that's useful on djgpp systems.
59034         Include stdlib.h.
59035         (ADDITIONAL_DEFAULT_SHELLS): Define.
59036         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
59037         Based mostly on a patch from Prashant TR.
59038
59039 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
59040
59041         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
59042         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
59043         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
59044
59045 2000-12-08  Andreas Schwab  <schwab@suse.de>
59046
59047         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
59048         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
59049
59050 2000-12-07  Jim Meyering  <meyering@lucent.com>
59051
59052         * lib/stripslash.c (ISSLASH): Define.
59053         (strip_trailing_slashes): Use ISSLASH rather than comparing against
59054         `/'.
59055         From Prashant TR.
59056
59057         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
59058         (dir_name_r): Declare this function as static.
59059         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
59060         manifest itself on a name containing a mix of slashes and
59061         backslashes.
59062         Make this function work with names starting with a DOS-style
59063         drive letter and colon prefix.
59064         (dir_name): Append `.' if necessary.
59065         Based mostly on patches from Prashant TR and Eli Zaretskii.
59066
59067         * lib/dirname.h (dir_name_r): Remove prototype.
59068
59069 2000-12-06  Paul Eggert  <eggert@twinsun.com>
59070
59071         * m4/off_t-format.m4: Remove this file.
59072         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
59073
59074 2000-12-06  Jim Meyering  <meyering@lucent.com>
59075
59076         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
59077         replacement strtoull, we may well need the replacement strtoul, too.
59078         Check for declarations of strtoul and strtoull.
59079         Check for strtol.  Mainly as a cue to cause automake to include
59080         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
59081         Check for limits.h -- strtol.c needs it.
59082
59083 2000-12-05  Jim Meyering  <meyering@lucent.com>
59084
59085         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
59086
59087 2000-12-04  Jim Meyering  <meyering@lucent.com>
59088
59089         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
59090         Also include memory.h, stdlib.h, unistd.h if appropriate.
59091         Reported by Andreas Jaeger (conflicting declaration of malloc).
59092
59093 2000-12-02  Jim Meyering  <meyering@lucent.com>
59094
59095         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
59096         * m4/jm-macros.m4 (jm_MACROS): require it.
59097
59098 2000-12-02  Jim Meyering  <meyering@lucent.com>
59099
59100         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
59101
59102 2000-12-01  Paul Eggert  <eggert@twinsun.com>
59103
59104         * lib/memrchr.c: Include <config.h> before any system include file.
59105
59106 2000-11-30  Jim Meyering  <meyering@lucent.com>
59107
59108         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
59109
59110 2000-11-30  Jim Meyering  <meyering@lucent.com>
59111
59112         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
59113
59114 2000-11-29  Paul Eggert  <eggert@twinsun.com>
59115
59116         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
59117
59118 2000-11-26  Jim Meyering  <meyering@lucent.com>
59119
59120         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
59121
59122 2000-11-22  Paul Eggert  <eggert@twinsun.com>
59123
59124         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
59125         size of (size_t) -1; it's not portable.
59126
59127 2000-11-17  Jim Meyering  <meyering@lucent.com>
59128
59129         * lib/strstr.c: Update from GNU libc.
59130
59131 2000-11-17  Akim Demaille  <akim@epita.fr>
59132
59133         * lib/obstack.h: Formatting changes.
59134         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
59135         prevent type checking.
59136         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
59137         cast the value to (void *): assigning a `foo *' to a `void *'
59138         variable is valid.
59139         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
59140
59141 2000-11-16  Jim Meyering  <meyering@lucent.com>
59142
59143         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
59144
59145 2000-11-11  Jim Meyering  <meyering@lucent.com>
59146
59147         * lib/error.c: Add a couple #includes, merging from GNU libc version.
59148
59149 2000-11-10  Jim Meyering  <meyering@lucent.com>
59150
59151         * lib/obstack.h: Update from GNU libc.
59152         * lib/obstack.c: Likewise.
59153
59154 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
59155
59156         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
59157
59158 2000-11-06  Paul Eggert  <eggert@twinsun.com>
59159
59160         * lib/getusershell.c (setusershell): Use rewind rather than
59161         fseek/fseeko, to avoid configuration hassles with fseeko.
59162         Don't bother opening SHELLS_FILE if shellstream is NULL;
59163         it's not necessary.
59164
59165 2000-11-05  Jim Meyering  <meyering@lucent.com>
59166
59167         * lib/makepath.h (make_dir): Declare.
59168         * lib/makepath.c (make_dir): Remove `static' attribute.
59169         Tweak a comment.
59170
59171 2000-11-04  Jim Meyering  <meyering@lucent.com>
59172
59173         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
59174
59175 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
59176
59177         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
59178         last one in a bucket, advance to the next bucket.
59179
59180 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
59181
59182         * lib/fnmatch.c: Do not comment out all the code if we are using
59183         the GNU C library, because in some cases we are replacing buggy
59184         code in the GNU C library itself.
59185
59186 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
59187
59188         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
59189         (regex_compile): Catch bogus \(\1\).
59190
59191 2000-10-30  Paul Eggert  <eggert@twinsun.com>
59192
59193         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
59194         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
59195         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
59196
59197 2000-10-30  Paul Eggert  <eggert@twinsun.com>
59198
59199         * lib/error.h, getline.h, modechange.h:
59200         Remove "2000" from Copyright line, as the file hasn't been
59201         changed this year other than in the copyright notice.
59202
59203         * lib/xalloc.h: Add "2000" to Copyright line, as this file
59204         was changed this year.
59205
59206 2000-10-29  Jim Meyering  <meyering@lucent.com>
59207
59208         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
59209         renaming.
59210         * m4/ls-mntd-fs.m4: Likewise
59211
59212 2000-10-29  Jim Meyering  <meyering@lucent.com>
59213
59214         * lib/xstat.in: Fix grammar in comment.
59215
59216 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
59217
59218         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
59219         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
59220         doesn't define __restrict_arr.
59221
59222 2000-10-28  Jim Meyering  <meyering@lucent.com>
59223
59224         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
59225         (jm_PREREQ_MEMCHR): New function.
59226
59227 2000-10-28  Jim Meyering  <meyering@lucent.com>
59228
59229         * lib/memchr.c: Update from libc.
59230         Adjust for portability:
59231         [HAVE_STDLIB_H]: Include stdlib.h.
59232         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
59233         Undef __memchr, too.
59234         [!weak_alias]: Define __memchr to memchr.
59235
59236         * lib/regex.c: Update from libc.
59237         * lib/regex.h: Likewise.
59238         * lib/getopt1.c: Likewise.
59239         * lib/memcmp.c: Likewise.
59240
59241         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
59242         Avoid using fseek, when possible -- it's broken by design.
59243         Patch by Ulrich Drepper.
59244
59245 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
59246
59247         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
59248         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
59249         Giving in to popular pressure to shut up the compiler with casts.
59250
59251 2000-10-26  Jim Meyering  <meyering@lucent.com>
59252
59253         * lib/strftime.c: Update from libc.
59254
59255 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
59256
59257         * regex.c: More `unsigned char' -> `re_char' changes.
59258         Also change several `int' into `re_wchar_t'.
59259         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
59260         (PUSH_FAILURE_POINTER): Don't cast any more.
59261         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
59262         We want GCC to complain, since this piece of code makes
59263         re_match non-reentrant, which *should* be fixed.
59264         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
59265         (EXTEND_BUFFER): Use RETALLOC.
59266         (SET_LIST_BIT): Don't cast.
59267         (re_wchar_t): New type.
59268         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
59269         that those two functions will always properly return.
59270         (IMMEDIATE_QUIT_CHECK): Cast to void.
59271         (analyse_first): Use recursion rather than an explicit stack.
59272         (re_compile_fastmap): Can't fail anymore.
59273         (re_search_2): Don't check re_compile_fastmap for failure.
59274         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
59275         Now also sets the new value (passed in a new argument).
59276         (re_match_2_internal): Use it.
59277         Also, use a new var `reg' of type size_t when looping through regs
59278         rather than reuse the inappropriate `mcnt'.
59279
59280 2000-10-25  Jim Meyering  <meyering@lucent.com>
59281
59282         * lib/obstack.c: Update from libc.
59283
59284 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
59285
59286         * regex.c (regex_compile): Change the way of handling a range from
59287         a char less than 256 to a char not less than 256.
59288
59289 2000-10-24  Andrew Innes  <andrewi@gnu.org>
59290
59291         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
59292         NT-Emacs only.
59293         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
59294         so that re_search functions only quit when callers expect them to.
59295
59296 2000-10-23  Jim Meyering  <meyering@lucent.com>
59297
59298         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
59299         wrong.  That set_locale call must not have any side effects.
59300         From Paul Eggert.
59301
59302 2000-10-22  Jim Meyering  <meyering@lucent.com>
59303
59304         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
59305         [CYCLIC]: Remove now-unused definition.
59306
59307         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
59308         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
59309         Suggestion from Ulrich Drepper.
59310
59311 2000-10-21  Jim Meyering  <meyering@lucent.com>
59312
59313         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
59314         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
59315         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
59316
59317 2000-10-21  Jim Meyering  <meyering@lucent.com>
59318
59319         * lib/dirname.c (memrchr): Declare if necessary.
59320         (dir_name): Remove the restriction that there be no
59321         trailing slashes.  Now, this code skips past them, effectively
59322         ignoring them.
59323         [TEST_DIRNAME] (main): New unit tests.
59324
59325         * lib/memrchr.c: New file from GNU libc.
59326         Undef __memrchr, too.
59327         [!weak_alias]: Define __memrchr to memrchr.
59328         Guard weak_alias use with `#ifdef weak_alias'.
59329
59330 2000-10-21  Jim Meyering  <meyering@lucent.com>
59331
59332         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
59333         (dir_name): Use dir_name_r.
59334         * lib/dirname.h (dir_name_r): Declare it.
59335
59336 2000-10-17  Jim Meyering  <meyering@lucent.com>
59337
59338         * lib/quote.h (PARAMS): Define and use.
59339         Reported by Akim Demaille.
59340
59341         * lib/getopt.c: Update from libc.
59342
59343 2000-10-16  Jim Meyering  <meyering@lucent.com>
59344
59345         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
59346         setlocale.
59347         From Jan Fedak.
59348
59349 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
59350
59351         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
59352
59353 2000-09-25  Jim Meyering  <meyering@lucent.com>
59354
59355         * lib/md5.h (rol): Define (from GnuPG).
59356
59357         * lib/sha.c: Give credit (GnuPG) where due.
59358         (M): Use rol rather than open-coding it.
59359         Add a FIXME comment.
59360
59361 2000-09-21  Jim Meyering  <meyering@lucent.com>
59362
59363         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
59364         Reported by Michael Stone.
59365
59366 2000-09-20  Jim Meyering  <meyering@lucent.com>
59367
59368         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
59369         (noinst_HEADERS): Add sha.h.
59370         Based on code from Scott G. Miller and from GnuPG.
59371
59372 2000-09-18  Jim Meyering  <meyering@lucent.com>
59373
59374         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
59375         LIBS. Otherwise, everyone ends up linking with -lelf for some
59376         configurations.
59377         Reported by Mike Stone.
59378
59379 2000-09-15  Jim Meyering  <meyering@lucent.com>
59380
59381         * lib/regex.c: Update from libc.
59382
59383 2000-09-10  Jim Meyering  <meyering@lucent.com>
59384
59385         * lib/getopt.c (_getopt_internal): Update from glibc.
59386
59387 2000-09-09  Jim Meyering  <meyering@lucent.com>
59388
59389         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
59390         think it should be used as a general replacement for isascii.
59391         * lib/fnmatch.c: Likewise.
59392         * lib/mbswidth.c: Likewise
59393         * lib/regex.c: Likewise.
59394
59395         Don't use atoi.
59396         * lib/userspec.c: Include sys/param.h and limits.h.
59397         Include xstrtol.h.
59398         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
59399         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
59400         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
59401         UID, GID.  Check range.
59402
59403 2000-09-06  Jim Meyering  <meyering@lucent.com>
59404
59405         * lib/getopt.c (_getopt_internal): Update from glibc.
59406
59407 2000-08-30  Jim Meyering  <meyering@lucent.com>
59408
59409         * lib/strftime.c: Merge in changes from GNU libc.
59410
59411 2000-08-26  Jim Meyering  <meyering@lucent.com>
59412
59413         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
59414         * m4/fpending.m4: New file.
59415
59416 2000-08-26  Jim Meyering  <meyering@lucent.com>
59417
59418         * lib/closeout.c: Include "__fpending.h".
59419         (close_stdout_status): Return right away if there's nothing to flush.
59420
59421         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
59422         * lib/__fpending.c: New file.
59423         * lib/__fpending.h: New file.
59424
59425 2000-08-20  Jim Meyering  <meyering@lucent.com>
59426
59427         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
59428         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
59429         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
59430
59431 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
59432
59433         Improve fileutils installation on systems where running
59434         programs (like install) can't be unlinked.
59435         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
59436         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
59437
59438 2000-08-07  Paul Eggert  <eggert@twinsun.com>
59439
59440         Standardize on "memory exhausted" instead of "Memory exhausted"
59441         or "virtual memory exhausted".
59442         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
59443         "virtual memory exhausted".
59444         * lib/same.c (same_name): Invoke xalloc_die instead of printing
59445         our own message.
59446         * lib/userspec.c (parse_user_spec): Likewise.
59447         * lib/bumpalloc.h: comment fix
59448         * lib/same.c, userspec.c: Include xalloc.h.
59449
59450         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
59451         not char *const and pointing to a constant array.
59452         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
59453         (xrealloc): Comment fix.
59454
59455         * lib/userspec.c (parse_user_spec):
59456         Don't translate a message until just before returning,
59457         to avoid unnecessary translation.
59458
59459 2000-08-07  Jim Meyering  <meyering@lucent.com>
59460
59461         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
59462         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
59463         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
59464         getgroups.c, gethostname.c, getopt.h, group-member.c,
59465         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
59466         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
59467         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
59468         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
59469         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
59470         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
59471         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
59472         yesno.c: Back out Copyright date changes for each file with no change
59473         this year.  This eases coordination with other programs using the same
59474         source code modules.  From Paul Eggert.
59475
59476 2000-08-06  Paul Eggert  <eggert@twinsun.com>
59477
59478         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
59479         not char, for compatibility with glibc 2.1.3 strftime.c.
59480
59481 2000-08-03  Greg McGary  <greg@mcgary.org>
59482
59483         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
59484         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
59485         (EXTEND_BUFFER): Use them.
59486
59487 2000-08-01  Jim Meyering  <meyering@lucent.com>
59488
59489         * lib/dirname.c (ISSLASH): Define.
59490         (BACKSLASH_IS_PATH_SEPARATOR): Define.
59491         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
59492         both `\' and `/' may be use as path separators.
59493         Based on a patch from Prashant TR.
59494
59495 2000-07-31  Paul Eggert  <eggert@twinsun.com>
59496
59497         * lib/quotearg.c (quotearg_n_options): Don't make the initial
59498         slot vector a constant, since it might get modified.
59499
59500 2000-07-31  Jim Meyering  <meyering@lucent.com>
59501
59502         * lib/xmalloc.c: Use `virtual memory exhausted', not
59503         `Memory exhausted'.
59504         * lib/obstack.c (print_and_abort): Likewise.
59505
59506 2000-07-30  Paul Eggert  <eggert@twinsun.com>
59507
59508         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
59509         buffer, so that the caller can always quote one small
59510         component of a "memory exhausted" message in slot 0.
59511         From a suggestion by Jim Meyering.
59512
59513 2000-07-30  Jim Meyering  <meyering@lucent.com>
59514
59515         * lib/makepath.c (make_path): Quote the other instance, too.
59516
59517         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
59518         (STATIC_BUF_SIZE): Define.
59519         (quotearg_n_options): Use only statically allocated storage when
59520         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
59521         than STATIC_BUF_SIZE.
59522
59523 2000-07-29  Jim Meyering  <meyering@lucent.com>
59524
59525         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
59526         * lib/dirname.c (dir_name): Likewise.
59527
59528         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
59529         `/'.
59530
59531         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
59532         (dir_name): Assert that there are no trailing slashes.
59533
59534 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
59535
59536         * lib/mbswidth.h (mbswidth): Add a flags argument.
59537         (mbswidth): New declaration.
59538         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
59539         * lib/mbswidth.c (mbswidth): Add a flags argument.
59540         (mbsnwidth): New function.
59541
59542 2000-07-24  Jim Meyering  <meyering@lucent.com>
59543
59544         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
59545
59546 2000-07-23  Paul Eggert  <eggert@twinsun.com>
59547
59548         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
59549
59550 2000-07-23  Paul Eggert  <eggert@twinsun.com>
59551
59552         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
59553         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
59554         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
59555         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
59556         invoke multibyte primitives.
59557
59558 2000-07-23  Paul Eggert  <eggert@twinsun.com>
59559
59560         * lib/quotearg.c:
59561         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
59562         so that mbstate_t is always defined.
59563
59564         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
59565         be 1 in at least one GCC installation, and this configuration
59566         error is likely to be common.  Ignoring MB_LEN_MAX hurts
59567         performance on hosts that have mbrtowc but have only unibyte
59568         locales, but I assume these hosts are rare.
59569
59570 2000-07-23  Paul Eggert  <eggert@twinsun.com>
59571
59572         * lib/mbswidth.c (_XOPEN_SOURCE):
59573         Don't define; this causes problems on Solaris 7.
59574         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
59575
59576 2000-07-23  Jim Meyering  <meyering@lucent.com>
59577
59578         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
59579         too: getgrgid, getpwuid, getuid.
59580
59581 2000-07-23  Jim Meyering  <meyering@lucent.com>
59582
59583         * lib/basename.c (base_name): Add an assertion.
59584
59585 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
59586
59587         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
59588         shadow its mbsinit function.
59589
59590 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
59591
59592         * lib/mbswidth.h: New file.
59593         * lib/mbswidth.c: New file.
59594         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
59595         (noinst_HEADERS): Add mbswidth.h.
59596
59597 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
59598
59599         * lib/config.charset: Add support for FreeBSD. Improve support for
59600         HP-UX and IRIX 6.
59601
59602 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
59603
59604         * m4/mbswidth.m4: New file.
59605         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
59606
59607 2000-07-15  Jim Meyering  <meyering@lucent.com>
59608
59609         * lib/makepath.c: Include quote.h.
59610         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
59611         corresponding argument in a `quote (...)' call.
59612         Give better diagnostics.
59613
59614         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
59615         (noinst_HEADERS): Add quote.h.
59616
59617         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
59618         from tar's src/misc.c.
59619         * lib/quote.h: New file.  Prototypes for same.
59620
59621 2000-07-14  Paul Eggert  <eggert@twinsun.com>
59622
59623         From a suggestion by Bruno Haible.
59624         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
59625         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
59626         to decide whether to define the BeOS workaround macro;
59627         this adjusts to the change to AC_MBSTATE_T.
59628
59629 2000-07-14  Jim Meyering  <meyering@lucent.com>
59630
59631         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
59632         jm_AC_TYPE_UINTMAX_T.
59633
59634 2000-07-13  Paul Eggert  <eggert@twinsun.com>
59635
59636         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
59637
59638         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
59639         quotearg_buffer_restyled): Add support for
59640         clocale_quoting_style.  Undo previous change to
59641         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
59642         and "{RIGHT QUOTATION MARK}" msgids.
59643
59644 2000-07-10  Paul Eggert  <eggert@twinsun.com>
59645
59646         From a suggestion by Bruno Haible.
59647         * m4/mbstate_t.m4 (AC_MBSTATE_T):
59648         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
59649         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
59650         and mbstate_t, to a single-part test that simply defines mbstate_t.
59651         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
59652         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
59653
59654 2000-07-10  Jim Meyering  <meyering@lucent.com>
59655
59656         * m4/strerror_r.m4: Mirror the correction made in autoconf.
59657
59658         * m4/gnu-source.m4: Output to confdefs.h directly.
59659         Suggestion from Akim Demaille.
59660
59661 2000-07-09  Paul Eggert  <eggert@twinsun.com>
59662
59663         The old behavior of quoting `like this' doesn't look good with
59664         newer, ISO-style fonts.  See:
59665         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
59666
59667         Instead, quote "like this" by default.  Let the translator
59668         tailor the locale-specific quoting behavior by providing
59669         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
59670
59671         * lib/quotearg.c (N_): New macro.
59672         (gettext_default): New function.
59673         (quotearg_buffer_restyled): Use
59674         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
59675         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
59676
59677 2000-07-09  Jim Meyering  <meyering@lucent.com>
59678
59679         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
59680         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
59681
59682         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
59683         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
59684
59685 2000-07-09  Jim Meyering  <meyering@lucent.com>
59686
59687         * lib/Most files: Update copyright dates to include 2000.
59688
59689 2000-07-08  Jim Meyering  <meyering@lucent.com>
59690
59691         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
59692         if not defined.
59693         (xgethostname): Remove now-unnecessary #ifdef.
59694         Move declaration of `err' into loop where it's used.
59695
59696 2000-07-05  Paul Eggert  <eggert@twinsun.com>
59697         and Bruno Haible  <haible@clisp.cons.org>
59698
59699         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
59700         only if the test for an object-type mbstate_t fails.  This
59701         prevents us from mistakenly reporting that mbstate_t is a
59702         system object type after we "#define mbstate_t int" to work
59703         around its lack.
59704
59705 2000-07-05  Paul Eggert  <eggert@twinsun.com>
59706         and Bruno Haible  <haible@clisp.cons.org>
59707
59708         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
59709
59710 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
59711
59712         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
59713         to strerror_r.
59714         Include <ctype.h> for use of isalpha.
59715
59716 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
59717
59718         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
59719         by allocating a larger buffer. Test the gethostname return value for
59720         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
59721         returns an error and ENAMETOOLONG isn't defined.
59722
59723 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
59724
59725         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
59726         dimension.
59727
59728 2000-07-04  Jim Meyering  <meyering@lucent.com>
59729
59730         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
59731         of the deprecated AC_CHECKING.
59732
59733 2000-07-04  Jim Meyering  <meyering@lucent.com>
59734
59735         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
59736         Reported by Bruno Haible.
59737
59738 2000-07-04  Jim Meyering  <meyering@lucent.com>
59739
59740         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
59741         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
59742         lacks mbrtowc.
59743
59744 2000-07-03  Paul Eggert  <eggert@twinsun.com>
59745
59746         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
59747         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
59748
59749 2000-07-03  Paul Eggert  <eggert@twinsun.com>
59750         and Bruno Haible  <haible@clisp.cons.org>
59751
59752         * lib/quotearg.c (mbrtowc):
59753         Assign to *pwc, and return 1 only if result is nonzero.
59754         (iswprint): Use ISPRINT when substituting our own mbrtowc.
59755
59756 2000-07-03  Jim Meyering  <meyering@lucent.com>
59757
59758         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
59759
59760 2000-07-03  Jim Meyering  <meyering@lucent.com>
59761
59762         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
59763         This is necessary to get a definition of e.g., UTMP_FILE on
59764         HP-UX 10.20.
59765         From Bob Proulx.
59766
59767 2000-07-02  Jim Meyering  <meyering@lucent.com>
59768
59769         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
59770
59771         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
59772         AC_LIBOBJ(function_name).
59773         * m4/chown.m4: Likewise.
59774         * m4/fnmatch.m4: Likewise.
59775         * m4/ftruncate.m4: Likewise.
59776         * m4/getgroups.m4: Likewise.
59777         * m4/getline.m4: Likewise.
59778         * m4/group-member.m4: Likewise.
59779         * m4/jm-macros.m4: Likewise.
59780         * m4/lstat.m4: Likewise.
59781         * m4/malloc.m4: Likewise.
59782         * m4/memcmp.m4: Likewise.
59783         * m4/nanosleep.m4: Likewise.
59784         * m4/putenv.m4: Likewise.
59785         * m4/realloc.m4: Likewise.
59786         * m4/regex.m4: Likewise.
59787         * m4/stat.m4: Likewise.
59788         * m4/strftime.m4: Likewise.
59789
59790 2000-07-02  Jim Meyering  <meyering@lucent.com>
59791
59792         * lib/quotearg.c (mbstate_t): Don't define here.
59793
59794 2000-07-02  Jim Meyering  <meyering@lucent.com>
59795
59796         * lib/nanosleep.c (SIGCONT): Define if not already defined.
59797
59798 2000-07-01  Jim Meyering  <meyering@lucent.com>
59799
59800         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
59801
59802 2000-07-01  Jim Meyering  <meyering@lucent.com>
59803
59804         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
59805         problem.
59806
59807 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
59808
59809         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
59810         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
59811
59812 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
59813
59814         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
59815         per change in ../m4/ls-mntd-fs.m4.
59816         (read_filesystem_list): Ignore symbolic links.
59817
59818 2000-06-29  Jim Meyering  <meyering@lucent.com>
59819
59820         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
59821         for declaration of strcmp.
59822
59823         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
59824
59825         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
59826         Avoid warning by casting result to `char *' to remove `const'.
59827
59828 2000-06-28  Jim Meyering  <meyering@lucent.com>
59829
59830         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
59831         included by quotearg.c, for which we perform this test.  From
59832         Bruno Haible.
59833
59834 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
59835
59836         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
59837         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
59838         <utmpx.h> exists, put readutmp.o into LIBOBJS.
59839
59840 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
59841
59842         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
59843
59844 2000-06-26  Paul Eggert  <eggert@twinsun.com>
59845
59846         savedir now sets errno on failure and invokes xmalloc to get memory.
59847         Fix a couple of other minor bugs while we're at it.
59848
59849         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
59850         (NAMLEN): Remove macro.
59851         (malloc, realloc): Remove decls.
59852         (stpcpy): Likewise.
59853         ("xalloc.h"): Include.
59854         (NAME_SIZE_DEFAULT): New macro.
59855         (savedir): Use xmalloc / xrealloc to allocate memory.
59856         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
59857         Skip "" directory entries.
59858         Use strlen to calculate directory entry length, since the old method
59859         is rarely used these days and isn't worth supporting.
59860         Don't use a pointer after freeing it.
59861         Check for integer overflow when calculating allocation size.
59862         Use memcpy to copy entries, instead of stpcpy.
59863         Set errno properly when returning NULL.
59864         Check for readdir error.
59865
59866 2000-06-26  Jim Meyering  <meyering@lucent.com>
59867
59868         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
59869
59870 2000-06-25  Jim Meyering  <meyering@lucent.com>
59871
59872         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
59873         Linux header bug when _XOPEN_SOURCE is defined to 500.
59874
59875 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
59876
59877         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
59878         deficiency.
59879
59880 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
59881
59882         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
59883         Include xalloc.h.
59884         Don't include <stdlib.h>.  Don't declare malloc, realloc.
59885
59886 2000-06-24  Jim Meyering  <meyering@lucent.com>
59887
59888         * m4/strerror_r.m4: Revive this file -- to try out an experimental
59889         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
59890         for which strerror does return char*, but which lacks a conveniently
59891         accessible declaration of the function.  If the compile-test says
59892         strerror_r doesn't work, then resort to a `run'-test that works on
59893         BeOS and segfaults on DEC Unix.
59894
59895 2000-06-24  Jim Meyering  <meyering@lucent.com>
59896
59897         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
59898
59899 2000-06-23  Paul Eggert  <eggert@twinsun.com>
59900
59901         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
59902         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
59903
59904 2000-06-23  Paul Eggert  <eggert@twinsun.com>
59905
59906         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
59907         (mbrtowc, mbstate_t): Define substitutes if
59908         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
59909         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
59910         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
59911
59912 2000-06-23  Jim Meyering  <meyering@lucent.com>
59913
59914         * m4/afs.m4: Add missing AC_MSG_RESULT.
59915         Reported by Bruno Haible.
59916
59917         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
59918         Suggestion from Bruno Haible.
59919
59920 2000-06-23  Jim Meyering  <meyering@lucent.com>
59921
59922         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
59923
59924 2000-06-21  Jim Meyering  <meyering@lucent.com>
59925
59926         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
59927
59928 2000-06-21  Jim Meyering  <meyering@lucent.com>
59929
59930         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
59931         (noinst_HEADERS): Add getstr.h.
59932
59933         * lib/getline.c (getstr): Move into a separate file.
59934         * lib/getstr.c (getstr): New file, extracted from getline.c, with
59935         the following changes: new parameter, delim2; both delim[12]
59936         parameters have type `int', not `char'.  The latter would lose
59937         with 8-bit delimiters.
59938         * lib/getstr.h: New file.
59939
59940 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
59941
59942         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
59943         than 1024, return a memory chunk of least possible size, instead
59944         of size PATH_MAX + 2. In the loop, increment the size proportionally.
59945         Use free/xmalloc instead of xrealloc to avoid copying for very long
59946         paths.
59947
59948 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
59949
59950         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
59951         the empty string.
59952
59953 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
59954
59955         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
59956         address, not strdup.  Include <stdlib.h> and don't declare free().
59957
59958 2000-06-19  Jim Meyering  <meyering@lucent.com>
59959
59960         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
59961
59962 2000-06-18  Jim Meyering  <meyering@lucent.com>
59963
59964         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
59965
59966         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
59967         `checking whether...' message to be consistent with that of the
59968         lstat test.
59969
59970 2000-06-18  Jim Meyering  <meyering@lucent.com>
59971
59972         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
59973         Besides, these days every porting target provides a mkdir function.
59974
59975         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
59976         needed. (this snippet comes from src/system.h).
59977
59978 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
59979
59980         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
59981
59982 2000-06-15  Paul Eggert  <eggert@twinsun.com>
59983
59984         * lib/human.c (adjust_value): New function.
59985         (human_readable_inexact): Apply rounding style even when
59986         printing approximate values.
59987
59988 2000-06-14  Paul Eggert  <eggert@twinsun.com>
59989
59990         * lib/human.c (human_readable_inexact): Allow an input block
59991         size that is not a multiple of the output block size, and vice versa.
59992         Reported by Piergiorgio Sartor.
59993
59994 2000-06-14  Paul Eggert  <eggert@twinsun.com>
59995
59996         * lib/getdate.y (get_date): Apply relative times after time
59997         zone indicator, not before.  Reported by Todd A. Jacobs.
59998
59999 2000-06-13  Jim Meyering  <meyering@lucent.com>
60000
60001         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
60002
60003         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
60004
60005 2000-06-12  Paul Eggert  <eggert@twinsun.com>
60006
60007         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
60008
60009 2000-06-12  Jim Meyering  <meyering@lucent.com>
60010
60011         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
60012         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
60013         optional argument.
60014         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
60015         the optional argument, `lib'.
60016
60017 2000-06-08  Jim Meyering  <meyering@lucent.com>
60018
60019         * m4/largefile.m4: Remove file (now that it's part of autoconf).
60020
60021 2000-06-04  Paul Eggert  <eggert@twinsun.com>
60022
60023         Rewrite largefile configuration so that we don't need to run
60024         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
60025         AC_CANONICAL_HOST in configure.in -- jmm]
60026
60027         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
60028         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
60029         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
60030         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
60031         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
60032         All uses changed.
60033         Instead of inspecting the output of getconf, try to compile the
60034         test program without and with the macro definition.
60035         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
60036         for getconf.  Instead, check for the needed flags by compiling
60037         test programs.
60038
60039 2000-06-04  Paul Eggert  <eggert@twinsun.com>
60040
60041         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
60042
60043 2000-06-04  Jim Meyering  <meyering@lucent.com>
60044
60045         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
60046         SunOS 4.1.4 for which gid_t is an unsigned type.
60047
60048 2000-06-03  Jim Meyering  <meyering@lucent.com>
60049
60050         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
60051         now that autoconf requires that.
60052
60053         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
60054         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
60055         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
60056
60057 2000-06-03  Jim Meyering  <meyering@lucent.com>
60058
60059         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
60060
60061 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
60062
60063         * m4/glibc21.m4: New file.
60064         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
60065
60066 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
60067
60068         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
60069         newer, don't install charset.alias.
60070         * lib/config.charset: Change the Linux/glibc rules so they become empty
60071         on glibc-2.1 or newer.
60072
60073 2000-06-02  Jim Meyering  <meyering@lucent.com>
60074
60075         * lib/mountlist.c: Back out last change.  Instead, do this...
60076         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
60077         me_dummy member using the same `ignore'-testing code.
60078         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
60079         fs_type strings.
60080         From Mark D. Roth.
60081
60082 2000-05-29  Jim Meyering  <meyering@lucent.com>
60083
60084         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
60085         mounts with the `ignore' attribute.  Based on a patch from
60086         Mark D. Roth.
60087
60088 2000-05-28  Jim Meyering  <meyering@lucent.com>
60089
60090         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
60091         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
60092         * m4/stat.m4: Likewise.
60093         * m4/lstat.m4: Likewise.
60094         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
60095
60096         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
60097         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
60098
60099 2000-05-26  Jim Meyering  <meyering@lucent.com>
60100
60101         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
60102
60103 2000-05-24  Jim Meyering  <meyering@lucent.com>
60104
60105         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
60106         autoconf requires that.
60107         * m4/lib-check.m4: Likewise.
60108         * m4/jm-macros.m4: Likewise.
60109         * m4/strftime.m4: Likewise.
60110
60111         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
60112         AC_CHECK_DECLS, now that autoconf requires that.
60113
60114 2000-05-22  Jim Meyering  <meyering@lucent.com>
60115
60116         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
60117         * m4/lstat.m4: Likewise.
60118
60119 2000-05-22  Jim Meyering  <meyering@lucent.com>
60120
60121         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
60122
60123 2000-05-20  Jim Meyering  <meyering@lucent.com>
60124
60125         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
60126         (jm_PREREQ): Use it.
60127
60128 2000-05-18  Jim Meyering  <meyering@lucent.com>
60129
60130         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
60131         back, too, since it may have been modified by allocate_entry.
60132         (hash_delete): Rewrite to use neither the assignment operator
60133         nor the comma operator in an if-expression.
60134
60135 2000-05-15  Paul Eggert  <eggert@twinsun.com>
60136
60137         * lib/closeout.c:
60138         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
60139         Remove; no longer needed.
60140         "quotearg.h": Add include.
60141         (file_name): Do not bother to explicitly initialize to NULL; it's less
60142         efficient on some hosts.
60143         (close_stdout_status): Remove test as to whether stdout was already
60144         closed; it breaks for the case "echo x | sort >&-".
60145         Quote file name colons.
60146         Do not assume that _("write error") lacks format strings.
60147
60148 2000-05-15  Jim Meyering  <meyering@lucent.com>
60149
60150         * lib/version-etc.c (version_etc_copyright): Update the copyright
60151         string used in all --version output.
60152
60153 2000-05-14  Jim Meyering  <meyering@lucent.com>
60154
60155         * lib/closeout.c (close_stdout_set_file_name): New function.
60156         (close_stdout_status): Use new file-scoped global.
60157         Return right away if fstat says the stdout file descriptor is invalid.
60158         * lib/closeout.h (close_stdout_set_file_name): Declare.
60159
60160 2000-05-10  Jim Meyering  <meyering@lucent.com>
60161
60162         * lib/closeout.c [default_exit_status]: New file-scoped variable.
60163         (close_stdout_set_status): New function.
60164         * lib/closeout.h (close_stdout_set_status): Declare.
60165
60166 2000-05-09  Jim Meyering  <meyering@lucent.com>
60167
60168         * m4/gettext.m4: Rename this...
60169         * m4/libintl.m4: ...to this.
60170
60171 2000-05-08  Jim Meyering  <meyering@lucent.com>
60172
60173         * lib/long-options.c: Don't include closeout.h.
60174         (parse_long_options): Don't call close_stdout for --version.
60175
60176 2000-05-06  Paul Eggert  <eggert@twinsun.com>
60177
60178         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
60179         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
60180         2.1.3 bug.  This avoids a clash when files like regex.c define
60181         _GNU_SOURCE.
60182
60183 2000-05-06  Jim Meyering  <meyering@lucent.com>
60184
60185         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
60186         (AC_REPLACE_FUNCS): Add strnlen.
60187
60188         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
60189         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
60190
60191         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
60192         AC_SEARCH_LIBS call for nanosleep.
60193         (LIB_NANOSLEEP): Set and AC_SUBST.
60194
60195 2000-05-06  Jim Meyering  <meyering@lucent.com>
60196
60197         * lib/strnlen.c: Undefine __strnlen and strnlen.
60198         [!weak_alias]: Define __strnlen to strnlen.
60199
60200         * lib/atexit.c: New file, from libiberty.
60201
60202 2000-05-06  Jim Meyering  <meyering@lucent.com>
60203
60204         * lib/closeout.c (close_stdout_status): Also check for errors on the
60205         stderr stream.
60206
60207 2000-05-05  Jim Meyering  <meyering@lucent.com>
60208
60209         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
60210         AC_SEARCH_LIBS call for clock_gettime.
60211         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
60212
60213         * m4/search-libs.m4: Update from autoconf.
60214
60215         su doesn't work on Solaris 2.6.
60216         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
60217         <shadow.h>.  Reported by Dragos Harabor.
60218
60219 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
60220
60221         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
60222         memcpy instead of xmalloc, xrealloc, path_concat.
60223         (locale_charset): Treat empty environment variables as absent.
60224         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
60225
60226 2000-05-04  Jim Meyering  <meyering@lucent.com>
60227
60228         * lib/getopt.c: Update from glibc.
60229         * lib/obstack.c: Likewise.
60230         * lib/obstack.h: Likewise.
60231         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
60232         file
60233
60234         * lib/regex.h: Likewise.
60235         * lib/strndup.c: Likewise.
60236         * lib/strnlen.c: New file, from glibc.
60237
60238 2000-05-03  Jim Meyering  <meyering@lucent.com>
60239
60240         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
60241
60242 2000-05-02  Paul Eggert  <eggert@twinsun.com>
60243
60244         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
60245         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
60246         compile-time test, rather than inspecting host and OS, to
60247         decide whether to define _LARGEFILE_SOURCE.
60248
60249 2000-05-01  Jim Meyering  <meyering@lucent.com>
60250
60251         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
60252
60253         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
60254         Based on a patch from Bruno Haible.
60255
60256 2000-05-01  Jim Meyering  <meyering@lucent.com>
60257
60258         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
60259
60260 2000-04-29  Jim Meyering  <meyering@lucent.com>
60261
60262         * lib/path-concat.c: Declare strdup only if it's not defined.
60263         * lib/canon-host.c: Likewise.
60264
60265 2000-04-28  Jim Meyering  <meyering@lucent.com>
60266
60267         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
60268         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
60269         is included first, then limits.h is included by locale.h by libintl.h.
60270         From John David Anglin.
60271
60272 2000-04-25  Jim Meyering  <meyering@lucent.com>
60273
60274         * lib/makepath.c (S_IRWXUGO): Define.
60275         (make_path): Always perform explicit chmod if MODE specifies any
60276         of the `special' permission bits.  Prompted by a bug report against
60277         install from Mate Wierdl and Joost van Baal.
60278
60279 2000-04-18  Jim Meyering  <meyering@lucent.com>
60280
60281         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
60282         (jm_PREREQ): Use it.
60283
60284 2000-04-18  Jim Meyering  <meyering@lucent.com>
60285
60286         * lib/README: New file.
60287
60288         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
60289         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
60290
60291 2000-04-17  Jim Meyering  <meyering@lucent.com>
60292
60293         Get it right :-)
60294         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
60295         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
60296         Suggestion from Akim Demaille.
60297
60298 2000-04-17  Jim Meyering  <meyering@lucent.com>
60299
60300         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
60301         the definition of it to rpl_strftime also defined-away the system's
60302         declaration.
60303
60304 2000-04-15  Jim Meyering  <meyering@lucent.com>
60305
60306         Use `C' to denote so-called `contiguous' files, the same way
60307         that tar does.
60308         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
60309         (ftypelet): Use S_ISCTG.
60310         From Michael Deutschmann.
60311
60312 2000-04-14  Jim Meyering  <meyering@lucent.com>
60313
60314         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
60315         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
60316         clobbered.
60317
60318 2000-04-14  Jim Meyering  <meyering@lucent.com>
60319
60320         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
60321
60322 2000-04-13  Jim Meyering  <meyering@lucent.com>
60323
60324         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
60325         AH_VERBATIM to insert required #ifndef into config.h.in.
60326         Suggestion from Akim Demaille.
60327
60328 2000-04-12  Jim Meyering  <meyering@lucent.com>
60329
60330         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
60331         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
60332         Christian Krackowizer.
60333
60334         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
60335         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
60336         (AC_SYS_LARGEFILE): Require.
60337         (AM_C_PROTOTYPES): Require.
60338
60339 2000-04-08  Jim Meyering  <meyering@lucent.com>
60340
60341         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
60342         names don't conflict.  Reported by Eli Zaretskii.
60343
60344 2000-04-07  Jim Meyering  <meyering@lucent.com>
60345
60346         * lib/putenv.c: Move inclusion of errno.h so it follows that of
60347         sys/types.h, to work around system header problems on AIX 3.2.5.
60348         From Bruno Haible.
60349
60350 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
60351
60352         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
60353         bug.  Deal with the different error behavior of Irix iconv.
60354
60355 2000-04-05  Paul Eggert  <eggert@twinsun.com>
60356
60357         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
60358         IRIX if the installer said otherwise.
60359
60360 2000-04-05  Jim Meyering  <meyering@lucent.com>
60361
60362         Portability tweaks required for ultrix4.3.
60363         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
60364         (jm_CHECK_DECLS): Add getutent to the list of functions.
60365         (_jm_DECL_HEADERS): Add utmpx.h.
60366         From John David Anglin.
60367
60368         * m4/strftime.m4: Back out the 2000-04-02 change.
60369         Instead of that change, simply undefine putenv in the test program.
60370
60371 2000-04-05  Jim Meyering  <meyering@lucent.com>
60372
60373         Portability tweaks required for ultrix4.3.
60374         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
60375         getutent.
60376         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
60377         * lib/canon-host.c: Declare strdup.
60378         * lib/path-concat.c: Likewise.
60379         From John David Anglin.
60380
60381 2000-04-04  Jim Meyering  <meyering@lucent.com>
60382
60383         Be more DOS 8.3-friendly.
60384         * lib/ref-add.sin: Renamed from ref-add.sed.in.
60385         * lib/ref-del.sin: Renamed from ref-del.sed.in.
60386         * lib/Makefile.am: Reflect renaming.
60387         Reported by Eli Zaretskii.
60388
60389         Use a temporary file name that won't clash with `charset.alias'
60390         in the DOS 8.3 name space.
60391         * lib/Makefile.am (charset_tmp): Define.
60392         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
60393         (uninstall-local): Likewise.
60394         Reported by Eli Zaretskii.
60395
60396 2000-04-03  Jim Meyering  <meyering@lucent.com>
60397
60398         * m4/gettext.m4: Fix typo in comment.
60399
60400         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
60401         textutils/configure.in).  Suggestion from Paul Eggert.
60402         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
60403
60404 2000-04-02  Paul Eggert  <eggert@twinsun.com>
60405
60406         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
60407         variable in the shell rather than using putenv, which isn't
60408         portable.  This avoids the configure-time inter-test dependency
60409         on the potentially-renamed putenv function.
60410
60411 2000-03-30  Paul Eggert  <eggert@twinsun.com>
60412
60413         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
60414         before checking struct stat.st_blksize, so that
60415         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
60416
60417 2000-03-29  Paul Eggert  <eggert@twinsun.com>
60418
60419         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
60420         since strftime.c uses HAVE_STRFTIME to decide whether to use
60421         the underlying strftime.
60422
60423 2000-03-29  Paul Eggert  <eggert@twinsun.com>
60424
60425         * lib/time/strftime.c (my_strftime): Make sure we call the system
60426         strftime, not ourselves, when invoking the underlying strftime.
60427
60428 2000-03-24  Jim Meyering  <meyering@lucent.com>
60429
60430         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
60431         (charset_alias): Define.
60432         (install-exec-local): Factor out common code.
60433         (uninstall-local): Split lines longer than 80.
60434         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
60435         (SUFFIXES): Define.
60436         (.sed.in.sed): New rule.  Don't redirect directly to $@.
60437         (CLEANFILES): Add ref-add.sed and ref-del.sed.
60438
60439 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
60440
60441         * lib/config.charset: Output a line containing "Packages using this
60442         file".
60443         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
60444         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
60445         ref-del.sed): New rules.
60446
60447 2000-03-17  Jim Meyering  <meyering@lucent.com>
60448
60449         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
60450         Otherwise, include <strings.h>
60451
60452 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
60453
60454         * lib/unicodeio.c (utf8_wctomb): New function.
60455         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
60456         format instead of in UCS-4 with platform dependent endianness.
60457
60458 2000-03-10  Jim Meyering  <meyering@lucent.com>
60459
60460         * m4/lib-check.m4: Look for getspnam in -lgen, too.
60461         From Marco Franzen.
60462
60463 2000-03-07  Paul Eggert  <eggert@twinsun.com>
60464
60465         * lib/savedir.c (savedir): Work even if directory size is
60466         negative; this can happen with some screwy NFS configurations.
60467
60468 2000-03-06  Jim Meyering  <meyering@lucent.com>
60469
60470         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
60471         if it's NULL (because we ran out of memory).  From Bruno Haible.
60472
60473 2000-03-05  Jim Meyering  <meyering@lucent.com>
60474
60475         * lib/localcharset.c ("path-concat.h"): Include.
60476         (get_charset_aliases): Use path_concat instead of ANSI string
60477         concatenation.
60478
60479         * lib/unicodeio.h (PARAMS): Define.
60480         Use it to guard prototype.
60481
60482 2000-03-04  Jim Meyering  <meyering@lucent.com>
60483
60484         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
60485         for lib/localcharset.c.
60486
60487 2000-03-04  Jim Meyering  <meyering@lucent.com>
60488
60489         * lib/Makefile.am (install-exec-local): Create $(libdir) before
60490         installing into it.
60491         (uninstall-local): Uncomment this rule so `make distcheck' works
60492         once again.
60493
60494         * lib/unicodeio.c (<errno.h>): Include it.
60495         (errno): Declare if not defined.
60496
60497         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
60498
60499         * lib/config.charset: New version, incorporating remarks from a linux
60500         i18n mailing list.  From Bruno Haible.
60501
60502 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
60503
60504         * m4/codeset.m4: New file.
60505         * m4/iconv.m4: New file.
60506         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
60507
60508 2000-03-03  Jim Meyering  <meyering@lucent.com>
60509
60510         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
60511
60512 2000-03-02  Jim Meyering  <meyering@lucent.com>
60513
60514         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
60515         the messages come out on separate lines.
60516
60517         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
60518         rather than jm_CHECK_DECLARATIONS.
60519         * m4/decl.m4: Remove now-unused file.
60520
60521         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
60522         geteuid.
60523
60524 2000-03-02  Jim Meyering  <meyering@lucent.com>
60525
60526         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
60527
60528 2000-03-01  Jim Meyering  <meyering@lucent.com>
60529
60530         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
60531         * lib/unicodeio.c: Likewise.
60532
60533 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
60534
60535         * lib/config.charset: New file.
60536         * lib/localcharset.c: New file.
60537         * lib/unicodeio.h, lib/unicodeio.c: New files.
60538         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
60539         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
60540         (noinst_HEADERS): Add unicodeio.h.
60541         (all-local, install-exec-local, charset.alias): New targets.
60542
60543 2000-02-28  Paul Eggert  <eggert@twinsun.com>
60544
60545         * lib/quotearg.c (ALERT_CHAR): New macro.
60546         (quotearg_buffer_restyled): Use it.
60547
60548 2000-02-27  Jim Meyering  <meyering@lucent.com>
60549
60550         * m4/check-decl.m4: Add getenv to the list.
60551
60552 2000-02-27  Jim Meyering  <meyering@lucent.com>
60553
60554         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
60555         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
60556
60557         * lib/backupfile.c: Guard inclusion of stdlib.h with
60558         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
60559         Declare malloc if needed.
60560
60561         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
60562         `#ifndef HAVE_DECL..'
60563         now that autoconf always defines the HAVE_DECL_ symbols.
60564         * lib/human.c: Likewise.
60565         * lib/same.c: Likewise.
60566         * lib/strtoumax.c: Likewise.
60567
60568         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
60569         declaration check was not run.
60570         * lib/hash.c: Likewise.
60571         * lib/human.c: Likewise.
60572         * lib/same.c: Likewise.
60573         * lib/strtoumax.c: Likewise.
60574
60575         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
60576         `.', then first look up the entire `.'-containing string as a login
60577         name.
60578
60579 2000-02-23  Jim Meyering  <meyering@lucent.com>
60580
60581         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
60582         in place of my hack.
60583
60584 2000-02-18  Paul Eggert  <eggert@twinsun.com>
60585
60586         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
60587         (textint): New typedef.
60588         (parser_control): Member year changed from int to textint.
60589         All uses changed.
60590         (YYSTYPE): Removed; replaced by %union with int and textint members.
60591         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
60592         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
60593         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
60594         (tSNUMBER, tUNUMBER): Now of type <textintval>.
60595         (date, number, to_year): Use width of number in digits, not its value,
60596         to determine whether it's a 2-digit year, or a 2-digit time.
60597         (yylex): Store number of digits of numeric tokens.
60598         Reported by John Kendall.
60599
60600         (parser_control): Changed from struct parser_control to typedef (for
60601         consistency).  All uses changed.
60602
60603         (tID): Removed; not used.
60604         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
60605
60606 2000-02-14  Paul Eggert  <eggert@twinsun.com>
60607
60608         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
60609         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
60610
60611 2000-02-12  Jim Meyering  <meyering@lucent.com>
60612
60613         * lib/userspec.c (ISDIGIT): Define it.
60614         (isdigit): Remove definition.
60615         (is_number): Use ISDIGIT, not isdigit.
60616         <libintl.h>: Include.
60617         (_ and N_): Define.
60618         (parse_user_spec): Mark translatable strings.
60619
60620 2000-02-10  Jim Meyering  <meyering@lucent.com>
60621
60622         With these changes, nanosleep.[ch] are finally enough like the other
60623         lib/* replacement files to compile on a few more losing systems.
60624
60625         * lib/nanosleep.h: Don't include config.h.
60626         Remove prototype from declaration of nanosleep.
60627         (PARAMS): Remove now-unneeded definition.
60628         * lib/nanosleep.c: #undef nanosleep.
60629         (rpl_nanosleep): Rename from nanosleep.
60630
60631 2000-02-10  Jim Meyering  <meyering@lucent.com>
60632
60633         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
60634         gnu_nanosleep to rpl_nanosleep.
60635
60636 2000-02-09  Jim Meyering  <meyering@lucent.com>
60637
60638         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
60639         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
60640
60641 2000-02-08  Akim Demaille  <akim@epita.fr>
60642
60643         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
60644         `[' and `]' and remove uses of `changequote'.
60645         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
60646         (AC_SYS_LARGEFILE): Likewise.
60647         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
60648         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
60649         of changequote.
60650         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
60651         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
60652         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
60653         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
60654
60655 2000-02-05  Jim Meyering  <meyering@lucent.com>
60656
60657         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
60658         Remove explicit use of AC_HEADER_TIME.  It is required by
60659         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
60660         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
60661         in autoconf whereby the expansion of the latter ended up preceding
60662         the expansion of its prerequisite, AC_HEADER_TIME.
60663         Reported by Volker Borchert.
60664
60665 2000-02-03  Jim Meyering  <meyering@lucent.com>
60666
60667         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
60668
60669 2000-02-03  Jim Meyering  <meyering@lucent.com>
60670
60671         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
60672         rather than with `#if HAVE_UTMPNAME'.
60673
60674 2000-02-02  Jim Meyering  <meyering@lucent.com>
60675
60676         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
60677         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
60678         Reported by Eli Zaretskii.
60679
60680 2000-02-01  Jim Meyering  <meyering@lucent.com>
60681
60682         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
60683
60684 2000-01-31  Jim Meyering  <meyering@lucent.com>
60685
60686         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
60687         functions.  Add the time.h and sys/time.h headers along with the
60688         AC_REQUIRE'ment of AC_HEADER_TIME.
60689
60690 2000-01-31  Jim Meyering  <meyering@lucent.com>
60691
60692         * lib/nanosleep.h (nanosleep): Guard declaration with
60693         `#if ! HAVE_DECL_NANOSLEEP'.
60694         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
60695         the declaration in that vendor's sys/timers.h.
60696         Reported by Christian Krackowizer.
60697
60698         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
60699         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
60700         (ISPRINT): Likewise.
60701         Reported by Tom Tromey.
60702
60703 2000-01-30  Jim Meyering  <meyering@lucent.com>
60704
60705         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
60706
60707         * m4/prereq.m4 (utmp_includes): Define.
60708         Check for ut_user and ut_name members in both struct utmpx
60709         and struct utmp.
60710
60711 2000-01-30  Jim Meyering  <meyering@lucent.com>
60712
60713         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
60714         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
60715         header files where only utmpx.ut_user is declared.
60716
60717         * lib/readutmp.h (UT_USER): Define.
60718
60719 2000-01-29  Jim Meyering  <meyering@lucent.com>
60720
60721         * m4/lib-check.m4: New file containing library-related checks from
60722         fileutils and sh-utils (textutils had none).
60723
60724 2000-01-28  Jim Meyering  <meyering@lucent.com>
60725
60726         * m4/perl.m4: Change format of warning message to look more like that
60727         from the missing script.  Suggestion from François Pinard.
60728
60729 2000-01-25  Jim Meyering  <meyering@lucent.com>
60730
60731         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
60732         well as time.h in the compile check.
60733         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
60734         Fix typo in cross-compiling case: s/yes/no/.
60735
60736 2000-01-23  Jim Meyering  <meyering@lucent.com>
60737
60738         * m4/jm-macros.m4: Move df-related tests here from
60739         fileutils/configure.in
60740
60741         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
60742         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
60743
60744         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
60745         s/space/ac_fsusage_space/.
60746         (jm_FILE_SYSTEM_USAGE): Take two parameters.
60747
60748         * m4/ftruncate.m4: New file (derived from part of
60749         fileutils/configure.in).
60750         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
60751         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
60752
60753         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
60754         AC_SUBST these here, rather than just in sh-util/configure.in, so
60755         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
60756         all the same.
60757         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
60758         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
60759         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
60760         (AC_SUBST(POW_LIBM)): Likewise.
60761         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
60762
60763 2000-01-23  Jim Meyering  <meyering@lucent.com>
60764
60765         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
60766         obstack.c.
60767
60768 2000-01-22  Jim Meyering  <meyering@lucent.com>
60769
60770         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
60771
60772         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
60773
60774         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
60775         configure.in
60776         (AC_CHECK_HEADERS): Likewise for sh-utils.
60777         (AC_CHECK_HEADERS): Likewise for textutils.
60778         Merge the three lists of headers.
60779
60780         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
60781         from fileutils' configure.in.
60782
60783         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
60784         code. Moved tests into their own function (_jm_DECL_HEADERS) in
60785         check-decl.m4.
60786
60787         * m4/check-decl.m4: Use #if rather than #ifdef.
60788         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
60789         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
60790         (_jm_DECL_HEADERS): Define new function.
60791         (jm_CHECK_DECLARATIONS): Require it.
60792
60793 2000-01-22  Jim Meyering  <meyering@lucent.com>
60794
60795         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
60796         [! HAVE_DECL_STRTOULL]: Declare strtoull.
60797         Required for some AIX systems.  Reported by Christian Krackowizer.
60798         [TESTING] (main): New function.
60799
60800         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
60801         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
60802         letters.
60803
60804         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
60805         iswprint.
60806
60807         * lib/strverscmp.c (ISDIGIT): Define.
60808         (strverscmp): Use ISDIGIT, not isdigit.
60809
60810 2000-01-19  Jim Meyering  <meyering@lucent.com>
60811
60812         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
60813         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
60814         defines `struct timespec' in <sys/time.h>
60815
60816         * m4/c-bs-a.m4: Remove uses of changequote altogether.
60817         Thanks to Akim for explaining.
60818
60819 2000-01-17  Paul Eggert  <eggert@twinsun.com>
60820
60821         * lib/nanosleep.c (nanosleep):
60822         Don't use SA_INTERRUPT to decide whether to call sigaction, as
60823         POSIX.1 doesn't require SA_INTERRUPT and some systems
60824         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
60825         it's been part of POSIX.1 since day 1 (in 1988).
60826
60827 2000-01-17  Jim Meyering  <meyering@lucent.com>
60828
60829         * lib/interlock: Remove unused file.  Reported by François Pinard.
60830
60831 2000-01-16  Paul Eggert  <eggert@twinsun.com>
60832
60833         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
60834         alert, backslash, formfeed, and vertical tab unnecessarily in
60835         shell quoting style.
60836
60837 2000-01-16  Jim Meyering  <meyering@lucent.com>
60838
60839         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
60840         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
60841         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
60842         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
60843
60844 2000-01-16  Jim Meyering  <meyering@lucent.com>
60845
60846         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
60847         because the latter didn't work.
60848
60849 2000-01-15  Jim Meyering  <meyering@lucent.com>
60850
60851         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
60852         (AC_REPLACE_FUNCS): Add memcpy and memset.
60853         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
60854         Add strpbrk.
60855         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
60856
60857 2000-01-12  Jim Meyering  <meyering@lucent.com>
60858
60859         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
60860         (jm_PREREQ): Use it.
60861         (jm_PREREQ_READUTMP): New macro.
60862         (jm_PREREQ): Use it.
60863
60864 2000-01-11  Paul Eggert  <eggert@twinsun.com>
60865
60866         Quote multibyte characters correctly.
60867         * m4/c-bs-a.m4: New file.
60868         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
60869         (jm_PREREQ): Use it.
60870
60871 2000-01-11  Paul Eggert  <eggert@twinsun.com>
60872
60873         * m4/uintmax_t.m4: Port to autoconf 2.13.
60874
60875 2000-01-08  Jim Meyering  <meyering@ascend.com>
60876
60877         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
60878         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
60879
60880 2000-01-04  Jim Meyering  <meyering@ascend.com>
60881
60882         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
60883         jm_STRUCT_DIRENT_D_TYPE.
60884         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
60885         jm_STRUCT_DIRENT_D_INO.
60886         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
60887         jm_STRUCT_UTIMBUF.
60888         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
60889         renamings.
60890         * m4/utime.m4: Likewise.
60891
60892         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
60893         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
60894
60895 2000-01-03  Paul Eggert  <eggert@twinsun.com>
60896
60897         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
60898         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
60899
60900 2000-01-02  Jim Meyering  <meyering@ascend.com>
60901
60902         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
60903         remember if this is necessary.
60904
60905 1999-12-26  Jim Meyering  <meyering@ascend.com>
60906
60907         * m4/jm-macros.m4: Use it here.
60908         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
60909
60910 1999-12-23  Jim Meyering  <meyering@ascend.com>
60911
60912         * m4/jm-macros.m4: Check for clock_gettime (moved from
60913         fileutils/configure.in)
60914         Check for gettimeofday.
60915
60916 1999-12-20  Jim Meyering  <meyering@ascend.com>
60917
60918         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
60919         autoconf-2.14a-1999-12-20.
60920
60921 1999-12-19  Jim Meyering  <meyering@ascend.com>
60922
60923         * m4/lstat-slash.m4: New file.
60924         * m4/jm-macros.m4: Use the new macro:
60925         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
60926
60927 1999-12-07  Jim Meyering  <meyering@ascend.com>
60928
60929         * m4/perl.m4: Require that File::Compare be available, too.
60930         Too many systems seem to lack it.
60931
60932         * m4/strftime.m4: Add checks for most of the cpp macros tested in
60933         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
60934
60935 1999-11-18  Paul Eggert  <eggert@twinsun.com>
60936
60937         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
60938         problem with the QNX 4.25 shell, which doesn't propagate exit
60939         status of failed commands inside shell assignments.
60940
60941 1999-11-17  Jim Meyering  <meyering@ascend.com>
60942
60943         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
60944
60945 1999-11-07  Jim Meyering  <meyering@ascend.com>
60946
60947         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
60948
60949 1999-11-06  Jim Meyering  <meyering@ascend.com>
60950
60951         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
60952         * m4/jm-macros.m4 (jm_MACROS): Use it here.
60953
60954 1999-11-05  Jim Meyering  <meyering@ascend.com>
60955
60956         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
60957         configure.in of textutils, fileutils, and sh-utils into this one
60958         (shared between those packages) file.
60959         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
60960         AC_STRUCT_ST_BLKSIZE.
60961
60962 1999-11-03  Jim Meyering  <meyering@ascend.com>
60963
60964         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
60965         of AC_CHECK_TYPE checks includes unistd.h.
60966         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
60967         Suggestion from Akim Demaille.
60968
60969 1999-10-30  Jim Meyering  <meyering@ascend.com>
60970
60971         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
60972         m4-quoted string.
60973         * m4/ls-mntd-fs.m4: Likewise.
60974         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
60975         * m4/jm-winsz1.m4: Likewise.
60976
60977         * m4/const.m4: Remove file, since the fix made it into the experimental
60978         version of autoconf.
60979         * m4/mktime.m4: Likewise.
60980
60981         * m4/check-type.m4: Remove file, now that the latest version of
60982         AC_CHECK_TYPE takes a third arg to specify additional #includes.
60983
60984         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
60985         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
60986         AC_CHECK_TYPE.
60987
60988 1999-10-04  Jim Meyering  <meyering@ascend.com>
60989
60990         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
60991
60992 1999-09-22  Paul Eggert  <eggert@twinsun.com>
60993
60994         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
60995         2.95.1 bug with HP-UX 10.20.
60996
60997 1999-09-17  Jim Meyering  <meyering@ascend.com>
60998
60999         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
61000         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
61001         due to missing strdup (against sh-utils-2.0).
61002
61003 1999-08-29  Jim Meyering  <meyering@ascend.com>
61004
61005         * m4/jm-macros.m4: Require jm_BISON.
61006         * m4/bison.m4: New file.
61007
61008 1999-08-17  Paul Eggert  <eggert@twinsun.com>
61009
61010         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
61011         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
61012
61013 1999-08-05  Jim Meyering  <meyering@ascend.com>
61014
61015         * m4/getline.m4: Rename test file from conftestdata to conftest.data
61016         to avoid conflicts with `conftest' on 8+3 filesystems.
61017         Suggestion from Eli Zaretskii.
61018
61019 1999-08-04  Jim Meyering  <meyering@ascend.com>
61020
61021         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
61022         fileutils and sh-utils (textutils's getline test was inadequate).
61023         (AM_FUNC_GETLINE): Run this test.
61024         (AC_CHECK_FUNCS): Check for getdelim.
61025         Reported by Bob Proulx.
61026
61027 1999-08-02  Jim Meyering  <meyering@ascend.com>
61028
61029         * m4/jm-macros.m4: Add a comment.
61030
61031 1999-08-01  Paul Eggert  <eggert@twinsun.com>
61032
61033         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
61034         <inttypes.h> defines strtoumax as a macro (and not as a
61035         function).
61036
61037 1999-08-01  Paul Eggert  <eggert@twinsun.com>
61038
61039         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
61040         that we can shift, multiply and divide unsigned long long
61041         values; Ultrix cc can't do it.
61042
61043 1999-08-01  Paul Eggert  <eggert@twinsun.com>
61044
61045         * m4/mktime.m4: New file, which is a preview of what should appear
61046         in the next public autoconf release.
61047
61048 1999-08-01  Paul Eggert  <eggert@twinsun.com>
61049
61050         * m4/lfs.m4: Remove this file.
61051         * m4/largefile.m4: New file.  It contains the old contents of
61052         lfs.m4, except that all names with prefix AC_LFS have been
61053         changed to use the prefix AC_SYS_LARGEFILE instead, to be
61054         compatible with future autoconf versions.  Also, some minor m4
61055         quoting problems have been fixed.
61056
61057 1999-08-01  Paul Eggert  <eggert@twinsun.com>
61058
61059         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
61060         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
61061         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
61062         and simplify the shell code.
61063
61064 1999-08-01  Jim Meyering  <meyering@ascend.com>
61065
61066         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
61067         m4.
61068
61069 1999-07-20  Jim Meyering  <meyering@ascend.com>
61070
61071         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
61072
61073 1999-07-15  Jim Meyering  <meyering@ascend.com>
61074
61075         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
61076
61077 1999-05-22  Jim Meyering  <meyering@ascend.com>
61078
61079         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
61080
61081 1999-05-20  Jim Meyering  <meyering@ascend.com>
61082
61083         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
61084         Add a colon after each `then' in case $4 is empty.
61085
61086 1999-05-16  Jim Meyering  <meyering@ascend.com>
61087
61088         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
61089
61090 1999-05-10  Jim Meyering  <meyering@ascend.com>
61091
61092         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
61093
61094         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
61095         AC_FUNC_MKTIME.
61096
61097 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
61098
61099         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
61100
61101 1999-05-04  Paul Eggert  <eggert@twinsun.com>
61102
61103         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
61104         not CPPFLAGS, so that linking works correctly in IRIX.
61105
61106 1999-04-30  Paul Eggert  <eggert@twinsun.com>
61107
61108         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
61109
61110 1999-04-20  Paul Eggert  <eggert@twinsun.com>
61111
61112         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
61113         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
61114         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
61115         jm_AC_TYPE_UNSIGNED_LONG_LONG.
61116         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
61117
61118         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
61119
61120 1999-04-20  Jim Meyering  <meyering@ascend.com>
61121
61122         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
61123         AC_REPLACE xstroull if necessary.  From Paul Eggert.
61124         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
61125
61126 1999-04-18  Jim Meyering  <meyering@ascend.com>
61127
61128         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
61129         * m4/jm-macros.m4: Use it.
61130
61131 1999-04-06  Jim Meyering  <meyering@ascend.com>
61132
61133         * m4/strftime.m4: Remove test for %f.
61134
61135 1999-03-29  Jim Meyering  <meyering@ascend.com>
61136
61137         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
61138         superset of the AC_TYPE_* checks in the textutils, fileutils,
61139         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
61140         AC_TYPE_PID_T.
61141
61142 1999-03-28  Jim Meyering  <meyering@ascend.com>
61143
61144         * m4/jm-macros.m4: Define GNU_PACKAGE here.
61145         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
61146         replaced e.g., in the *.sh files of the sh-utils.
61147
61148 1999-03-20  Jim Meyering  <meyering@ascend.com>
61149
61150         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
61151         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
61152         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
61153
61154 1999-03-19  Jim Meyering  <meyering@ascend.com>
61155
61156         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
61157
61158 1999-03-12  Jim Meyering  <meyering@ascend.com>
61159
61160         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
61161
61162 1999-03-07  Jim Meyering  <meyering@ascend.com>
61163
61164         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
61165         declared.
61166
61167 1999-02-17  Jim Meyering  <meyering@ascend.com>
61168
61169         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
61170         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
61171
61172 1999-02-07  Jim Meyering  <meyering@ascend.com>
61173
61174         * m4/group-member.m4: New file -- extracted from sh-utils'
61175         configure.in.
61176
61177         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
61178         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
61179
61180 1999-02-06  Jim Meyering  <meyering@ascend.com>
61181
61182         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
61183         * m4/fnmatch.m4: Likewise.
61184         * m4/getgroups.m4: Likewise.
61185         * m4/lstat.m4: Likewise.
61186         * m4/malloc.m4: Likewise.
61187         * m4/putenv.m4: Likewise.
61188         * m4/realloc.m4: Likewise.
61189         * m4/regex.m4: Likewise.
61190         * m4/stat.m4: Likewise.
61191         * m4/strftime.m4: Likewise.
61192         Suggestion from Alain Magloire.
61193
61194         * m4/chown.m4: Use `.$ac_objext', not `.o'.
61195         * m4/fnmatch.m4: Likewise.
61196         * m4/getgroups.m4: Likewise.
61197         * m4/getline.m4: Likewise.
61198         * m4/lstat.m4: Likewise.
61199         * m4/malloc.m4: Likewise.
61200         * m4/memcmp.m4: Likewise.
61201         * m4/putenv.m4: Likewise.
61202         * m4/realloc.m4: Likewise.
61203         * m4/regex.m4: Likewise.
61204         * m4/stat.m4: Likewise.
61205         * m4/strftime.m4: Likewise.
61206         Suggestion from Alain Magloire.
61207
61208         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
61209         an argument.
61210
61211         * m4/regex.m4: Add a run-time Test for proper operation of
61212         re_compile_pattern.
61213
61214 1999-01-31  Jim Meyering  <meyering@ascend.com>
61215
61216         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
61217
61218 1999-01-30  Jim Meyering  <meyering@ascend.com>
61219
61220         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
61221
61222         * m4/jm-mktime.m4: Make this a wrapper around the official
61223         AM_FUNC_MKTIME rather than my private copy, now that the official one
61224         is up to date.
61225         * m4/mktime.m4: Remove file.
61226
61227         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
61228         * m4/uptime.m4: Likewise.
61229         * m4/uintmax_t.m4: Likewise.
61230
61231 1999-01-28  Jim Meyering  <meyering@ascend.com>
61232
61233         * m4/jm-macros.m4: Use jm_AFS.
61234         * m4/afs.m4: New file (from fileutils' configure.in).
61235
61236         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
61237         * m4/chown.m4: Likewise.
61238         * m4/d-ino.m4: Likewise.
61239         * m4/d-type.m4: Likewise.
61240         * m4/fnmatch.m4: Likewise.
61241         * m4/getgroups.m4: Likewise.
61242         * m4/gettext.m4: Likewise.
61243         * m4/jm-mktime.m4: Likewise.
61244         * m4/jm-winsz2.m4: Likewise.
61245         * m4/lcmessage.m4: Likewise.
61246         * m4/ls-mntd-fs.m4: Likewise.
61247         * m4/malloc.m4: Likewise.
61248         * m4/memcmp.m4: Likewise.
61249         * m4/putenv.m4: Likewise.
61250         * m4/realloc.m4: Likewise.
61251         * m4/st_mtim.m4: Likewise.
61252         * m4/strftime.m4: Likewise.
61253
61254 1999-01-16  Jim Meyering  <meyering@ascend.com>
61255
61256         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
61257         (ARGMATCH_DIE_DECL): Define.
61258
61259 1999-01-12  Jim Meyering  <meyering@ascend.com>
61260
61261         * m4/Makefile.am.in: Rewrite to avoid using fmt.
61262         Reported by Lars Hecking.
61263
61264 1999-01-10  Jim Meyering  <meyering@ascend.com>
61265
61266         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
61267         gross kludge.
61268         * m4/inttypes_h.m4: Likewise.
61269         * m4/lstat.m4: Likewise.
61270         * m4/malloc.m4: Likewise.
61271         * m4/readdir.m4: Likewise.
61272         * m4/realloc.m4: Likewise.
61273         * m4/st_dm_mode.m4: Likewise.
61274         * m4/stat.m4: Likewise.
61275         * m4/utimbuf.m4: Likewise.
61276         * m4/utimes.m4: Likewise.
61277
61278         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
61279         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
61280         comments in config.h.in are meaningful.
61281
61282         * m4/jm-macros.m4: Require autoconf-2.13 here.
61283
61284         * m4/regex.m4: By default, don't use the included regex.c on systems
61285         with glibc 2.  Suggestion from Uli Drepper.
61286
61287 1999-01-02  Jim Meyering  <meyering@ascend.com>
61288
61289         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
61290
61291 1998-12-18  Jim Meyering  <meyering@ascend.com>
61292
61293         * m4/Makefile.am.in (Makefile.am): Simplify rule.
61294         Based on a suggestion from Lars Hecking.
61295
61296 1998-11-16  Paul Eggert  <eggert@twinsun.com>
61297
61298         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
61299
61300 1998-11-16  Jim Meyering  <meyering@ascend.com>
61301
61302         * m4/lfs.m4: Double-quote the `uname...` expression.
61303
61304 1998-11-14  Jim Meyering  <meyering@ascend.com>
61305
61306         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
61307         * m4/stat.m4: Likewise.
61308
61309 1998-11-03  Jim Meyering  <meyering@ascend.com>
61310
61311         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
61312         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
61313
61314 1998-10-18  Jim Meyering  <meyering@ascend.com>
61315
61316         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
61317
61318 1998-10-17  Jim Meyering  <meyering@ascend.com>
61319
61320         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
61321         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
61322         calls for those previously hard-coded headers.  Instead, take a new
61323         parameter.
61324         (jm_CHECK_DECLARATIONS): Reflect interface change.
61325         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
61326         (jm_CHECK_DECL_LOCALTIME_R): New macro.
61327
61328         * m4/mktime.m4: Test for spring-forward gap before long-running test.
61329
61330 1998-10-14  Jim Meyering  <meyering@ascend.com>
61331
61332         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
61333         instead of "TZ=America/Vancouver".  From Paul Eggert.
61334
61335 1998-10-11  Jim Meyering  <meyering@ascend.com>
61336
61337         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
61338         This adds a test for a recently added compatibility fix for mktime.c.
61339         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
61340
61341 1998-09-27  Jim Meyering  <meyering@ascend.com>
61342
61343         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
61344
61345         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
61346         ../configure.in, including a change from Gordon Matzigkeit to allow
61347         cross-compiling for the Hurd.
61348
61349         * m4/glibc.m4: New file/macro to test for the GNU C Library
61350         versions 1 and 2.  From Gordon Matzigkeit.
61351         Indent.
61352
61353 1998-09-21  Jim Meyering  <meyering@ascend.com>
61354
61355         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
61356
61357 1998-08-18  Paul Eggert  <eggert@twinsun.com>
61358
61359         Port nanosecond-resolution times to UnixWare 2.1.2 and
61360         pedantic Solaris 2.6.
61361
61362         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
61363         AC_STRUCT_ST_MTIM.
61364         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
61365         Generate name of ns member, instead of just 1 or undef.
61366         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
61367
61368 1998-08-15  Jim Meyering  <meyering@ascend.com>
61369
61370         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
61371         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
61372         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
61373         instead of jm_TYPE_SSIZE_T.
61374
61375 1998-08-12  Jim Meyering  <meyering@ascend.com>
61376
61377         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
61378
61379 1998-08-02  Jim Meyering  <meyering@ascend.com>
61380
61381         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
61382         in acconfig.h manually.
61383
61384 1998-07-31  Paul Eggert  <eggert@twinsun.com>
61385
61386         * m4/st_mtim.m4: New file.
61387
61388 1998-07-28  Jim Meyering  <meyering@ascend.com>
61389
61390         * m4/utimes.m4: Undef stat.
61391
61392 1998-07-25  Jim Meyering  <meyering@ascend.com>
61393
61394         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
61395         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
61396
61397 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
61398
61399         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
61400         uid and gid actually remain unchanged.
61401
61402 1998-07-07  Jim Meyering  <meyering@ascend.com>
61403
61404         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
61405
61406 1998-07-04  Jim Meyering  <meyering@ascend.com>
61407
61408         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
61409         to prove that this macro can be used in packages without regex.c.
61410
61411 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
61412
61413         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
61414         is to be used.
61415
61416 1998-07-03  Jim Meyering  <meyering@ascend.com>
61417
61418         * m4/gettext.m4: Add -lintl if it's found to be necessary.
61419
61420         * m4/gettext.m4: New file -- from gettext-0.10.35.
61421         * m4/lcmessage.m4: Likewise.
61422         * m4/progtest.m4: Likewise.
61423
61424         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
61425         * m4/jm-macros.m4: Require the new macro.
61426
61427 1998-06-29  Jim Meyering  <meyering@ascend.com>
61428
61429         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
61430         for the definition of NGROUPS (used in a system header included
61431         by sys/mount.h).
61432
61433 1998-06-28  Jim Meyering  <meyering@ascend.com>
61434
61435         * m4/ls-mntd-fs.m4: New file.
61436         * m4/fstypename.m4: New file.
61437
61438         * m4/jm-macros.m4: Require the new macro.
61439         * m4/jm-glibc-io.m4: New file.
61440
61441 1998-05-19  Jim Meyering  <meyering@ascend.com>
61442
61443         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
61444         * m4/lchown.m4: New file.
61445
61446         * m4/Makefile.am.in: New file.
61447         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
61448
61449 1998-05-14  Jim Meyering  <meyering@ascend.com>
61450
61451         * m4/Makefile.am (EXTRA_DIST): Add them.
61452         * m4/jm-macros.m4: New file.
61453         * m4/utimbuf.m4: New file.
61454
61455 1998-05-12  Jim Meyering  <meyering@ascend.com>
61456
61457         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
61458
61459 1998-05-11  Jim Meyering  <meyering@ascend.com>
61460
61461         * m4/isc-posix.m4: New file.
61462
61463 1998-05-10  Jim Meyering  <meyering@ascend.com>
61464
61465         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
61466
61467 1998-05-09  Jim Meyering  <meyering@ascend.com>
61468
61469         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
61470         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
61471         with automake.
61472
61473         * m4/ssize_t.m4: New file.
61474         * m4/mktime.m4: Remove file -- the new automake has this now.
61475
61476 1998-04-26  Jim Meyering  <meyering@ascend.com>
61477
61478         * m4/assert.m4: New file.
61479         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
61480
61481 1998-04-05  Jim Meyering  <meyering@ascend.com>
61482
61483         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
61484         (jm_PREREQ): Use it here.
61485
61486 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
61487
61488         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
61489         in acconfig.h.
61490
61491 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
61492
61493         * m4/prereq.m4: New file.
61494         * m4/error.m4: New file.
61495         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
61496
61497 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
61498
61499         * m4/getline.m4: Don't set am_cv_func_working_getline before the
61500         cache-check for the same variable -- that defeated the purpose of
61501         the test; the test program was never run.  This was a problem only
61502         on systems with losing getline functions -- HP-UX 10.20 is one.
61503         Reported by Bjorn Helgaas.
61504
61505 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
61506
61507         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
61508
61509 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
61510
61511         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
61512
61513         * m4/const.m4: New file.  Use an initializer in this declaration
61514         typedef int charset[2]; const charset x;
61515         Reported by Bob Glickstein.
61516
61517 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
61518
61519         * m4/chown.m4: Fix reversed types on -1 args to chown.
61520         From Kaveh Ghazi.
61521
61522 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
61523
61524         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
61525         Add lseek and memchr.
61526
61527         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
61528         T.E.Dickey <dickey@clark.net> said that some older preprocessors
61529         have a 20-character limit on names.
61530
61531 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
61532
61533         * m4/inttypes_h.m4: New file.
61534         * m4/uintmax_t.m4: New file.
61535         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
61536
61537
61538         -----
61539
61540         Local Variables:
61541         coding: utf-8
61542         End:
61543
61544         Copyright (C) 1997-2010 Free Software Foundation, Inc.
61545
61546         Copying and distribution of this file, with or without
61547         modification, are permitted provided the copyright notice
61548         and this notice are preserved.